Re: [RFC PATCH v1.9 14/14] livepatch: update task universe when exiting kernel

From: Josh Poimboeuf
Date: Thu Apr 14 2016 - 09:39:57 EST


On Thu, Apr 14, 2016 at 10:50:28AM +0200, Miroslav Benes wrote:
> On Thu, 14 Apr 2016, Miroslav Benes wrote:
>
> > On Fri, 25 Mar 2016, Josh Poimboeuf wrote:
> >
> > > Update a tasks's universe when returning from a system call or user
> > > space interrupt, or after handling a signal.
> > >
> > > This greatly increases the chances of a patch operation succeeding. If
> > > a task is I/O bound, it can switch universes when returning from a
> > > system call. If a task is CPU bound, it can switch universes when
> > > returning from an interrupt. If a task is sleeping on a to-be-patched
> > > function, the user can send SIGSTOP and SIGCONT to force it to switch.
> > >
> > > Since the idle "swapper" tasks don't ever exit the kernel, they're
> > > updated from within the idle loop.
> >
> > Well, I am still not familiarized enough with Andy's recent rework of
> > entry stuff, but I think all of this is correct. Maybe I would add
> > a note to the changelog, that since TIF_KLP_NEED_UPDATE is defined 14th
> > bit it is also automatically included in _TIF_ALLWORK_MASKS.
>
> And I forgot to add that I would try to prepare similar thing for s390 and
> maybe powerpc (taking recent development there into account). That's gonna
> be fun :)

Yeah, good point. I've glanced at the entry code for both architectures
and I don't think it'll be too bad, though the devil's in the details.

--
Josh