Re: [RFC PATCH v7 17/23] kernel/entry: Add support for core-wide protection of kernel-mode

From: Joel Fernandes
Date: Thu Sep 03 2020 - 16:25:24 EST


On Thu, Sep 3, 2020 at 9:43 AM Dario Faggioli <dfaggioli@xxxxxxxx> wrote:
>
> On Thu, 2020-09-03 at 00:34 -0400, Joel Fernandes wrote:
> > On Wed, Sep 2, 2020 at 12:57 PM Dario Faggioli <dfaggioli@xxxxxxxx>
> > wrote:
> > > 2) protection of the kernel from the other thread running in
> > > userspace
> > > may be achieved in different ways. This is one, sure. ASI will
> > > probably
> > > be another. Hence if/when we'll have both, this and ASI, it would
> > > be
> > > cool to be able to configure the system in such a way that there is
> > > only one active, to avoid paying the price of both! :-)
> >
> > Actually, no. Part of ASI will involve exactly what this patch does -
> > IPI-pausing siblings but ASI does so when they have no choice but to
> > switch away from the "limited kernel" mapping, into the full host
> > kernel mapping. I am not sure if they have yet implemented that part
> > but they do talk of it in [1] and in their pretty LPC slides. It is
> > just that ASI tries to avoid that scenario of kicking all siblings
> > out
> > of guest mode. So, maybe this patch can be a stepping stone to ASI.
> >
> Ah, sure! I mean, it of course depends on how things get mixed
> together, which we still don't know. :-)
>
> I know that ASI wants to do this very same thing some times. I just
> wanted to say that we need/want only one mechanism for doing that, in
> place at any given time.
>
> If that mechanism will be this one, and ASI then uses it (e.g., in a
> scenario where for whatever reason one wants ASI with the kicking but
> not Core Scheduling), then great, I agree, and everything does makes
> sense.

Agreed, with some minor modifications, it should be possible.

> > Why do you feel that ASI on its own offers some magical protection
> > that eliminates the need for this patch?
> >
> I don't. I was just trying to think of different use cases, how they
> mix and match, etc. But as you're suggesting (and as Thomas has shown
> very clearly in another reply to this email), the thing that makes the
> most sense is to have one mechanism for the kicking, used by anyone
> that needs it. :-)

Makes sense. Thanks,

- Joel