From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
xen-devel@lists.xen.org, linux-block@vger.kernel.org,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
Ming Lei <ming.lei@redhat.com>,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/5] block: remove ARCH_BIOVEC_PHYS_MERGEABLE
Date: Tue, 25 Sep 2018 13:30:08 -0700 [thread overview]
Message-ID: <20180925203009.1838-5-hch@lst.de> (raw)
In-Reply-To: <20180925203009.1838-1-hch@lst.de>
Take the Xen check into the core code instead of delegating it to
the architectures.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
arch/arm/include/asm/io.h | 3 ---
arch/arm64/include/asm/io.h | 3 ---
arch/x86/include/asm/io.h | 3 ---
block/blk.h | 7 ++-----
drivers/xen/biomerge.c | 2 +-
5 files changed, 3 insertions(+), 15 deletions(-)
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index cf5cd88e7289..6ae7674da0d6 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -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);
diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h
index 06119ee511cd..18f6ae6a43f1 100644
--- a/arch/arm64/include/asm/io.h
+++ b/arch/arm64/include/asm/io.h
@@ -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 */
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index abdb501a551d..232d8e9ee8a0 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -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
diff --git a/block/blk.h b/block/blk.h
index 50f74ce60453..58c030f727e9 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -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 */
@@ -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)
{
@@ -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;
diff --git a/drivers/xen/biomerge.c b/drivers/xen/biomerge.c
index 399c4e30f723..f3fbb700f569 100644
--- a/drivers/xen/biomerge.c
+++ b/drivers/xen/biomerge.c
@@ -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,
--
2.19.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2018-09-25 20:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-25 20:30 clean up physical merging helpers Christoph Hellwig
2018-09-25 20:30 ` [PATCH 1/5] arm: remove the unused BIOVEC_MERGEABLE define Christoph Hellwig
2018-09-25 20:30 ` [PATCH 2/5] xen: remove the xen_biovec_phys_mergeable export Christoph Hellwig
2018-09-25 20:30 ` [PATCH 3/5] xen: provide a prototype for xen_biovec_phys_mergeable in xen.h Christoph Hellwig
2018-09-25 20:30 ` Christoph Hellwig [this message]
2018-09-25 20:30 ` [PATCH 5/5] xen: don't include <xen/xen.h> from <asm/io.h> and <asm/dma-mapping.h> Christoph Hellwig
2018-09-26 14:45 ` clean up physical merging helpers Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180925203009.1838-5-hch@lst.de \
--to=hch@lst.de \
--cc=axboe@kernel.dk \
--cc=boris.ostrovsky@oracle.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=ming.lei@redhat.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).