Re: [PATCH] [BUGFIX] update mm->owner even if no next owner.
From: Johannes Weiner <hannes@cmpxchg.org>
Date: 2011-06-10 23:54:56
Also in:
lkml
On Fri, Jun 10, 2011 at 02:49:35PM -0700, Hugh Dickins wrote:
On Fri, 10 Jun 2011, KAMEZAWA Hiroyuki wrote:quoted
I think this can be a fix.Sorry, I think not: I've not digested your rationale, but three things stand out: 1. Why has this only just started happening? I may not have run that test on 3.0-rc1, but surely I ran it for hours with 2.6.39; maybe not with khugepaged, but certainly with ksmd. 2. Your hunk below:quoted
- if (!mm_need_new_owner(mm, p)) + if (!mm_need_new_owner(mm, p)) { + rcu_assign_pointer(mm->owner, NULL);is now setting mm->owner to NULL at times when we were sure it did not need updating before (task is not the owner): you're damaging mm->owner. 3. There's a patch from Andrea in 3.0-rc1 which looks very likely to be relevant, 692e0b35427a "mm: thp: optimize memcg charge in khugepaged". I'll try reproducing without that tonight (I crashed in 20 minutes this morning, so it's not too hard).
It looks likely. This change moved the memcg charge out of the mmap_sem read section, which kept the last task of the mm from exiting: do_exit exit_mm mmput khugepaged_exit down_write(&mm->mmap_sem); up_write(&mm->mmap_sem); -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>