On Tue, Oct 20, 2020 at 2:06 AM SeongJae Park <sjpark@xxxxxxxxxx> wrote: > > From: SeongJae Park <sjpark@xxxxxxxxx> > > Concurrent Idle Page Tracking users can interfere each other because the > interface doesn't provide a central rule for synchronization between the > users. Users could implement their own synchronization rule, but even > in that case, applications developed by different users would not know > how to synchronize with others. To help this situation, this commit > introduces a centralized synchronization infrastructure of Idle Page > Tracking. > > In detail, this commit introduces a mutex lock for Idle Page Tracking, > called 'page_idle_lock'. It is exposed to user space via a new bool > sysfs file, '/sys/kernel/mm/page_idle/lock'. By writing to and reading > from the file, users can hold/release and read status of the mutex. > Writes to the Idle Page Tracking 'bitmap' file fails if the lock is not > held, while reads of the file can be done regardless of the lock status. > > Note that users could still interfere each other if they abuse this > locking rule. Nevertheless, this change will let them notice the rule. > > Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx> I don't think this is allowed. I mean returning to user space with held mutex and other processes can unlock it. I don't think mutex is what you need. Or more importantly is this really an issue?