From: Amit Pundir <amit.pundir@linaro.org> To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Cc: Christoph Hellwig <hch@lst.de>, Marek Szyprowski <m.szyprowski@samsung.com>, Robin Murphy <robin.murphy@arm.com>, David Rientjes <rientjes@google.com>, linux-rpi-kernel@lists.infradead.org, jeremy.linton@arm.com, iommu@lists.linux-foundation.org, lkml <linux-kernel@vger.kernel.org>, John Stultz <john.stultz@linaro.org>, Sumit Semwal <sumit.semwal@linaro.org> Subject: Re: [PATCH] dma-pool: Do not allocate pool memory from CMA Date: Fri, 24 Jul 2020 16:36:52 +0530 [thread overview] Message-ID: <CAMi1Hd3O2HHBsnt=sac7FdcW0-3=4S3g_F9f__2h5gTsudfirA@mail.gmail.com> (raw) In-Reply-To: <0dc1e922bf87fa73790e7471b3974528dd261486.camel@suse.de> On Fri, 24 Jul 2020 at 15:06, Nicolas Saenz Julienne <nsaenzjulienne@suse.de> wrote: > > Hi Amit, > > On Thu, 2020-07-23 at 10:44 +0530, Amit Pundir wrote: > > Hi Nicolas, > > > > Sorry I got stuck on other things yesterday. > > No worries :) > > > On Tue, 21 Jul 2020 at 21:57, Nicolas Saenz Julienne > > [...] > > > > > > > Let's get a bigger hammer, I'm just looking for clues here. Can you > > > apply this and provide the dmesg output. > > > > > > diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c > > > index 6bc74a2d5127..2160676bf488 100644 > > > --- a/kernel/dma/pool.c > > > +++ b/kernel/dma/pool.c > > > @@ -268,6 +268,8 @@ void *dma_alloc_from_pool(struct device *dev, size_t size, > > > schedule_work(&atomic_pool_work); > > > } > > > > > > + dev_info(dev, "%s: size %lx, phys addr %llx, flags 0x%x\n", __func__, size, phys, flags); > > > + > > > return ptr; > > > } > > > > I never made it to dma_alloc_from_pool() call from > > dma_direct_alloc_pages(), dma_should_alloc_from_pool() returns False > > from gfpflags_allow_blocking() block. > > I'm a little sceptical about this. The only way you can get memory from these > pools is through dma_alloc_from_pool(), and given how changes in the pool > initialization affected the phone, it's pretty clear some amount of pool > allocation is happening. Maybe from here iommu_dma_alloc_remap()? I see two paths to dma_alloc_from_pool(), one from dma_direct_alloc_pages() which I mentioned above and 2nd one is thru iommu_dma_alloc(), but the flow doesn't reach up to dma_alloc_from_pool(), and always returns from iommu_dma_alloc_remap(). Regards, Amit Pundir > > Regards, > Nicolas >
WARNING: multiple messages have this Message-ID (diff)
From: Amit Pundir <amit.pundir@linaro.org> To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Cc: lkml <linux-kernel@vger.kernel.org>, jeremy.linton@arm.com, Sumit Semwal <sumit.semwal@linaro.org>, iommu@lists.linux-foundation.org, John Stultz <john.stultz@linaro.org>, linux-rpi-kernel@lists.infradead.org, David Rientjes <rientjes@google.com>, Robin Murphy <robin.murphy@arm.com>, Christoph Hellwig <hch@lst.de> Subject: Re: [PATCH] dma-pool: Do not allocate pool memory from CMA Date: Fri, 24 Jul 2020 16:36:52 +0530 [thread overview] Message-ID: <CAMi1Hd3O2HHBsnt=sac7FdcW0-3=4S3g_F9f__2h5gTsudfirA@mail.gmail.com> (raw) In-Reply-To: <0dc1e922bf87fa73790e7471b3974528dd261486.camel@suse.de> On Fri, 24 Jul 2020 at 15:06, Nicolas Saenz Julienne <nsaenzjulienne@suse.de> wrote: > > Hi Amit, > > On Thu, 2020-07-23 at 10:44 +0530, Amit Pundir wrote: > > Hi Nicolas, > > > > Sorry I got stuck on other things yesterday. > > No worries :) > > > On Tue, 21 Jul 2020 at 21:57, Nicolas Saenz Julienne > > [...] > > > > > > > Let's get a bigger hammer, I'm just looking for clues here. Can you > > > apply this and provide the dmesg output. > > > > > > diff --git a/kernel/dma/pool.c b/kernel/dma/pool.c > > > index 6bc74a2d5127..2160676bf488 100644 > > > --- a/kernel/dma/pool.c > > > +++ b/kernel/dma/pool.c > > > @@ -268,6 +268,8 @@ void *dma_alloc_from_pool(struct device *dev, size_t size, > > > schedule_work(&atomic_pool_work); > > > } > > > > > > + dev_info(dev, "%s: size %lx, phys addr %llx, flags 0x%x\n", __func__, size, phys, flags); > > > + > > > return ptr; > > > } > > > > I never made it to dma_alloc_from_pool() call from > > dma_direct_alloc_pages(), dma_should_alloc_from_pool() returns False > > from gfpflags_allow_blocking() block. > > I'm a little sceptical about this. The only way you can get memory from these > pools is through dma_alloc_from_pool(), and given how changes in the pool > initialization affected the phone, it's pretty clear some amount of pool > allocation is happening. Maybe from here iommu_dma_alloc_remap()? I see two paths to dma_alloc_from_pool(), one from dma_direct_alloc_pages() which I mentioned above and 2nd one is thru iommu_dma_alloc(), but the flow doesn't reach up to dma_alloc_from_pool(), and always returns from iommu_dma_alloc_remap(). Regards, Amit Pundir > > Regards, > Nicolas > _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2020-07-24 11:07 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-08 16:49 [PATCH] dma-pool: Do not allocate pool memory from CMA Nicolas Saenz Julienne 2020-07-08 16:49 ` Nicolas Saenz Julienne 2020-07-08 16:58 ` Christoph Hellwig 2020-07-08 16:58 ` Christoph Hellwig 2020-07-08 23:14 ` Jeremy Linton 2020-07-08 23:14 ` Jeremy Linton 2020-07-09 21:47 ` David Rientjes 2020-07-09 21:47 ` David Rientjes via iommu 2020-07-21 7:21 ` Amit Pundir 2020-07-21 7:21 ` Amit Pundir 2020-07-21 8:39 ` Nicolas Saenz Julienne 2020-07-21 8:39 ` Nicolas Saenz Julienne 2020-07-21 8:54 ` Amit Pundir 2020-07-21 8:54 ` Amit Pundir 2020-07-21 11:15 ` Nicolas Saenz Julienne 2020-07-21 11:15 ` Nicolas Saenz Julienne 2020-07-21 11:28 ` Christoph Hellwig 2020-07-21 11:28 ` Christoph Hellwig 2020-07-21 11:37 ` Nicolas Saenz Julienne 2020-07-21 11:37 ` Nicolas Saenz Julienne 2020-07-21 12:16 ` Amit Pundir 2020-07-21 12:16 ` Amit Pundir 2020-07-21 12:15 ` Amit Pundir 2020-07-21 12:15 ` Amit Pundir 2020-07-21 12:45 ` Nicolas Saenz Julienne 2020-07-21 12:45 ` Nicolas Saenz Julienne 2020-07-21 15:22 ` Amit Pundir 2020-07-21 15:22 ` Amit Pundir 2020-07-21 16:27 ` Nicolas Saenz Julienne 2020-07-21 16:27 ` Nicolas Saenz Julienne 2020-07-23 5:14 ` Amit Pundir 2020-07-23 5:14 ` Amit Pundir 2020-07-24 9:36 ` Nicolas Saenz Julienne 2020-07-24 9:36 ` Nicolas Saenz Julienne 2020-07-24 11:06 ` Amit Pundir [this message] 2020-07-24 11:06 ` Amit Pundir 2020-07-24 13:41 ` Christoph Hellwig 2020-07-24 13:41 ` Christoph Hellwig 2020-07-24 16:19 ` Amit Pundir 2020-07-24 16:19 ` Amit Pundir 2020-07-24 16:27 ` Christoph Hellwig 2020-07-24 16:27 ` Christoph Hellwig 2020-07-27 17:56 ` Nicolas Saenz Julienne 2020-07-27 17:56 ` Nicolas Saenz Julienne 2020-07-28 9:13 ` Christoph Hellwig 2020-07-28 9:13 ` Christoph Hellwig 2020-07-28 9:30 ` Nicolas Saenz Julienne 2020-07-28 9:30 ` Nicolas Saenz Julienne 2020-07-28 10:09 ` Christoph Hellwig 2020-07-28 10:09 ` Christoph Hellwig 2020-07-31 1:10 ` Nathan Chancellor 2020-07-31 1:10 ` Nathan Chancellor 2020-07-31 7:19 ` Amit Pundir 2020-07-31 7:19 ` Amit Pundir 2020-07-31 10:09 ` Nicolas Saenz Julienne 2020-07-31 10:09 ` Nicolas Saenz Julienne
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='CAMi1Hd3O2HHBsnt=sac7FdcW0-3=4S3g_F9f__2h5gTsudfirA@mail.gmail.com' \ --to=amit.pundir@linaro.org \ --cc=hch@lst.de \ --cc=iommu@lists.linux-foundation.org \ --cc=jeremy.linton@arm.com \ --cc=john.stultz@linaro.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-rpi-kernel@lists.infradead.org \ --cc=m.szyprowski@samsung.com \ --cc=nsaenzjulienne@suse.de \ --cc=rientjes@google.com \ --cc=robin.murphy@arm.com \ --cc=sumit.semwal@linaro.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.