On Sun, Nov 6, 2011 at 9:10 PM, Pekka Enberg <penberg@xxxxxxxxxx> wrote: > On Fri, 28 Oct 2011, Gilad Ben-Yossef wrote: >> > I think if it is up to me, I recommend going the simpler route that >> > does the allocation in flush_all using GFP_ATOMIC for >> > CPUMASK_OFFSTACK=y and sends an IPI to all CPUs if it fails, because >> > it is simpler code and in the end I believe it is also correct. > > On Wed, 2011-11-02 at 03:52 -0500, Christoph Lameter wrote: >> I support that. Pekka? > > Sure. I'm OK with that. Someone needs to run some tests to make sure > it's working with low memory conditions when GFP_ATOMIC allocations > fail, though. I've just used the fault injection framework (which is really cool by the way) to inject an allocation failure for every cpumask alloc in slub.c flush_all in CONFIG_CPUMASK_OFFSTACK=y kernel and then forced each kmem cache to flush by reading sys/kernel/slab/*/alloc_calls and everything seems to be in order. dmesg log shows the fault injection failing the allocation, I get an extra debug trace from the cpumask allocation code and the system keeps chugging along. While at it I did a similar thing for the drain_all_pages of mm/page_alloc.c (running a new version of the code from the previous patch) and forced the drain to be called by running ./hackbench 1000. Here again I saw log reports of the code path being called (from the fault injection framework), allocation failed and save for the debug trace the system continued to work fine (the OOm killer has killed by shell, but that is to be expected). Both of the above with the latest spin of the patch I'll send out soon after some more tests, so it looks good. Thanks! Gilad -- Gilad Ben-Yossef Chief Coffee Drinker gilad@xxxxxxxxxxxxx Israel Cell: +972-52-8260388 US Cell: +1-973-8260388 http://benyossef.com "Unfortunately, cache misses are an equal opportunity pain provider." -- Mike Galbraith, LKML -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href