Commit c39ae60d authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

block: remove ARCH_BIOVEC_PHYS_MERGEABLE

Take the Xen check into the core code instead of delegating it to
the architectures.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 20e32676
...@@ -459,9 +459,6 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr); ...@@ -459,9 +459,6 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr);
#include <asm-generic/io.h> #include <asm-generic/io.h>
#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
(!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))
#ifdef CONFIG_MMU #ifdef CONFIG_MMU
#define ARCH_HAS_VALID_PHYS_ADDR_RANGE #define ARCH_HAS_VALID_PHYS_ADDR_RANGE
extern int valid_phys_addr_range(phys_addr_t addr, size_t size); extern int valid_phys_addr_range(phys_addr_t addr, size_t size);
......
...@@ -205,8 +205,5 @@ extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size); ...@@ -205,8 +205,5 @@ extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size);
extern int devmem_is_allowed(unsigned long pfn); extern int devmem_is_allowed(unsigned long pfn);
#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
(!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* __ASM_IO_H */ #endif /* __ASM_IO_H */
...@@ -371,9 +371,6 @@ extern bool is_early_ioremap_ptep(pte_t *ptep); ...@@ -371,9 +371,6 @@ extern bool is_early_ioremap_ptep(pte_t *ptep);
#ifdef CONFIG_XEN #ifdef CONFIG_XEN
#include <xen/xen.h> #include <xen/xen.h>
#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
(!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))
#endif /* CONFIG_XEN */ #endif /* CONFIG_XEN */
#define IO_SPACE_LIMIT 0xffff #define IO_SPACE_LIMIT 0xffff
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <linux/idr.h> #include <linux/idr.h>
#include <linux/blk-mq.h> #include <linux/blk-mq.h>
#include <xen/xen.h>
#include "blk-mq.h" #include "blk-mq.h"
/* Amount of time in which a process may batch requests */ /* Amount of time in which a process may batch requests */
...@@ -149,10 +150,6 @@ static inline void blk_queue_enter_live(struct request_queue *q) ...@@ -149,10 +150,6 @@ static inline void blk_queue_enter_live(struct request_queue *q)
percpu_ref_get(&q->q_usage_counter); percpu_ref_get(&q->q_usage_counter);
} }
#ifndef ARCH_BIOVEC_PHYS_MERGEABLE
#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) true
#endif
static inline bool biovec_phys_mergeable(struct request_queue *q, static inline bool biovec_phys_mergeable(struct request_queue *q,
struct bio_vec *vec1, struct bio_vec *vec2) struct bio_vec *vec1, struct bio_vec *vec2)
{ {
...@@ -162,7 +159,7 @@ static inline bool biovec_phys_mergeable(struct request_queue *q, ...@@ -162,7 +159,7 @@ static inline bool biovec_phys_mergeable(struct request_queue *q,
if (addr1 + vec1->bv_len != addr2) if (addr1 + vec1->bv_len != addr2)
return false; return false;
if (!ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2)) if (xen_domain() && !xen_biovec_phys_mergeable(vec1, vec2))
return false; return false;
if ((addr1 | mask) != ((addr2 + vec2->bv_len - 1) | mask)) if ((addr1 | mask) != ((addr2 + vec2->bv_len - 1) | mask))
return false; return false;
......
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
#include <linux/bio.h> #include <linux/bio.h>
#include <linux/io.h>
#include <linux/export.h> #include <linux/export.h>
#include <xen/xen.h>
#include <xen/page.h> #include <xen/page.h>
bool xen_biovec_phys_mergeable(const struct bio_vec *vec1, bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment