Re: [RFC PATCH 0/9] livepatch: consistency model

Jiri Kosina
2015-02-13T10:14:09Z

On Mon, 9 Feb 2015, Josh Poimboeuf wrote:

> My biggest concerns and questions related to this patch set are:
>
> 1) To safely examine the task stacks, the transition code locks each task's rq
> struct, which requires using the scheduler's internal rq locking functions.
> It seems to work well, but I'm not sure if there's a cleaner way to safely
> do stack checking without stop_machine().

How about we take a slightly different aproach -- put a probe (or ftrace)
on __switch_to() during a klp transition period, and examine stacktraces
for tasks that are just about to start running from there?

The only tasks that would not be covered by this would be purely CPU-bound
tasks that never schedule. But we are likely in trouble with those anyway,
because odds are that non-rescheduling CPU-bound tasks are also
RT-priority tasks running on isolated CPUs, which we will fail to handle
anyway.

I think Masami used similar trick in his kpatch-without-stopmachine
aproach.

--
Jiri Kosina
SUSE Labs