|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/3] x86/pv: Don't use IST for NMI/#MC/#DB in !CONFIG_PV builds
On 20.04.2020 16:59, Andrew Cooper wrote:
> --- a/xen/include/asm-x86/processor.h
> +++ b/xen/include/asm-x86/processor.h
> @@ -441,12 +441,18 @@ struct tss_page {
> };
> DECLARE_PER_CPU(struct tss_page, tss_page);
>
> +/*
> + * Interrupt Stack Tables. Used to force a stack switch on a CPL0=>0
> + * interrupt/exception. #DF uses IST all the time to detect stack overflows
> + * cleanly. NMI/#MC/#DB only need IST to cover the SYSCALL gap, and
> therefore
> + * only necessary with PV guests.
> + */
Is it really only the SYSCALL gap that we mean to cover? In particular
for #MC I'd suspect it is a good idea to switch stacks as well, to get
onto a distinct memory page in case the #MC was stack related. With
NMI it might as well be better to switch; I agree we don't need any
switching for #DB.
I also think that the comment at the top of current.h would want
updating with these adjustments (which I notice lacks the #DB part
anyway).
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |