On Thu 27-12-18 21:31:00, Andrew Morton wrote: > On Thu, 27 Dec 2018 14:11:14 +0300 "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> wrote: > > > On Mon, Dec 24, 2018 at 10:17:31AM +0100, Michal Hocko wrote: > > > On Mon 24-12-18 01:05:57, David Rientjes wrote: > > > [...] > > > > I'm not interested in having a 100 email thread about this when a clear > > > > and simple fix exists that actually doesn't break user code. > > > > > > You are breaking everybody who really wants to query MADV_NOHUGEPAGE > > > status by this flag. Is there anybody doing that? > > > > Yes. > > > > https://github.com/checkpoint-restore/criu/blob/v3.11/criu/proc_parse.c#L143 > > Ugh. So the regression fix causes a regression? Yes. The patch from David will hardcode the nohugepage vm flag if the THP was disabled by the prctl at the time of the snapshot. And if the application later enables THP by the prctl then existing mappings would never get the THP enabled status back. This is the kind of a potential regression I was poiting out earlier when explaining that the patch encodes the logic into the flag exporting and that means that whoever wants to get the raw value of the flag will not be able to do so. Please note that the raw value is exactly what this interface is documented and supposed to export. And as the documentation explains it is implementation specific and anybody to use it should be careful. -- Michal Hocko SUSE Labs