On Fri, 19 May 2017, Michal Hocko wrote: > On Thu 18-05-17 19:50:46, Junaid Shahid wrote: > > (Adding back the correct linux-mm email address and also adding linux-kernel.) > > > > On Thursday, May 18, 2017 01:41:33 PM David Rientjes wrote: > [...] > > > Let's ask Mikulas, who changed this from PF_MEMALLOC to __GFP_HIGH, > > > assuming there was a reason to do it in the first place in two different > > > ways. > > Hmm, the old PF_MEMALLOC used to have the following comment > /* > * Trying to avoid low memory issues when a device is > * suspended. > */ > > I am not really sure what that means but __GFP_HIGH certainly have a > different semantic than PF_MEMALLOC. The later grants the full access to > the memory reserves while the prior on partial access. If this is _really_ > needed then it deserves a comment explaining why. > -- > Michal Hocko > SUSE Labs Sometimes, I/O to a device mapper device is blocked until the userspace daemon dmeventd does some action (for example, when dm-mirror leg fails, dmeventd needs to mark the leg as failed in the lvm metadata and then reload the device). The dmeventd daemon mlocks itself in memory so that it doesn't generate any I/O. But it must be able to call ioctls. __GFP_HIGH is there so that the ioctls issued by dmeventd have higher chance of succeeding if some I/O is blocked, waiting for dmeventd action. It reduces the possibility of low-memory-deadlock, though it doesn't eliminate it entirely. Mikulas -- 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>