From: Christoph Hellwig <hch@lst.de> To: x86@kernel.org Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Tom Lendacky <thomas.lendacky@amd.com>, David Woodhouse <dwmw2@infradead.org>, Muli Ben-Yehuda <mulix@mulix.org>, Jon Mason <jdmason@kudzu.us>, Joerg Roedel <joro@8bytes.org>, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/14] x86: remove dma_alloc_coherent_gfp_flags Date: Mon, 19 Mar 2018 11:38:21 +0100 [thread overview] Message-ID: <20180319103826.12853-10-hch@lst.de> (raw) In-Reply-To: <20180319103826.12853-1-hch@lst.de> All dma_ops implementations used on x86 now take care of setting their own required GFP_ masks for the allocation. And given that the common code now clears harmful flags itself that means we can stop the flags in all the iommu implementations as well. Signed-off-by: Christoph Hellwig <hch@lst.de> --- arch/x86/include/asm/dma-mapping.h | 11 ----------- arch/x86/kernel/pci-calgary_64.c | 2 -- arch/x86/kernel/pci-dma.c | 2 -- arch/x86/mm/mem_encrypt.c | 7 ------- 4 files changed, 22 deletions(-) diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h index df9816b385eb..89ce4bfd241f 100644 --- a/arch/x86/include/asm/dma-mapping.h +++ b/arch/x86/include/asm/dma-mapping.h @@ -36,15 +36,4 @@ int arch_dma_supported(struct device *dev, u64 mask); bool arch_dma_alloc_attrs(struct device **dev, gfp_t *gfp); #define arch_dma_alloc_attrs arch_dma_alloc_attrs -static inline gfp_t dma_alloc_coherent_gfp_flags(struct device *dev, gfp_t gfp) -{ - if (dev->coherent_dma_mask <= DMA_BIT_MASK(24)) - gfp |= GFP_DMA; -#ifdef CONFIG_X86_64 - if (dev->coherent_dma_mask <= DMA_BIT_MASK(32) && !(gfp & GFP_DMA)) - gfp |= GFP_DMA32; -#endif - return gfp; -} - #endif diff --git a/arch/x86/kernel/pci-calgary_64.c b/arch/x86/kernel/pci-calgary_64.c index 5647853053bd..bbfc8b1e9104 100644 --- a/arch/x86/kernel/pci-calgary_64.c +++ b/arch/x86/kernel/pci-calgary_64.c @@ -446,8 +446,6 @@ static void* calgary_alloc_coherent(struct device *dev, size_t size, npages = size >> PAGE_SHIFT; order = get_order(size); - flag &= ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32); - /* alloc enough pages (and possibly more) */ ret = (void *)__get_free_pages(flag, order); if (!ret) diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c index db0b88ea8d1b..14437116ffea 100644 --- a/arch/x86/kernel/pci-dma.c +++ b/arch/x86/kernel/pci-dma.c @@ -82,8 +82,6 @@ bool arch_dma_alloc_attrs(struct device **dev, gfp_t *gfp) if (!*dev) *dev = &x86_dma_fallback_dev; - *gfp = dma_alloc_coherent_gfp_flags(*dev, *gfp); - if (!is_device_dma_capable(*dev)) return false; return true; diff --git a/arch/x86/mm/mem_encrypt.c b/arch/x86/mm/mem_encrypt.c index 75dc8b525c12..66beedc8fe3d 100644 --- a/arch/x86/mm/mem_encrypt.c +++ b/arch/x86/mm/mem_encrypt.c @@ -208,13 +208,6 @@ static void *sev_alloc(struct device *dev, size_t size, dma_addr_t *dma_handle, void *vaddr = NULL; order = get_order(size); - - /* - * Memory will be memset to zero after marking decrypted, so don't - * bother clearing it before. - */ - gfp &= ~__GFP_ZERO; - page = alloc_pages_node(dev_to_node(dev), gfp, order); if (page) { dma_addr_t addr; -- 2.14.2
WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org> To: x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org Cc: Tom Lendacky <thomas.lendacky-5C7GfCeVMHo@public.gmane.org>, Konrad Rzeszutek Wilk <konrad.wilk-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Muli Ben-Yehuda <mulix-BzGcCpaT2IbYtjvyW6yDsg@public.gmane.org>, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> Subject: [PATCH 09/14] x86: remove dma_alloc_coherent_gfp_flags Date: Mon, 19 Mar 2018 11:38:21 +0100 [thread overview] Message-ID: <20180319103826.12853-10-hch@lst.de> (raw) In-Reply-To: <20180319103826.12853-1-hch-jcswGhMUV9g@public.gmane.org> All dma_ops implementations used on x86 now take care of setting their own required GFP_ masks for the allocation. And given that the common code now clears harmful flags itself that means we can stop the flags in all the iommu implementations as well. Signed-off-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org> --- arch/x86/include/asm/dma-mapping.h | 11 ----------- arch/x86/kernel/pci-calgary_64.c | 2 -- arch/x86/kernel/pci-dma.c | 2 -- arch/x86/mm/mem_encrypt.c | 7 ------- 4 files changed, 22 deletions(-) diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h index df9816b385eb..89ce4bfd241f 100644 --- a/arch/x86/include/asm/dma-mapping.h +++ b/arch/x86/include/asm/dma-mapping.h @@ -36,15 +36,4 @@ int arch_dma_supported(struct device *dev, u64 mask); bool arch_dma_alloc_attrs(struct device **dev, gfp_t *gfp); #define arch_dma_alloc_attrs arch_dma_alloc_attrs -static inline gfp_t dma_alloc_coherent_gfp_flags(struct device *dev, gfp_t gfp) -{ - if (dev->coherent_dma_mask <= DMA_BIT_MASK(24)) - gfp |= GFP_DMA; -#ifdef CONFIG_X86_64 - if (dev->coherent_dma_mask <= DMA_BIT_MASK(32) && !(gfp & GFP_DMA)) - gfp |= GFP_DMA32; -#endif - return gfp; -} - #endif diff --git a/arch/x86/kernel/pci-calgary_64.c b/arch/x86/kernel/pci-calgary_64.c index 5647853053bd..bbfc8b1e9104 100644 --- a/arch/x86/kernel/pci-calgary_64.c +++ b/arch/x86/kernel/pci-calgary_64.c @@ -446,8 +446,6 @@ static void* calgary_alloc_coherent(struct device *dev, size_t size, npages = size >> PAGE_SHIFT; order = get_order(size); - flag &= ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32); - /* alloc enough pages (and possibly more) */ ret = (void *)__get_free_pages(flag, order); if (!ret) diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c index db0b88ea8d1b..14437116ffea 100644 --- a/arch/x86/kernel/pci-dma.c +++ b/arch/x86/kernel/pci-dma.c @@ -82,8 +82,6 @@ bool arch_dma_alloc_attrs(struct device **dev, gfp_t *gfp) if (!*dev) *dev = &x86_dma_fallback_dev; - *gfp = dma_alloc_coherent_gfp_flags(*dev, *gfp); - if (!is_device_dma_capable(*dev)) return false; return true; diff --git a/arch/x86/mm/mem_encrypt.c b/arch/x86/mm/mem_encrypt.c index 75dc8b525c12..66beedc8fe3d 100644 --- a/arch/x86/mm/mem_encrypt.c +++ b/arch/x86/mm/mem_encrypt.c @@ -208,13 +208,6 @@ static void *sev_alloc(struct device *dev, size_t size, dma_addr_t *dma_handle, void *vaddr = NULL; order = get_order(size); - - /* - * Memory will be memset to zero after marking decrypted, so don't - * bother clearing it before. - */ - gfp &= ~__GFP_ZERO; - page = alloc_pages_node(dev_to_node(dev), gfp, order); if (page) { dma_addr_t addr; -- 2.14.2
next prev parent reply other threads:[~2018-03-19 10:41 UTC|newest] Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-03-19 10:38 use generic dma-direct and swiotlb code for x86 V3 Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-19 10:38 ` [PATCH 01/14] x86: remove X86_PPRO_FENCE Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-20 11:04 ` [tip:x86/pti] x86/cpu: Remove the CONFIG_X86_PPRO_FENCE=y quirk tip-bot for Christoph Hellwig 2018-03-20 12:51 ` Peter Zijlstra 2018-03-19 10:38 ` [PATCH 02/14] x86: remove dma_alloc_coherent_mask Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-23 19:48 ` [tip:x86/dma] x86/dma: Remove dma_alloc_coherent_mask() tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 03/14] x86: use dma-direct Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-23 19:49 ` [tip:x86/dma] x86/dma: Use DMA-direct (CONFIG_DMA_DIRECT_OPS=y) tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 04/14] x86: use generic swiotlb_ops Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-23 19:49 ` [tip:x86/dma] x86/dma: Use " tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 05/14] x86/amd_gart: look at coherent_dma_mask instead of GFP_DMA Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-23 19:50 ` [tip:x86/dma] x86/dma/amd_gart: Look at dev->coherent_dma_mask " tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 06/14] x86/amd_gart: use dma_direct_{alloc,free} Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-23 19:50 ` [tip:x86/dma] x86/dma/amd_gart: Use dma_direct_{alloc,free}() tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 07/14] iommu/amd_iommu: use dma_direct_{alloc,free} Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-23 19:51 ` [tip:x86/dma] iommu/amd_iommu: Use CONFIG_DMA_DIRECT_OPS=y and dma_direct_{alloc,free}() tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 08/14] iommu/intel-iommu: cleanup intel_{alloc,free}_coherent Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-23 19:51 ` [tip:x86/dma] iommu/intel-iommu: Enable CONFIG_DMA_DIRECT_OPS=y and clean up intel_{alloc,free}_coherent() tip-bot for Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig [this message] 2018-03-19 10:38 ` [PATCH 09/14] x86: remove dma_alloc_coherent_gfp_flags Christoph Hellwig 2018-03-23 19:52 ` [tip:x86/dma] x86/dma: Remove dma_alloc_coherent_gfp_flags() tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 10/14] set_memory.h: provide set_memory_{en,de}crypted stubs Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-19 14:21 ` Tom Lendacky 2018-03-19 14:21 ` Tom Lendacky 2018-03-23 19:52 ` [tip:x86/dma] set_memory.h: Provide set_memory_{en,de}crypted() stubs tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 11/14] swiotlb: remove swiotlb_set_mem_attributes Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-19 14:41 ` Tom Lendacky 2018-03-19 14:41 ` Tom Lendacky 2018-03-23 19:52 ` [tip:x86/dma] dma/swiotlb: Remove swiotlb_set_mem_attributes() tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 12/14] dma-direct: handle the memory encryption bit in common code Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-19 14:50 ` Tom Lendacky 2018-03-19 14:50 ` Tom Lendacky 2018-03-19 15:19 ` Robin Murphy 2018-03-19 15:19 ` Robin Murphy 2018-03-19 15:24 ` Christoph Hellwig 2018-03-19 15:24 ` Christoph Hellwig 2018-03-19 15:37 ` Robin Murphy 2018-03-19 15:37 ` Robin Murphy 2018-03-19 15:48 ` Will Deacon 2018-03-19 15:48 ` Will Deacon 2018-03-19 16:03 ` Christoph Hellwig 2018-03-19 16:03 ` Christoph Hellwig 2018-03-19 16:55 ` Will Deacon 2018-03-19 16:55 ` Will Deacon 2018-03-19 18:01 ` Catalin Marinas 2018-03-19 18:01 ` Catalin Marinas 2018-03-19 19:49 ` Christoph Hellwig 2018-03-19 19:49 ` Christoph Hellwig 2018-03-20 16:23 ` Catalin Marinas 2018-03-20 16:23 ` Catalin Marinas 2018-03-23 19:53 ` [tip:x86/dma] dma/direct: Handle " tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 13/14] dma-direct: handle force decryption for dma coherent buffers " Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-19 14:51 ` Tom Lendacky 2018-03-19 14:51 ` Tom Lendacky 2018-03-23 19:53 ` [tip:x86/dma] dma/direct: Handle force decryption for DMA " tip-bot for Christoph Hellwig 2018-03-19 10:38 ` [PATCH 14/14] swiotlb: remove swiotlb_{alloc,free}_coherent Christoph Hellwig 2018-03-19 10:38 ` Christoph Hellwig 2018-03-23 19:54 ` [tip:x86/dma] dma/swiotlb: Remove swiotlb_{alloc,free}_coherent() tip-bot for Christoph Hellwig 2018-03-19 14:00 ` use generic dma-direct and swiotlb code for x86 V3 Tom Lendacky 2018-03-19 14:00 ` Tom Lendacky 2018-03-19 14:56 ` Thomas Gleixner 2018-03-19 14:56 ` Thomas Gleixner 2018-03-19 15:27 ` Konrad Rzeszutek Wilk 2018-03-19 15:27 ` Konrad Rzeszutek Wilk 2018-03-19 15:28 ` Christoph Hellwig 2018-03-20 8:37 ` Ingo Molnar 2018-03-20 8:37 ` Ingo Molnar 2018-03-20 8:44 ` Christoph Hellwig 2018-03-20 8:44 ` Christoph Hellwig 2018-03-20 9:03 ` Ingo Molnar 2018-03-20 9:03 ` Ingo Molnar [not found] ` <20180320090351.2qnwcsauhodrqxdj-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2018-03-20 11:25 ` Konrad Rzeszutek Wilk 2018-03-20 15:16 ` Christoph Hellwig 2018-03-20 15:16 ` Christoph Hellwig 2018-03-21 14:32 ` Konrad Rzeszutek Wilk 2018-03-21 14:32 ` Konrad Rzeszutek Wilk -- strict thread matches above, loose matches on Subject: below -- 2018-03-14 17:51 use generic dma-direct and swiotlb code for x86 V2 Christoph Hellwig 2018-03-14 17:52 ` [PATCH 09/14] x86: remove dma_alloc_coherent_gfp_flags Christoph Hellwig 2018-03-14 17:52 ` Christoph Hellwig
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=20180319103826.12853-10-hch@lst.de \ --to=hch@lst.de \ --cc=dwmw2@infradead.org \ --cc=iommu@lists.linux-foundation.org \ --cc=jdmason@kudzu.us \ --cc=joro@8bytes.org \ --cc=konrad.wilk@oracle.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mulix@mulix.org \ --cc=thomas.lendacky@amd.com \ --cc=x86@kernel.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.