Re: [patch 02/10] emm: notifier logic

From: Christoph Lameter
Date: Mon Apr 07 2008 - 01:49:09 EST


On Sat, 5 Apr 2008, Andrea Arcangeli wrote:

> > + rcu_assign_pointer(mm->emm_notifier, e);
> > + mm_unlock(mm);
>
> My mm_lock solution makes all rcu serialization an unnecessary
> overhead so you should remove it like I already did in #v11. If it
> wasn't the case, then mm_lock wouldn't be a definitive fix for the
> race.

There still could be junk in the cache of one cpu. If you just read the
new pointer but use the earlier content pointed to then you have a
problem.

So a memory fence / barrier is needed to guarantee that the contents
pointed to are fetched after the pointer.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/