On Fri 16-10-20 15:11:17, Michal Hocko wrote: > On Fri 16-10-20 14:37:08, osalvador@xxxxxxx wrote: > > On 2020-10-16 14:31, Michal Hocko wrote: > > > I do not like the fix though. The code is really confusing. Why should > > > we check for flags in each iteration of the loop when it cannot change? > > > Also why should we take the ptl lock in the first place when the look is > > > broken out immediately? > > > > About checking the flags: > > > > https://lore.kernel.org/linux-mm/20190320081643.3c4m5tec5vx653sn@xxxxxxxxxxxx/#t > > This didn't really help. Maybe the code was different back then but > right now the code doesn't make much sense TBH. The only reason to check > inside the loop would be to have a completely unpopulated address range. > Note about MPOL_MF_STRICT is not checked explicitly and I do not see how > it makes any difference. Ohh, I have missed queue_pages_required. Let me think some more. -- Michal Hocko SUSE Labs