Re: [linux-next: Tree for Jun 1] __khugepaged_exit rwsem_down_write_failed lockup
flat view
From: Michal Hocko <mhocko@kernel.org>
Date: 2016-06-07 07:34:32
Also in:
linux-mm, lkml
On Fri 03-06-16 17:10:01, Andrea Arcangeli wrote:
Hello Michal, CC'ed Hugh, On Fri, Jun 03, 2016 at 04:46:00PM +0200, Michal Hocko wrote:quoted
What do you think about the external dependencies mentioned above. Do you think this is a sufficient argument wrt. occasional higher latencies?It's a tradeoff and both latencies would be short and uncommon so it's hard to tell. There's also mmput_async for paths that may care about mmput latencies. Exit itself cannot use it, it's mostly for people taking the mm_users pin that may not want to wait for mmput to run. It also shouldn't happen that often, it's a slow path. The whole model inherited from KSM is to deliberately depend only on the mmap_sem + test_exit + mm_count, and never on mm_users, which to me in principle doesn't sound bad.
I do agree that this model is quite clever (albeit convoluted). It just assumes that all other mmap_sem users are behaving the same. Now most in-kernel users will do get_task_mm() and then lock mmap_sem, but I haven't checked all of them and it is quite possible that some of those would like to optimize in a similar way and only increment mm_count. I might be too pessimistic about the out of mm code but I would feel much better if the exit path didn't depend on them. Anyway, if the current model sounds better I will definitely not insist on my patch. It is more of an idea for simplification than a fix for anything I have seen happening in the real life. -- Michal Hocko SUSE Labs