[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f3c100f-355d-e4f2-ff42-2cb076e8aa86@gmail.com>
Date: Tue, 22 Nov 2022 21:46:14 +0800
From: Tianyu Lan <ltykernel@...il.com>
To: "Kalra, Ashish" <ashish.kalra@....com>, luto@...nel.org,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de,
dave.hansen@...ux.intel.com, x86@...nel.org, hpa@...or.com,
seanjc@...gle.com, pbonzini@...hat.com, jgross@...e.com,
tiala@...rosoft.com, kirill@...temov.name,
jiangshan.ljs@...group.com, peterz@...radead.org,
srutherford@...gle.com, akpm@...ux-foundation.org,
anshuman.khandual@....com, pawan.kumar.gupta@...ux.intel.com,
adrian.hunter@...el.com, daniel.sneddon@...ux.intel.com,
alexander.shishkin@...ux.intel.com, sandipan.das@....com,
ray.huang@....com, brijesh.singh@....com, michael.roth@....com,
thomas.lendacky@....com, venu.busireddy@...cle.com,
sterritt@...gle.com, tony.luck@...el.com, samitolvanen@...gle.com,
fenghua.yu@...el.com
Cc: linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
linux-hyperv@...r.kernel.org, linux-arch@...r.kernel.org
Subject: Re: [RFC PATCH V2 16/18] x86/sev: Initialize #HV doorbell and handle
interrupt requests
On 11/21/2022 11:05 PM, Kalra, Ashish wrote:
>> +static void do_exc_hv(struct pt_regs *regs)
>> +{
>> + union hv_pending_events pending_events;
>> + u8 vector;
>> +
>> + while (sev_hv_pending()) {
>> + asm volatile("cli" : : : "memory");
>> +
>
> Do we really need to disable interrupts here, #HV exception will be
> dispatched via an interrupt gate in the IDT, so interrupts should be
> implicitly disabled, right ?
>> panic("Unexpected vector %d\n", vector);
>> + unreachable();
>> + }
>> + } else {
>> + common_interrupt(regs, pending_events.vector);
>> + }
>> +
>> + asm volatile("sti" : : : "memory");
>
> Again, why do we need to re-enable interrupts here (in this loop),
> interrupts will get re-enabled in the irqentry_exit() code path ?
Hi Ashish:
Thanks for your review. check_hv_pending() is also called in the
native_irq_enable() to handle some pending interrupt requests after re
-enabling interrupt. For such case, disables irq when handle exception
or interrupt event.
Powered by blists - more mailing lists