From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yong Wu Subject: Re: [PATCH v2 1/2] dma/iommu: Add pgsize_bitmap confirmation in __iommu_dma_alloc_pages Date: Mon, 11 Apr 2016 15:40:10 +0800 Message-ID: <1460360410.18251.10.camel@mhfsdcap03> References: <1459146732-15620-1-git-send-email-yong.wu@mediatek.com> <20160329170238.GK6745@arm.com> <20160408130733.GD23750@arm.com> <20160408173002.GJ23750@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Will Deacon , Doug Anderson Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, Arnd Bergmann , Catalin Marinas , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Tomasz Figa , iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Daniel Kurtz , Matthias Brugger , "moderated list:ARM/Mediatek SoC support" , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" , Lucas Stach List-Id: linux-mediatek@lists.infradead.org On Fri, 2016-04-08 at 10:34 -0700, Doug Anderson wrote: > Hi, > > On Fri, Apr 8, 2016 at 10:30 AM, Will Deacon wrote: > >> > Am I barking up the wrong tree? > >> > >> I don't think min_order can be negative. Certainly we could enter the > >> loop with order == 0 and min_order == 0, though. > > > > ... and in that case, PageCompound will be false, and we'll call split_page > > which won't do anything, so we break out. > > > >> > >> Some examples: > >> > >> order = 0, min_order = 0 > >> -> Want alloc_pages _without_ __GFP_NORETRY. OK > >> -> If alloc_pages fails, return NULL. OK > >> -> If alloc pages succeeds, don't need splitting since single page. OK > > > > [...] > > > >> I think those are all right. Did I mess up? You could certainly > >> structure the loop in a different way but you need to make sure you > >> handle all of those cases. If you have an alternate structure that > >> handles all those, let's consider it. > > > > Right, I don't think the code is broken, I just think the !order check is > > confusing and not needed. > > Ah ha! Got it. I didn't dig into split_page() to see that it was a > no-op when "order == 0". I just know that the old code didn't call > split_page() with order == 0 so I assumed that was wise to keep. If > we don't need to keep that then agreed that the "if" test can simply > be removed. :) > > -Doug Hi Will, Doug, Thanks very much for review this patch, and Thanks Robin's work, Currently this one is obsoleted since it's included in [1]. [1]:http://lists.linuxfoundation.org/pipermail/iommu/2016-April/016402.html