Skip to content

Commit

Permalink
block: remove ARCH_BIOVEC_PHYS_MERGEABLE
Browse files Browse the repository at this point in the history
Take the Xen check into the core code instead of delegating it to
the architectures.

Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
Christoph Hellwig authored and axboe committed Sep 26, 2018
1 parent 20e3267 commit c39ae60
Show file tree
Hide file tree
Showing 5 changed files with 3 additions and 15 deletions.
3 changes: 0 additions & 3 deletions arch/arm/include/asm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -459,9 +459,6 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr);

#include <asm-generic/io.h>

#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
(!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))

#ifdef CONFIG_MMU
#define ARCH_HAS_VALID_PHYS_ADDR_RANGE
extern int valid_phys_addr_range(phys_addr_t addr, size_t size);
Expand Down
3 changes: 0 additions & 3 deletions arch/arm64/include/asm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
(!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))

#endif /* __KERNEL__ */
#endif /* __ASM_IO_H */
3 changes: 0 additions & 3 deletions arch/x86/include/asm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -371,9 +371,6 @@ extern bool is_early_ioremap_ptep(pte_t *ptep);

#ifdef CONFIG_XEN
#include <xen/xen.h>

#define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
(!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2))
#endif /* CONFIG_XEN */

#define IO_SPACE_LIMIT 0xffff
Expand Down
7 changes: 2 additions & 5 deletions block/blk.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#include <linux/idr.h>
#include <linux/blk-mq.h>
#include <xen/xen.h>
#include "blk-mq.h"

/* Amount of time in which a process may batch requests */
Expand Down Expand Up @@ -149,10 +150,6 @@ static inline void blk_queue_enter_live(struct request_queue *q)
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,
struct bio_vec *vec1, struct bio_vec *vec2)
{
Expand All @@ -162,7 +159,7 @@ static inline bool biovec_phys_mergeable(struct request_queue *q,

if (addr1 + vec1->bv_len != addr2)
return false;
if (!ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2))
if (xen_domain() && !xen_biovec_phys_mergeable(vec1, vec2))
return false;
if ((addr1 | mask) != ((addr2 + vec2->bv_len - 1) | mask))
return false;
Expand Down
2 changes: 1 addition & 1 deletion drivers/xen/biomerge.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
#include <linux/bio.h>
#include <linux/io.h>
#include <linux/export.h>
#include <xen/xen.h>
#include <xen/page.h>

bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
Expand Down

0 comments on commit c39ae60

Please sign in to comment.