2008-06-06 15:41:19

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH 2/3] sunrpc: have pooled services make NUMA-friendly allocations

On Fri, Jun 06, 2008 at 11:21:45AM -0400, Jeff Layton wrote:
> On Tue, 03 Jun 2008 07:18:02 -0400
> Jeff Layton <[email protected]> wrote:
>
> > Currently, svc_prepare_thread allocates memory using plain kmalloc()
> > and alloc_page() calls, even for threads that are destined to run on
> > different CPUs or NUMA nodes than the current one. Add a function to
> > translate a poolid into a NUMA node, and have svc_prepare_thread and
> > svc_init_buffer allocate memory on those nodes instead.
> >
> > Signed-off-by: Jeff Layton <[email protected]>
> > ---
>
>
> --------[snip]--------
> >
> > - rqstp = kzalloc(sizeof(*rqstp), GFP_KERNEL);
> > + rqstp = kzalloc_node(sizeof(*rqstp), GFP_KERNEL, node);
>
> Bruce,
> It looks like AKPM has taken the kzalloc_node patch into -mm. I'd
> like to have you take this set into your tree at some point, but don't
> want you to have to carry that VM patch too. Would you be amenable to me
> changing the above to something like:
>
> /* FIXME: change to kzalloc_node when/if it makes it to mainline */
> rqstp = kmalloc_node(sizeof(*rqstp), GFP_KERNEL | __GFP_ZERO, node);
>
> ...and then we can make the FIXME change when mainline has the new inline?

I'd rather just take a copy of the patch. Perhaps you see a problem I
don't--but if it's really identical to the patch that'll go into
upstream, then they'll merge trivially and there shouldn't be a problem.

--b.