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

From: Miroslav Benes
Date: Thu Apr 14 2016 - 04:50:36 EST


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 :)

Miroslav