On Mon, Sep 20, 2021 at 07:34:26PM +0200, Michal Hocko wrote: > The intention and the scope of the patch should be in the changelog. > Your Fixes tag suggests there is a problem to fixed. I guess References would be more appropriate here? I'm not familiar with every subsystem's way of doing things, so I just rolled with Fixes to leave a breadcrumb trail to the original commit implicated in my change. What would you suggest in a case like this for mm patches? > My memory has faded but I suspect it was to make sure that the oom > reaper is not blocking the system wide freezing. The operation mode of > the thread is to wait for oom victims and then do the unmapping without > any blocking. While it can be frozen during the operation I do not > remember that causing any problems and the waiting is exactly the point > when that is obviously safe - hence wait_event_freezable which I believe > is the proper API to use. This isn't clear to me. Kthreads come with PF_NOFREEZE set by default, so the system-wide freezing will already ignore the reaper thread as-is, although it will make that determination from inside freeze_task() and thus freezing_slow_path(), which involves acquiring a lock. You could set PF_FREEZER_SKIP to skip the slowpath evaluation entirely. Furthermore, the use of wait_event_freezable() will make the reaper thread enter try_to_freeze() every time it's woken up. This seems wasteful considering that the reaper thread will never actually freeze. Sultan