From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Date: Fri, 04 Jan 2019 08:09:10 +0000 Subject: Re: [PATCH 02/15] swiotlb: remove dma_mark_clean Message-Id: <20190104080910.GA15221@lst.de> List-Id: References: <20181207190720.18517-1-hch@lst.de> <20181207190720.18517-3-hch@lst.de> <20190103072356.GA24163@lst.de> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="macroman" Content-Transfer-Encoding: base64 To: Tony Luck Cc: Christoph Hellwig , iommu@lists.linux-foundation.org, Linus Torvalds , Jesper Dangaard Brouer , Tariq Toukan , Ilias Apalodimas , Toke =?iso-8859-1?Q?H=F8iland-J=F8rgensen?= , Robin Murphy , Konrad Rzeszutek Wilk , Fenghua Yu , Marek Szyprowski , Keith Busch , Jonathan Derrick , linux-pci@vger.kernel.org, "linux-ia64@vger.kernel.org" , X86-ML , Linux Kernel Mailing List T25lIG1vcmUgaWZkZWYgdG8gcmVzY3VlLi4KCkJ0dywgZG8geW91IGtub3cgd2h5IHdlIG9ubHkg cGxheSB0aGVzZSBtYXJrIGNsZWFuIGJpdHMgZm9yIHN3aW90bGIKYW5kIG5vdCBmb3IgdGhlIHZh cmlvdXMgaW9tbXVzPwoKQWxzbyBkbyB5b3UgaGF2ZSBhbnkgZ29vZCByZWNlaXBlIHRvIGJ1aWxk IGFuIGlhNjQgY3Jvc3MgY29tcGlsZXIgb24KYSByZWNlbnQgRGViaWFuIHN5c3RlbT8gIFVubGlr ZSBtb3N0IGFyY2hpdGVjdHVyZXMgRGViaWFuIGRvZXNuJ3QgaGF2ZQphIHByZS1idWlsdCBvbmUs IGFuZCB0aGUgc2NyaXB0IGZyb20gdGhlIGtlcm5lbCBiddGWbGRib3QgZG9lc24ndCB3b3JrCmVp dGhlciB1bmZvcnR1bmF0ZWx5LgoKLS0tCkZyb20gM2Y1ZjMyOTdhYTk4OWNmMjdiM2ZlMTBlMmQw MTA0MjIzMzI1NzRiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ2hyaXN0b3BoIEhl bGx3aWcgPGhjaEBsc3QuZGU+CkRhdGU6IEZyaSwgNCBKYW4gMjAxOSAwOTowNjowNSArMDEwMApT dWJqZWN0OiBpYTY0OiBmaXggY29tcGlsZSB3aXRob3V0IHN3aW90bGIKClNvbWUgbm9uLWdlbmVy aWMgaWE2NCBjb25maWdzIGRvbid0IGJ1aWxkIHN3aW90bGIsIGFuZCB0aHVzIHNob3VsZCBub3QK cHVsbCBpbiB0aGUgZ2VuZXJpYyBub24tY29oZXJlbnQgRE1BIGluZnJhc3RydWN0dXJlLgoKRml4 ZXM6IDY4YzYwODM0NWMgKCJzd2lvdGxiOiByZW1vdmUgZG1hX21hcmtfY2xlYW4iKQpSZXBvcnRl ZC1ieTogVG9ueSBMdWNrIDx0b255Lmx1Y2tAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJp c3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KLS0tCiBhcmNoL2lhNjQvS2NvbmZpZyAgIHwgMiAr LQogYXJjaC9pYTY0L21tL2luaXQuYyB8IDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L0tjb25maWcgYi9h cmNoL2lhNjQvS2NvbmZpZwppbmRleCBjY2Q1NmY1ZGY4Y2QuLjhkNzM5NmJkMTc5MCAxMDA2NDQK LS0tIGEvYXJjaC9pYTY0L0tjb25maWcKKysrIGIvYXJjaC9pYTY0L0tjb25maWcKQEAgLTMxLDcg KzMxLDcgQEAgY29uZmlnIElBNjQKIAlzZWxlY3QgSEFWRV9NRU1CTE9DS19OT0RFX01BUAogCXNl bGVjdCBIQVZFX1ZJUlRfQ1BVX0FDQ09VTlRJTkcKIAlzZWxlY3QgQVJDSF9IQVNfRE1BX0NPSEVS RU5UX1RPX1BGTiBpZiBTV0lPVExCCi0Jc2VsZWN0IEFSQ0hfSEFTX1NZTkNfRE1BX0ZPUl9DUFUK KwlzZWxlY3QgQVJDSF9IQVNfU1lOQ19ETUFfRk9SX0NQVSBpZiBTV0lPVExCCiAJc2VsZWN0IFZJ UlRfVE9fQlVTCiAJc2VsZWN0IEFSQ0hfRElTQ0FSRF9NRU1CTE9DSwogCXNlbGVjdCBHRU5FUklD X0lSUV9QUk9CRQpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L21tL2luaXQuYyBiL2FyY2gvaWE2NC9t bS9pbml0LmMKaW5kZXggMDU1MzgyNjIyZjA3Li4yOWQ4NDE1MjVjYTEgMTAwNjQ0Ci0tLSBhL2Fy Y2gvaWE2NC9tbS9pbml0LmMKKysrIGIvYXJjaC9pYTY0L21tL2luaXQuYwpAQCAtNjcsNiArNjcs NyBAQCBfX2lhNjRfc3luY19pY2FjaGVfZGNhY2hlIChwdGVfdCBwdGUpCiAJc2V0X2JpdChQR19h cmNoXzEsICZwYWdlLT5mbGFncyk7CS8qIG1hcmsgcGFnZSBhcyBjbGVhbiAqLwogfQogCisjaWZk ZWYgQ09ORklHX1NXSU9UTEIKIC8qCiAgKiBTaW5jZSBETUEgaXMgaS1jYWNoZSBjb2hlcmVudCwg YW55IChjb21wbGV0ZSkgcGFnZXMgdGhhdCB3ZXJlIHdyaXR0ZW4gdmlhCiAgKiBETUEgY2FuIGJl IG1hcmtlZCBhcyAiY2xlYW4iIHNvIHRoYXQgbGF6eV9tbXVfcHJvdF91cGRhdGUoKSBkb2Vzbid0 IGhhdmUgdG8KQEAgLTgxLDYgKzgyLDcgQEAgdm9pZCBhcmNoX3N5bmNfZG1hX2Zvcl9jcHUoc3Ry dWN0IGRldmljZSAqZGV2LCBwaHlzX2FkZHJfdCBwYWRkciwKIAkJc2V0X2JpdChQR19hcmNoXzEs ICZwZm5fdG9fcGFnZShwZm4pLT5mbGFncyk7CiAJfSB3aGlsZSAoKytwZm4gPD0gUEhZU19QRk4o cGFkZHIgKyBzaXplIC0gMSkpOwogfQorI2VuZGlmCiAKIGlubGluZSB2b2lkCiBpYTY0X3NldF9y YnNfYm90ICh2b2lkKQotLSAKMi4yMC4xCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [PATCH 02/15] swiotlb: remove dma_mark_clean Date: Fri, 4 Jan 2019 09:09:10 +0100 Message-ID: <20190104080910.GA15221@lst.de> References: <20181207190720.18517-1-hch@lst.de> <20181207190720.18517-3-hch@lst.de> <20190103072356.GA24163@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Tony Luck Cc: Christoph Hellwig , iommu@lists.linux-foundation.org, Linus Torvalds , Jesper Dangaard Brouer , Tariq Toukan , Ilias Apalodimas , Toke =?iso-8859-1?Q?H=F8iland-J=F8rgensen?= , Robin Murphy , Konrad Rzeszutek Wilk , Fenghua Yu , Marek Szyprowski , Keith Busch , Jonathan Derrick , linux-pci@vger.kernel.org, "linux-ia64@vger.kernel.org" , X86-ML , Linux Kernel Mailing List List-Id: iommu@lists.linux-foundation.org One more ifdef to rescue.. Btw, do you know why we only play these mark clean bits for swiotlb and not for the various iommus? Also do you have any good receipe to build an ia64 cross compiler on a recent Debian system? Unlike most architectures Debian doesn't have a pre-built one, and the script from the kernel buŃ–ldbot doesn't work either unfortunately. --- >>From 3f5f3297aa989cf27b3fe10e2d010422332574b3 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Fri, 4 Jan 2019 09:06:05 +0100 Subject: ia64: fix compile without swiotlb Some non-generic ia64 configs don't build swiotlb, and thus should not pull in the generic non-coherent DMA infrastructure. Fixes: 68c608345c ("swiotlb: remove dma_mark_clean") Reported-by: Tony Luck Signed-off-by: Christoph Hellwig --- arch/ia64/Kconfig | 2 +- arch/ia64/mm/init.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index ccd56f5df8cd..8d7396bd1790 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -31,7 +31,7 @@ config IA64 select HAVE_MEMBLOCK_NODE_MAP select HAVE_VIRT_CPU_ACCOUNTING select ARCH_HAS_DMA_COHERENT_TO_PFN if SWIOTLB - select ARCH_HAS_SYNC_DMA_FOR_CPU + select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB select VIRT_TO_BUS select ARCH_DISCARD_MEMBLOCK select GENERIC_IRQ_PROBE diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 055382622f07..29d841525ca1 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c @@ -67,6 +67,7 @@ __ia64_sync_icache_dcache (pte_t pte) set_bit(PG_arch_1, &page->flags); /* mark page as clean */ } +#ifdef CONFIG_SWIOTLB /* * Since DMA is i-cache coherent, any (complete) pages that were written via * DMA can be marked as "clean" so that lazy_mmu_prot_update() doesn't have to @@ -81,6 +82,7 @@ void arch_sync_dma_for_cpu(struct device *dev, phys_addr_t paddr, set_bit(PG_arch_1, &pfn_to_page(pfn)->flags); } while (++pfn <= PHYS_PFN(paddr + size - 1)); } +#endif inline void ia64_set_rbs_bot (void) -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED, USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 92257C43387 for ; Fri, 4 Jan 2019 08:09:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6409720665 for ; Fri, 4 Jan 2019 08:09:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726459AbfADIJM (ORCPT ); Fri, 4 Jan 2019 03:09:12 -0500 Received: from verein.lst.de ([213.95.11.211]:38433 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725931AbfADIJM (ORCPT ); Fri, 4 Jan 2019 03:09:12 -0500 Received: by newverein.lst.de (Postfix, from userid 2407) id A853368AFE; Fri, 4 Jan 2019 09:09:10 +0100 (CET) Date: Fri, 4 Jan 2019 09:09:10 +0100 From: Christoph Hellwig To: Tony Luck Cc: Christoph Hellwig , iommu@lists.linux-foundation.org, Linus Torvalds , Jesper Dangaard Brouer , Tariq Toukan , Ilias Apalodimas , Toke =?iso-8859-1?Q?H=F8iland-J=F8rgensen?= , Robin Murphy , Konrad Rzeszutek Wilk , Fenghua Yu , Marek Szyprowski , Keith Busch , Jonathan Derrick , linux-pci@vger.kernel.org, "linux-ia64@vger.kernel.org" , X86-ML , Linux Kernel Mailing List Subject: Re: [PATCH 02/15] swiotlb: remove dma_mark_clean Message-ID: <20190104080910.GA15221@lst.de> References: <20181207190720.18517-1-hch@lst.de> <20181207190720.18517-3-hch@lst.de> <20190103072356.GA24163@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org One more ifdef to rescue.. Btw, do you know why we only play these mark clean bits for swiotlb and not for the various iommus? Also do you have any good receipe to build an ia64 cross compiler on a recent Debian system? Unlike most architectures Debian doesn't have a pre-built one, and the script from the kernel buŃ–ldbot doesn't work either unfortunately. --- >From 3f5f3297aa989cf27b3fe10e2d010422332574b3 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Fri, 4 Jan 2019 09:06:05 +0100 Subject: ia64: fix compile without swiotlb Some non-generic ia64 configs don't build swiotlb, and thus should not pull in the generic non-coherent DMA infrastructure. Fixes: 68c608345c ("swiotlb: remove dma_mark_clean") Reported-by: Tony Luck Signed-off-by: Christoph Hellwig --- arch/ia64/Kconfig | 2 +- arch/ia64/mm/init.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index ccd56f5df8cd..8d7396bd1790 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -31,7 +31,7 @@ config IA64 select HAVE_MEMBLOCK_NODE_MAP select HAVE_VIRT_CPU_ACCOUNTING select ARCH_HAS_DMA_COHERENT_TO_PFN if SWIOTLB - select ARCH_HAS_SYNC_DMA_FOR_CPU + select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB select VIRT_TO_BUS select ARCH_DISCARD_MEMBLOCK select GENERIC_IRQ_PROBE diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 055382622f07..29d841525ca1 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c @@ -67,6 +67,7 @@ __ia64_sync_icache_dcache (pte_t pte) set_bit(PG_arch_1, &page->flags); /* mark page as clean */ } +#ifdef CONFIG_SWIOTLB /* * Since DMA is i-cache coherent, any (complete) pages that were written via * DMA can be marked as "clean" so that lazy_mmu_prot_update() doesn't have to @@ -81,6 +82,7 @@ void arch_sync_dma_for_cpu(struct device *dev, phys_addr_t paddr, set_bit(PG_arch_1, &pfn_to_page(pfn)->flags); } while (++pfn <= PHYS_PFN(paddr + size - 1)); } +#endif inline void ia64_set_rbs_bot (void) -- 2.20.1