From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Christoph Hellwig To: Jens Axboe Cc: Ming Lei , Konrad Rzeszutek Wilk , Boris Ostrovsky , linux-block@vger.kernel.org, xen-devel@lists.xen.org, 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 Message-Id: <20180925203009.1838-5-hch@lst.de> In-Reply-To: <20180925203009.1838-1-hch@lst.de> References: <20180925203009.1838-1-hch@lst.de> MIME-Version: 1.0 List-ID: Take the Xen check into the core code instead of delegating it to the architectures. Signed-off-by: Christoph Hellwig --- 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 -#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 - -#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 #include +#include #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 -#include #include +#include #include bool xen_biovec_phys_mergeable(const struct bio_vec *vec1, -- 2.19.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: hch@lst.de (Christoph Hellwig) Date: Tue, 25 Sep 2018 13:30:08 -0700 Subject: [PATCH 4/5] block: remove ARCH_BIOVEC_PHYS_MERGEABLE In-Reply-To: <20180925203009.1838-1-hch@lst.de> References: <20180925203009.1838-1-hch@lst.de> Message-ID: <20180925203009.1838-5-hch@lst.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Take the Xen check into the core code instead of delegating it to the architectures. Signed-off-by: Christoph Hellwig --- 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 -#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 - -#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 #include +#include #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 -#include #include +#include #include bool xen_biovec_phys_mergeable(const struct bio_vec *vec1, -- 2.19.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: [PATCH 4/5] block: remove ARCH_BIOVEC_PHYS_MERGEABLE Date: Tue, 25 Sep 2018 13:30:08 -0700 Message-ID: <20180925203009.1838-5-hch@lst.de> References: <20180925203009.1838-1-hch@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180925203009.1838-1-hch@lst.de> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jens Axboe Cc: Konrad Rzeszutek Wilk , xen-devel@lists.xen.org, linux-block@vger.kernel.org, Boris Ostrovsky , Ming Lei , linux-arm-kernel@lists.infradead.org List-Id: xen-devel@lists.xenproject.org VGFrZSB0aGUgWGVuIGNoZWNrIGludG8gdGhlIGNvcmUgY29kZSBpbnN0ZWFkIG9mIGRlbGVnYXRp bmcgaXQgdG8KdGhlIGFyY2hpdGVjdHVyZXMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggSGVs bHdpZyA8aGNoQGxzdC5kZT4KLS0tCiBhcmNoL2FybS9pbmNsdWRlL2FzbS9pby5oICAgfCAzIC0t LQogYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9pby5oIHwgMyAtLS0KIGFyY2gveDg2L2luY2x1ZGUv YXNtL2lvLmggICB8IDMgLS0tCiBibG9jay9ibGsuaCAgICAgICAgICAgICAgICAgfCA3ICsrLS0t LS0KIGRyaXZlcnMveGVuL2Jpb21lcmdlLmMgICAgICB8IDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL2FybS9p bmNsdWRlL2FzbS9pby5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vaW8uaAppbmRleCBjZjVjZDg4 ZTcyODkuLjZhZTc2NzRkYTBkNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vaW8u aAorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9pby5oCkBAIC00NTksOSArNDU5LDYgQEAgZXh0 ZXJuIHZvaWQgcGNpX2lvdW5tYXAoc3RydWN0IHBjaV9kZXYgKmRldiwgdm9pZCBfX2lvbWVtICph ZGRyKTsKIAogI2luY2x1ZGUgPGFzbS1nZW5lcmljL2lvLmg+CiAKLSNkZWZpbmUgQVJDSF9CSU9W RUNfUEhZU19NRVJHRUFCTEUodmVjMSwgdmVjMikJCQkJXAotCSAoIXhlbl9kb21haW4oKSB8fCB4 ZW5fYmlvdmVjX3BoeXNfbWVyZ2VhYmxlKHZlYzEsIHZlYzIpKQotCiAjaWZkZWYgQ09ORklHX01N VQogI2RlZmluZSBBUkNIX0hBU19WQUxJRF9QSFlTX0FERFJfUkFOR0UKIGV4dGVybiBpbnQgdmFs aWRfcGh5c19hZGRyX3JhbmdlKHBoeXNfYWRkcl90IGFkZHIsIHNpemVfdCBzaXplKTsKZGlmZiAt LWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vaW8uaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9h c20vaW8uaAppbmRleCAwNjExOWVlNTExY2QuLjE4ZjZhZTZhNDNmMSAxMDA2NDQKLS0tIGEvYXJj aC9hcm02NC9pbmNsdWRlL2FzbS9pby5oCisrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vaW8u aApAQCAtMjA1LDggKzIwNSw1IEBAIGV4dGVybiBpbnQgdmFsaWRfbW1hcF9waHlzX2FkZHJfcmFu Z2UodW5zaWduZWQgbG9uZyBwZm4sIHNpemVfdCBzaXplKTsKIAogZXh0ZXJuIGludCBkZXZtZW1f aXNfYWxsb3dlZCh1bnNpZ25lZCBsb25nIHBmbik7CiAKLSNkZWZpbmUgQVJDSF9CSU9WRUNfUEhZ U19NRVJHRUFCTEUodmVjMSwgdmVjMikJCQkJXAotCSAoIXhlbl9kb21haW4oKSB8fCB4ZW5fYmlv dmVjX3BoeXNfbWVyZ2VhYmxlKHZlYzEsIHZlYzIpKQotCiAjZW5kaWYJLyogX19LRVJORUxfXyAq LwogI2VuZGlmCS8qIF9fQVNNX0lPX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUv YXNtL2lvLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pby5oCmluZGV4IGFiZGI1MDFhNTUxZC4u MjMyZDhlOWVlOGEwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pby5oCisrKyBi L2FyY2gveDg2L2luY2x1ZGUvYXNtL2lvLmgKQEAgLTM3MSw5ICszNzEsNiBAQCBleHRlcm4gYm9v bCBpc19lYXJseV9pb3JlbWFwX3B0ZXAocHRlX3QgKnB0ZXApOwogCiAjaWZkZWYgQ09ORklHX1hF TgogI2luY2x1ZGUgPHhlbi94ZW4uaD4KLQotI2RlZmluZSBBUkNIX0JJT1ZFQ19QSFlTX01FUkdF QUJMRSh2ZWMxLCB2ZWMyKQkJCQlcCi0JICgheGVuX2RvbWFpbigpIHx8IHhlbl9iaW92ZWNfcGh5 c19tZXJnZWFibGUodmVjMSwgdmVjMikpCiAjZW5kaWYJLyogQ09ORklHX1hFTiAqLwogCiAjZGVm aW5lIElPX1NQQUNFX0xJTUlUIDB4ZmZmZgpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLmggYi9ibG9j ay9ibGsuaAppbmRleCA1MGY3NGNlNjA0NTMuLjU4YzAzMGY3MjdlOSAxMDA2NDQKLS0tIGEvYmxv Y2svYmxrLmgKKysrIGIvYmxvY2svYmxrLmgKQEAgLTQsNiArNCw3IEBACiAKICNpbmNsdWRlIDxs aW51eC9pZHIuaD4KICNpbmNsdWRlIDxsaW51eC9ibGstbXEuaD4KKyNpbmNsdWRlIDx4ZW4veGVu Lmg+CiAjaW5jbHVkZSAiYmxrLW1xLmgiCiAKIC8qIEFtb3VudCBvZiB0aW1lIGluIHdoaWNoIGEg cHJvY2VzcyBtYXkgYmF0Y2ggcmVxdWVzdHMgKi8KQEAgLTE0OSwxMCArMTUwLDYgQEAgc3RhdGlj IGlubGluZSB2b2lkIGJsa19xdWV1ZV9lbnRlcl9saXZlKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpx KQogCXBlcmNwdV9yZWZfZ2V0KCZxLT5xX3VzYWdlX2NvdW50ZXIpOwogfQogCi0jaWZuZGVmIEFS Q0hfQklPVkVDX1BIWVNfTUVSR0VBQkxFCi0jZGVmaW5lIEFSQ0hfQklPVkVDX1BIWVNfTUVSR0VB QkxFKHZlYzEsIHZlYzIpIHRydWUKLSNlbmRpZgotCiBzdGF0aWMgaW5saW5lIGJvb2wgYmlvdmVj X3BoeXNfbWVyZ2VhYmxlKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAogCQlzdHJ1Y3QgYmlvX3Zl YyAqdmVjMSwgc3RydWN0IGJpb192ZWMgKnZlYzIpCiB7CkBAIC0xNjIsNyArMTU5LDcgQEAgc3Rh dGljIGlubGluZSBib29sIGJpb3ZlY19waHlzX21lcmdlYWJsZShzdHJ1Y3QgcmVxdWVzdF9xdWV1 ZSAqcSwKIAogCWlmIChhZGRyMSArIHZlYzEtPmJ2X2xlbiAhPSBhZGRyMikKIAkJcmV0dXJuIGZh bHNlOwotCWlmICghQVJDSF9CSU9WRUNfUEhZU19NRVJHRUFCTEUodmVjMSwgdmVjMikpCisJaWYg KHhlbl9kb21haW4oKSAmJiAheGVuX2Jpb3ZlY19waHlzX21lcmdlYWJsZSh2ZWMxLCB2ZWMyKSkK IAkJcmV0dXJuIGZhbHNlOwogCWlmICgoYWRkcjEgfCBtYXNrKSAhPSAoKGFkZHIyICsgdmVjMi0+ YnZfbGVuIC0gMSkgfCBtYXNrKSkKIAkJcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy94ZW4vYmlvbWVyZ2UuYyBiL2RyaXZlcnMveGVuL2Jpb21lcmdlLmMKaW5kZXggMzk5YzRlMzBm NzIzLi5mM2ZiYjcwMGY1NjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2Jpb21lcmdlLmMKKysr IGIvZHJpdmVycy94ZW4vYmlvbWVyZ2UuYwpAQCAtMSw3ICsxLDcgQEAKIC8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wCiAjaW5jbHVkZSA8bGludXgvYmlvLmg+Ci0jaW5jbHVkZSA8 bGludXgvaW8uaD4KICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4KKyNpbmNsdWRlIDx4ZW4veGVu Lmg+CiAjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KIAogYm9vbCB4ZW5fYmlvdmVjX3BoeXNfbWVyZ2Vh YmxlKGNvbnN0IHN0cnVjdCBiaW9fdmVjICp2ZWMxLAotLSAKMi4xOS4wCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==