Thread (23 messages) 23 messages, 8 authors, 2011-06-13

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help