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

Ingo Molnar
2015-02-18T20:18:03Z

* Jiri Kosina <jkosina@suse.cz> wrote:

> On Thu, 12 Feb 2015, Peter Zijlstra wrote:
>
> > And what's wrong with using known good spots like the freezer?
>
> Quoting Tejun from the thread Jiri Slaby likely had on
> mind:
>
> "The fact that they may coincide often can be useful as a
> guideline or whatever but I'm completely against just
> mushing it together when it isn't correct. This kind of
> things quickly lead to ambiguous situations where people
> are not sure about the specific semantics or guarantees
> of the construct and implement weird voodoo code followed
> by voodoo fixes. We already had a full round of that
> with the kernel freezer itself, where people thought that
> the freezer magically makes PM work properly for a
> subsystem. Let's please not do that again."

I don't follow this vague argument.

The concept of 'freezing' all userspace execution is pretty
unambiguous: tasks that are running are trapped out at
known safe points such as context switch points or syscall
entry. Once all tasks have stopped, the system is frozen in
the sense that only the code we want is running, so you can
run special code without worrying about races.

What's the problem with that? Why would it be fundamentally
unsuitable for live patching?

Thanks,

Ingo