Re: [RFC PATCH 6/9] livepatch: create per-task consistency model

From: Jiri Kosina
Date: Thu Feb 12 2015 - 07:39:57 EST


On Thu, 12 Feb 2015, Peter Zijlstra wrote:

> > > FWIW, the barriers in klp_update_task_universe() and
> > > klp_set_universe_goal() look like complete crack, and their comments are
> > > seriously deficient.
> >
> > These particular barriers seem correct to me; you basically need to make
> > sure that whenever a thread with TIF_KLP_NEED_UPDATE goes through
> > do_notify_resume(), it sees proper universe number to be converted to.
>
> I'm not seeing how they're going to help with that.
>
> The comment should describe the data race and how the barriers are
> making it not happen.
>
> putting wmb after a store and rmb before a read doesn't avoid the reader
> seeing the old value in any universe I know of.

This is about dependency between klp_universe_goal and TIF_KLP_NEED_UPDATE
in threadinfo flags.

What is confusing here is that threadinfo flags are not set in
klp_set_universe_goal() directly, but in the caller
(klp_start_transition()).

I fully agree with you that this deserves better comment though.

--
Jiri Kosina
SUSE Labs
--
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/