Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1593368

Re: [PATCH V11 10/10] arm/arm64: KVM: add guest SEA support

Path csiph.com!feeder.erje.net!1.us.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!news.mixmin.net!aioe.org!news.servidellagleba.it!bofh.it!news.nic.it!robomod
From "Baicar, Tyler" <tbaicar@codeaurora.org>
Newsgroups linux.kernel
Subject Re: [PATCH V11 10/10] arm/arm64: KVM: add guest SEA support
Date Mon, 06 Mar 2017 15:10:03 +0100
Message-ID <ti1uP-Rx-49@gated-at.bofh.it> (permalink)
References <tdqau-8gh-3@gated-at.bofh.it> <tdqav-8gh-27@gated-at.bofh.it> <telBM-7lx-9@gated-at.bofh.it> <tfW6d-vq-5@gated-at.bofh.it> <thYdA-6Qv-29@gated-at.bofh.it>
X-Original-To James Morse <james.morse@arm.com>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1488808841; bh=zaoRc6SYVqrYpnEkG0YMdlXY6OUungALr9TvDYX9f1w=; h=Subject:To:References:Cc:From:Date:In-Reply-To:From; b=JS4ND+5LzYG35mwJBeABIOd+Wg6GBUGu9leHvPYkjsHOzvL4e9aNcA6vlP/Ep2aie va3ISAziEouKl92z6oIjAkoVD+Me8u5Payn24gQb7QugRMzPFLXYIX1LXwRiyO5kmt mfLjDuC2e2MDBg703taDQo4Ff00mubv2BTemk99s=
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1488808836; bh=zaoRc6SYVqrYpnEkG0YMdlXY6OUungALr9TvDYX9f1w=; h=Subject:To:References:Cc:From:Date:In-Reply-To:From; b=mowoassjHvoIgUQaEzoxE5YF4VrupAMjVmlELsF0BFzS9UfVDMZ7SLJiRT7BoY4xx MpWpEEVpvlbvIowj0HdZ0U4FHMfKGegPiFPwopLLulfQzKPR08jQmy8IuiXfnKNpxf so/Wlk/7JQKjIsbcJEG9I17HqGWtncD7bzSAa52E=
Dmarc-Filter OpenDMARC Filter v1.3.2 smtp.codeaurora.org 1A8B0601EB
Authentication-Results pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org
Authentication-Results pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=tbaicar@codeaurora.org
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
MIME-Version 1.0
Content-Type text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding 7bit
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 46
Organization linux.* mail to news gateway
X-Original-Cc christoffer.dall@linaro.org, marc.zyngier@arm.com, pbonzini@redhat.com, rkrcmar@redhat.com, linux@armlinux.org.uk, catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net, lenb@kernel.org, matt@codeblueprint.co.uk, robert.moore@intel.com, lv.zheng@intel.com, nkaje@codeaurora.org, zjzhang@codeaurora.org, mark.rutland@arm.com, akpm@linux-foundation.org, eun.taik.lee@samsung.com, sandeepa.s.prabhu@gmail.com, labbott@redhat.com, shijie.huang@arm.com, rruigrok@codeaurora.org, paul.gortmaker@windriver.com, tn@semihalf.com, fu.wei@linaro.org, rostedt@goodmis.org, bristot@redhat.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-efi@vger.kernel.org, devel@acpica.org, Suzuki.Poulose@arm.com, punit.agrawal@arm.com, astone@redhat.com, harba@codeaurora.org, hanjun.guo@linaro.org, john.garry@huawei.com, shiju.jose@huawei.com, joe@perches.com
X-Original-Date Mon, 6 Mar 2017 07:00:30 -0700
X-Original-Message-ID <4b4bea7c-7591-8051-7be0-528581f29d10@codeaurora.org>
X-Original-References <1487712121-16688-1-git-send-email-tbaicar@codeaurora.org> <1487712121-16688-11-git-send-email-tbaicar@codeaurora.org> <58B00E12.5020602@arm.com> <ff3aa805-0e03-9854-e294-ff6934c57f3f@codeaurora.org> <58BD39B4.9050809@arm.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1593368

Show key headers only | View raw


Hello James,


On 3/6/2017 3:28 AM, James Morse wrote:
> On 28/02/17 19:43, Baicar, Tyler wrote:
>> On 2/24/2017 3:42 AM, James Morse wrote:
>>> On 21/02/17 21:22, Tyler Baicar wrote:
>>>> Currently external aborts are unsupported by the guest abort
>>>> handling. Add handling for SEAs so that the host kernel reports
>>>> SEAs which occur in the guest kernel.
>>>> diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
>>>> index b2d57fc..403277b 100644
>>>> --- a/arch/arm64/mm/fault.c
>>>> +++ b/arch/arm64/mm/fault.c
>>>> @@ -602,6 +602,24 @@ static const char *fault_name(unsigned int esr)
>>>>    }
>>>>
>>>>    /*
>>>> + * Handle Synchronous External Aborts that occur in a guest kernel.
>>>> + */
>>>> +int handle_guest_sea(unsigned long addr, unsigned int esr)
>>>> +{
>>>> +    if(IS_ENABLED(HAVE_ACPI_APEI_SEA)) {
>>>> +        nmi_enter();
>>>> +        ghes_notify_sea();
>>>> +        nmi_exit();
>>> This nmi stuff was needed for synchronous aborts that may have interrupted
>>> APEI's interrupts-masked code. We want to avoid trying to take the same set of
>>> locks, hence taking the in_nmi() path through APEI. Here we know we interrupted
>>> a guest, so there is no risk that we have interrupted APEI on the host.
>>> ghes_notify_sea() can safely take the normal path.
>> Makes sense, I can remove the nmi_* calls here.
> Just occurs to me: if we do this we need to add the rcu_read_lock() in
> ghes_notify_sea() as its not protected by the rcu/nmi weirdness.
>
True, would you suggest leaving these nmi_* calls or adding the rcu_* 
calls? And since that's only needed for this KVM case, shouldn't the 
rcu_* calls just replace the nmi_* calls here (outside of ghes_notify_sea)?

Thanks,
Tyler

-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: [PATCH V11 10/10] arm/arm64: KVM: add guest SEA support James Morse <james.morse@arm.com> - 2017-03-06 11:40 +0100
  Re: [PATCH V11 10/10] arm/arm64: KVM: add guest SEA support "Baicar, Tyler" <tbaicar@codeaurora.org> - 2017-03-06 15:10 +0100

csiph-web