Re: [HPDD-discuss] [PATCH 2/11] Staging: lustre: fld: Use kzalloc and kfree

Greg Kroah-Hartman
2015-05-01T20:58:35Z

On Fri, May 01, 2015 at 08:52:37PM +0000, Drokin, Oleg wrote:
>
> On May 1, 2015, at 4:49 PM, Greg Kroah-Hartman wrote:
>
> > On Fri, May 01, 2015 at 08:36:05PM +0000, Simmons, James A. wrote:
> >>> We are hopefully going to get rid of OBD_ALLOC_LARGE() as well, though.
> >>>
> >>> It's simple enough to write a function:
> >>>
> >>> void *obd_zalloc(size_t size)
> >>> {
> >>> if (size > 4 * PAGE_CACHE_SIZE)
> >>> return vzalloc(size);
> >>> else
> >>> return kmalloc(size, GFP_NOFS);
> >>> }
> >>>
> >>> Except, huh? Shouldn't we be using GFP_NOFS for the vzalloc() side?
> >>> There was some discussion of that GFP_NOFS was a bit buggy back in 2010
> >>> (http://marc.info/?l=linux-mm&m\x128942194520631&w=4) but the current
> >>> lustre code doesn't try to pass GFP_NOFS.
> >>
> >> The version in the upstream client is out of date. The current macro in the Intel master
> >> Branch is:
> >
> > That's not helpful at all, why do we even have an in-kernel version of
> > this code if you don't do your development in the kernel?
> >
> > Please sync with the kernel tree very soon, or I'm just going to delete
> > this whole thing. This is getting _really_ frustrating.
>
> The patch was submitted.
> But it depends on a symbol that's not exported.
> I was not able to change that.
> http://www.spinics.net/lists/linux-mm/msg83997.html

But you were given a hint on how to change that :)

Anyway, I'd recommend switching to what ext4 and xfs does, as you point
out in another email in this thread, it looks a lot better overall.

thanks,

greg k-h