Re: [PATCH] mm/percpu.c: use smarter memory allocation for struct pcpu_alloc_info

From: Nicolas Pitre
Date: Tue Oct 03 2017 - 20:13:43 EST

On Tue, 3 Oct 2017, Dennis Zhou wrote:

> Hi Tejun,
> On Tue, Oct 03, 2017 at 03:36:42PM -0700, Tejun Heo wrote:
> > > Subject: [PATCH] percpu: don't forget to free the temporary struct pcpu_alloc_info
> >
> > So, IIRC, the error path is either boot fail or some serious bug in
> > arch code. It really doesn't matter whether we free a page or not.
> >
> In setup_per_cpu_area, a call to either pcpu_embed_first_chunk,
> pcpu_page_first_chunk, or pcpu_setup_first_chunk is made. The first two
> eventually call pcpu_setup_first_chunk with a pairing call to
> pcpu_free_alloc_info right after. This occurs in all implementations. It
> happens we don't have a pairing call to pcpu_free_alloc_info in the UP
> setup_per_cpu_area.

That was my conclusion too (albeit not stated as clearly) and what my
second patch fixed.