From: Laura Abbott <lauraa-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> To: Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org> Cc: Will Deacon <Will.Deacon-5wv7dgnIgG8@public.gmane.org>, Ritesh Harjani <ritesh.harjani-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, David Riley <davidriley-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>, "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" <linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>, "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> Subject: Re: [PATCHv2] arm64: Add atomic pool for non-coherent and CMA allocaitons. Date: Fri, 06 Jun 2014 17:55:22 -0700 [thread overview] Message-ID: <539262FA.8010301@codeaurora.org> (raw) In-Reply-To: <20140605170500.GC27946-5wv7dgnIgG8@public.gmane.org> On 6/5/2014 10:05 AM, Catalin Marinas wrote: > Hi Laura, > > On Mon, Jun 02, 2014 at 09:03:52PM +0100, Laura Abbott wrote: >> Neither CMA nor noncoherent allocations support atomic allocations. >> Add a dedicated atomic pool to support this. > > CMA indeed doesn't support atomic allocations but swiotlb does, the only > problem being the vmap() to create a non-cacheable mapping. Could we not > use the atomic pool only for non-coherent allocations? > CMA needs the atomic pool for both non-coherent and coherent allocations. Perhaps I should update the code so we only create the coherent atomic pool if CMA is used. .... > > I think the safest is to use GFP_DMA as well. Without knowing exactly > what devices will do, what their dma masks are, I think that's a safer > bet. I plan to limit the CMA buffer to ZONE_DMA as well for lack of a > better option. > > BTW, most of this code could be turned into a library, especially if we > don't need to separate coherent/non-coherent pools. Also, a lot of code > is similar to the dma_alloc_from_coherent() implementation (apart from > the ioremap() call in dma_declare_coherent_memory() and per-device pool > rather than global one). > I'm looking into if lib/genalloc.c can be extended for this purpose which should at least stop some of the duplicate bitmap management code. If that doesn't seem to work, I'll pull out what we have into a library. Thanks, Laura -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: lauraa@codeaurora.org (Laura Abbott) To: linux-arm-kernel@lists.infradead.org Subject: [PATCHv2] arm64: Add atomic pool for non-coherent and CMA allocaitons. Date: Fri, 06 Jun 2014 17:55:22 -0700 [thread overview] Message-ID: <539262FA.8010301@codeaurora.org> (raw) In-Reply-To: <20140605170500.GC27946@arm.com> On 6/5/2014 10:05 AM, Catalin Marinas wrote: > Hi Laura, > > On Mon, Jun 02, 2014 at 09:03:52PM +0100, Laura Abbott wrote: >> Neither CMA nor noncoherent allocations support atomic allocations. >> Add a dedicated atomic pool to support this. > > CMA indeed doesn't support atomic allocations but swiotlb does, the only > problem being the vmap() to create a non-cacheable mapping. Could we not > use the atomic pool only for non-coherent allocations? > CMA needs the atomic pool for both non-coherent and coherent allocations. Perhaps I should update the code so we only create the coherent atomic pool if CMA is used. .... > > I think the safest is to use GFP_DMA as well. Without knowing exactly > what devices will do, what their dma masks are, I think that's a safer > bet. I plan to limit the CMA buffer to ZONE_DMA as well for lack of a > better option. > > BTW, most of this code could be turned into a library, especially if we > don't need to separate coherent/non-coherent pools. Also, a lot of code > is similar to the dma_alloc_from_coherent() implementation (apart from > the ioremap() call in dma_declare_coherent_memory() and per-device pool > rather than global one). > I'm looking into if lib/genalloc.c can be extended for this purpose which should at least stop some of the duplicate bitmap management code. If that doesn't seem to work, I'll pull out what we have into a library. Thanks, Laura -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
next prev parent reply other threads:[~2014-06-07 0:55 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-06-02 20:03 [PATCHv2] arm64: Add atomic pool for non-coherent and CMA allocaitons Laura Abbott 2014-06-02 20:03 ` Laura Abbott [not found] ` <1401739432-5358-1-git-send-email-lauraa-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2014-06-03 0:23 ` David Riley 2014-06-03 0:23 ` David Riley 2014-06-03 13:28 ` Will Deacon 2014-06-03 13:28 ` Will Deacon [not found] ` <20140603132842.GI23149-5wv7dgnIgG8@public.gmane.org> 2014-06-04 0:30 ` Laura Abbott 2014-06-04 0:30 ` Laura Abbott [not found] ` <538E689A.3050109-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 2014-06-04 17:59 ` Will Deacon 2014-06-04 17:59 ` Will Deacon 2014-06-05 17:05 ` Catalin Marinas 2014-06-05 17:05 ` Catalin Marinas [not found] ` <20140605170500.GC27946-5wv7dgnIgG8@public.gmane.org> 2014-06-07 0:55 ` Laura Abbott [this message] 2014-06-07 0:55 ` Laura Abbott 2014-06-09 9:27 ` Catalin Marinas 2014-06-09 9:27 ` Catalin Marinas 2014-06-04 16:17 Ritesh Harjani
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=539262FA.8010301@codeaurora.org \ --to=lauraa-sgv2jx0feol9jmxxk+q4oq@public.gmane.org \ --cc=Will.Deacon-5wv7dgnIgG8@public.gmane.org \ --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \ --cc=davidriley-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \ --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \ --cc=ritesh.harjani-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.