Hi David, On Mon, 23 Aug 2010, Pekka Enberg wrote: >> > Hows about you add a helper function >> > >> > void *[kmalloc|alloc_page]_retrying_forever_because_i_suck(lots of args) >> > >> > then convert the callsites to use that, then nuke __GFP_NOFAIL? >> >> I'd prefer killing off __GFP_NOFAIL properly :-) On Mon, Aug 23, 2010 at 11:13 PM, David Rientjes <rientjes@xxxxxxxxxx> wrote: > And how is this not done properly if it's not even needed for any of the > allocations in this patchset since the page allocator loops forever for > their orders and context? (This is why we don't need to add __GFP_NOWARN > in its place.) > > This is a cleanup patchset to remove the unnecessary use of __GFP_NOFAIL, > there _are_ GFP_KERNEL | __GFP_NOFAIL allocations that need to be > addressed in phase three. My point is that I don't think Andrew's helper will change all that much. Fixing the actual callers is the hard part and I don't see your patches helping that either. Hiding the looping in filesystem code is only going to make problematic callers harder to find (e.g kmem_alloc() in XFS code). FWIW, I'd just add a nasty WARN_ON in the page allocator and put a big fat "fix your shit" comment on top of it to motivate people to fix their code. Pekka -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html