Messages in this thread | | | Date | Thu, 12 Feb 2015 12:56:28 +0100 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH 6/9] livepatch: create per-task consistency model |
| |
On Wed, Feb 11, 2015 at 09:21:21PM -0600, Josh Poimboeuf wrote: > Ingo, Peter, > > Would you have any objections to making task_rq_lock/unlock() non-static > (or moving them to kernel/sched/sched.h) so they can be called by the > livepatch code?
Basically yes. I really don't want to expose that. And kernel/sched/sched.h is very much not intended for use outside of kernel/sched/ so even that is a no go.
> To provide some background, I'm looking for a way to temporarily prevent > a sleeping task from running while its stack is examined, to decide > whether it can be safely switched to the new patching "universe". For > more details see klp_transition_task() in the patch below. > > Using task_rq_lock() is the most straightforward way I could find to > achieve that.
Its not at all clear how all this would work to me. And I'm not motivated enough to go try and reverse engineer your patch; IMO livepatching is utter fail.
If your infrastructure relies on the uptime of a single machine you've lost already.
FWIW, the barriers in klp_update_task_universe() and klp_set_universe_goal() look like complete crack, and their comments are seriously deficient.
| |