qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/1 V5] kernel/kvm: introduce KVM_SET_LINT1 and


From: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH 1/1 V5] kernel/kvm: introduce KVM_SET_LINT1 and fix improper nmi emulation
Date: Mon, 17 Oct 2011 11:49:52 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20110927 Thunderbird/7.0

On 10/17/2011 11:40 AM, Lai Jiangshan wrote:
> >>
> > 
> > LINT1 may have been programmed as a level -triggered interrupt instead
> > of edge triggered (NMI or interrupt).  We can use the ioctl argument for
> > the level (and pressing the NMI button needs to pulse the level to 1 and
> > back to 0).
> > 
>
> Hi, Avi, Jan,
>
> Which approach you prefer to?
> I need to know the result before wasting too much time to respin
> the approach.

Yes, sorry about the slow and sometimes conflicting feedback.

> 1) Fix KVM_NMI emulation approach  (which is v3 patchset)
>       - It directly fixes the problem and matches the
>         real hard ware more, but it changes KVM_NMI bahavior.
>       - Require both kernel-site and userspace-site fix.
>
> 2) Get the LAPIC state from kernel irqchip, and inject NMI if it is allowed
>    (which is v4 patchset)
>       - Simple, don't changes any kernel behavior.
>       - Only need the userspace-site fix
>
> 3) Add KVM_SET_LINT1 approach (which is v5 patchset)
>       - don't changes the kernel's KVM_NMI behavior.
>       - much complex
>       - Require both kernel-site and userspace-site fix.
>       - userspace-site should also handle the !KVM_SET_LINT1
>         condition, it uses all the 2) approach' code. it means
>         this approach equals the 2) approach + KVM_SET_LINT1 ioctl.
>
> This is an urgent bug of us, we need to settle it down soo

While (1) is simple, it overloads a single ioctl with two meanings,
that's not so good.

Whether we do (1) or (3), we need (2) as well, for older kernels.

So I recommend first focusing on (2) and merging it, then doing (3).

(note an additional issue with 3 is whether to make it a vm or vcpu
ioctl - we've been assuming vcpu ioctl but it's not necessarily the best
choice).

-- 
error compiling committee.c: too many arguments to function




reply via email to

[Prev in Thread] Current Thread [Next in Thread]