Michal Hocko wrote: > On Fri 01-09-17 21:40:07, Tetsuo Handa wrote: > > We are doing the first allocation attempt before calling > > current_gfp_context(). But since slab shrinker functions might depend on > > __GFP_FS and/or __GFP_IO masking, calling slab shrinker functions from > > node_reclaim() from get_page_from_freelist() without calling > > current_gfp_context() has possibility of deadlock. Therefore, make sure > > that the first memory allocation attempt does not call slab shrinker > > functions. > > But we do filter gfp_mask at __node_reclaim layer. Not really ideal from > the readability point of view and maybe it could be cleaned up there > shouldn't be any bug AFAICS. On the other hand we can save few cycles on > the hot path that way and there are people who care about every cycle > there and node reclaim is absolutely the last thing they care about. Ah, indeed. We later do struct scan_control sc = { .gfp_mask = current_gfp_context(gfp_mask), } in __node_reclaim(). OK, there will be no problem. -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>