2016-03-14 19:23:40

by Andy Lutomirski

[permalink] [raw]
Subject: Re: [PATCH 3/3] x86: context_tracking: avoid irq_save/irq_restore on kernel entry and exit

On Tue, Oct 27, 2015 at 10:22 PM, Andy Lutomirski <[email protected]> wrote:
> On Tue, Oct 27, 2015 at 6:39 PM, Paolo Bonzini <[email protected]> wrote:
>> x86 always calls user_enter and user_exit with interrupt disabled.
>> Therefore, it is not necessary to check for exceptions, nor to
>> save/restore the IRQ state, when context tracking functions are
>> called by guest_enter and guest_exit.
>>
>> Use the previously introduced __context_tracking_entry and
>> __context_tracking_exit.
>
> x86 isn't ready for this yet. We could do a quick-and-dirty fix with
> explicit IRQs-on-and-off much protected by the static key, or we could
> just wait until I finish the syscall cleanup. I favor the latter, but
> you're all welcome to do the former and I'll review it.
>

Once Linus pulls tip:x86/asm, x86 should be ready for this. Want to try again?

--Andy


2016-03-15 08:52:06

by Paolo Bonzini

[permalink] [raw]
Subject: Re: [PATCH 3/3] x86: context_tracking: avoid irq_save/irq_restore on kernel entry and exit



On 14/03/2016 20:23, Andy Lutomirski wrote:
> On Tue, Oct 27, 2015 at 10:22 PM, Andy Lutomirski <[email protected]> wrote:
>> On Tue, Oct 27, 2015 at 6:39 PM, Paolo Bonzini <[email protected]> wrote:
>>> x86 always calls user_enter and user_exit with interrupt disabled.
>>> Therefore, it is not necessary to check for exceptions, nor to
>>> save/restore the IRQ state, when context tracking functions are
>>> called by guest_enter and guest_exit.
>>>
>>> Use the previously introduced __context_tracking_entry and
>>> __context_tracking_exit.
>>
>> x86 isn't ready for this yet. We could do a quick-and-dirty fix with
>> explicit IRQs-on-and-off much protected by the static key, or we could
>> just wait until I finish the syscall cleanup. I favor the latter, but
>> you're all welcome to do the former and I'll review it.
>>
>
> Once Linus pulls tip:x86/asm, x86 should be ready for this. Want to try again?

Yup, it's on my todo list. :)

Paolo