From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Yanfei Date: Thu, 12 Jun 2014 08:31:00 +0000 Subject: Re: [PATCH v2 08/10] mm, cma: clean-up cma allocation error path Message-Id: <53996544.2050401@cn.fujitsu.com> List-Id: References: <1402543307-29800-1-git-send-email-iamjoonsoo.kim@lge.com> <1402543307-29800-9-git-send-email-iamjoonsoo.kim@lge.com> In-Reply-To: <1402543307-29800-9-git-send-email-iamjoonsoo.kim@lge.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Joonsoo Kim Cc: Andrew Morton , "Aneesh Kumar K.V" , Marek Szyprowski , Michal Nazarewicz , Minchan Kim , Russell King - ARM Linux , Greg Kroah-Hartman , Paolo Bonzini , Gleb Natapov , Alexander Graf , Benjamin Herrenschmidt , Paul Mackerras , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org On 06/12/2014 11:21 AM, Joonsoo Kim wrote: > We can remove one call sites for clear_cma_bitmap() if we first > call it before checking error number. > > Signed-off-by: Joonsoo Kim Reviewed-by: Zhang Yanfei > > diff --git a/mm/cma.c b/mm/cma.c > index 1e1b017..01a0713 100644 > --- a/mm/cma.c > +++ b/mm/cma.c > @@ -282,11 +282,12 @@ struct page *cma_alloc(struct cma *cma, int count, unsigned int align) > if (ret = 0) { > page = pfn_to_page(pfn); > break; > - } else if (ret != -EBUSY) { > - clear_cma_bitmap(cma, pfn, count); > - break; > } > + > clear_cma_bitmap(cma, pfn, count); > + if (ret != -EBUSY) > + break; > + > pr_debug("%s(): memory range at %p is busy, retrying\n", > __func__, pfn_to_page(pfn)); > /* try again with a bit different memory target */ > -- Thanks. Zhang Yanfei