Re: [PATCH 3/3] kref: Remove the memory barriers

From: Peter Zijlstra
Date: Mon Dec 12 2011 - 03:57:18 EST


On Mon, 2011-12-12 at 11:48 +0800, Ming Lei wrote:
> > LOCK
> > obj = lookup(); /* lets assume obj != NULL */
> > kref_get(&obj->ref);
> > UNLOCK
> >
> > value = obj->member;
> >
> > kref_put(&obj->ref);
> >
> > Now, under our memory model, the read from obj->member can both happen,
> > or be observed to happen before the increment from kref_get() is
> > processed.
>
> It should be the problem if another CPU observed that write/read obj
> is done before kref_get.

WHY?!?!?!
--
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/