Re: [RFC KVM 18/27] kvm/isolation: function to copy page table entries for percpu buffer

From: Andy Lutomirski
Date: Tue May 14 2019 - 16:29:08 EST


On Tue, May 14, 2019 at 10:05 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Tue, May 14, 2019 at 06:24:48PM +0200, Alexandre Chartre wrote:
> > On 5/14/19 5:23 PM, Andy Lutomirski wrote:
>
> > > How important is the ability to enable IRQs while running with the KVM
> > > page tables?
> > >
> >
> > I can't say, I would need to check but we probably need IRQs at least for
> > some timers. Sounds like you would really prefer IRQs to be disabled.
> >
>
> I think what amluto is getting at, is:
>
> again:
> local_irq_disable();
> switch_to_kvm_mm();
> /* do very little -- (A) */
> VMEnter()
>
> /* runs as guest */
>
> /* IRQ happens */
> WMExit()
> /* inspect exit raisin */
> if (/* IRQ pending */) {
> switch_from_kvm_mm();
> local_irq_restore();
> goto again;
> }
>

What I'm getting at is that running the kernel without mapping the
whole kernel is a horrible, horrible thing to do. The less code we
can run like that, the better.