On Thu 19-10-17 13:14:52, Shakeel Butt wrote: > On Thu, Oct 19, 2017 at 1:13 PM, Michal Hocko <mhocko@xxxxxxxxxx> wrote: > > On Thu 19-10-17 12:46:50, Shakeel Butt wrote: > >> > [...] > >> >> > >> >> Sorry for the confusion. I wanted to say that if the pages which are > >> >> being mlocked are on caches of remote cpus then lru_add_drain_all will > >> >> move them to their corresponding LRUs and then remaining functionality > >> >> of mlock will move them again from their evictable LRUs to unevictable > >> >> LRU. > >> > > >> > yes, but the point is that we are draining pages which might be not > >> > directly related to pages which _will_ be mlocked by the syscall. In > >> > fact those will stay on the cache. This is the primary reason why this > >> > draining doesn't make much sense. > >> > > >> > Or am I still misunderstanding what you are saying here? > >> > > >> > >> lru_add_drain_all() will drain everything irrespective if those pages > >> are being mlocked or not. > > > > yes, let me be more specific. lru_add_drain_all will drain everything > > that has been cached at the time mlock is called. And that is not really > > related to the memory which will be faulted in (and cached) and mlocked > > by the syscall itself. Does it make more sense now? > > > > Yes, you are absolutely right. Sorry for the confusion. So I think it would be much better to justify this change by arguing that paying a random overhead for something that doesn't relate to the work to be done is simply wrong. -- Michal Hocko SUSE Labs -- 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>