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

Josh Poimboeuf
2015-02-13T14:19:21Z

On Fri, Feb 13, 2015 at 11:14:01AM +0100, Jiri Kosina wrote:
> 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.

Yeah, that's definitely an option, though I'm really not too crazy about
it. Hooking into the scheduler is kind of scary and disruptive. We'd
also have to wake up all the sleeping processes.

--
Josh