From: ebiederm@xmission.com (Eric W. Biederman)
To: Avi Kivity <avi@redhat.com>
Cc: Gleb Natapov <gleb@redhat.com>,
"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Suresh Siddha <suresh.b.siddha@intel.com>,
Sheng Yang <sheng@linux.intel.com>,
"kvm\@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [PATCH v3] enable x2APIC without interrupt remapping under KVM
Date: Tue, 30 Jun 2009 12:36:01 -0700 [thread overview]
Message-ID: <m1k52t1plq.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <4A4A6499.9000406@redhat.com> (Avi Kivity's message of "Tue\, 30 Jun 2009 22\:16\:41 +0300")
Avi Kivity <avi@redhat.com> writes:
> On 06/30/2009 10:08 PM, Eric W. Biederman wrote:
>>> Can you elaborate? For kvm guests, the hardware is reasonably will implemented
>>> and if not we will fix it. We need not cripple a feature just because some
>>> hardware is broken.
>>>
>>
>> The short version is I don't know what work arounds we will ultimately
>> decide to deploy to work with real hardware.
>>
>> I have been seriously contemplating causing a cpu hot-unplug request
>> to fail if we are in ioapic mode and we have irqs routed to the cpu
>> that is being unplugged.
>>
>
> Well, obviously we need to disassociate any irqs from such a cpu. Could be done
> from the kernel or only enforced by the kernel.
Using the normal irq migration path we can move irqs off of a cpu reliably
there just aren't any progress guarantees.
>> Even with perfectly working hardware it is not possible in the general
>> case to migrate an ioapic irq from one cpu to another outside of an
>> interrupt handler without without risking dropping an interrupt.
>>
>
> Can't you generate a spurious interrupt immediately after the migration? An
> extra interrupt shouldn't hurt.
Nope. The ioapics can't be told to send an interrupt.
>> There is no general way to know you have seen the last interrupt
>> floating around your system. PCI ordering rules don't help because
>> the ioapics can potentially take an out of band channel.
>>
>
> Can you describe the problem scenario? an ioapic->lapic message delivered to a
> dead cpu?
Dropped irqs.. Driver hangs because it is waiting for an irq. Hardware
hangs because it is waiting for the cpu to process the irq.
Potentially we get a level triggered irq that is never acked by
the cpu that won't arm until the cpu send an ack, and we can't
send an ack from another cpu.
Eric
next prev parent reply other threads:[~2009-06-30 19:36 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-29 13:29 [PATCH v3] enable x2APIC without interrupt remapping under KVM Gleb Natapov
2009-06-29 14:58 ` Suresh Siddha
2009-06-29 15:10 ` Gleb Natapov
2009-06-29 15:15 ` Suresh Siddha
2009-06-29 15:45 ` Gleb Natapov
2009-06-30 9:24 ` Eric W. Biederman
2009-06-30 9:26 ` Gleb Natapov
2009-06-30 16:44 ` Eric W. Biederman
2009-06-30 17:12 ` Avi Kivity
2009-06-30 19:08 ` Eric W. Biederman
2009-06-30 19:16 ` Avi Kivity
2009-06-30 19:36 ` Eric W. Biederman [this message]
2009-07-01 8:30 ` Avi Kivity
2009-07-01 13:31 ` Eric W. Biederman
2009-07-01 22:53 ` Suresh Siddha
2009-07-02 0:17 ` Eric W. Biederman
2009-07-07 16:14 ` Suresh Siddha
2009-07-10 20:29 ` Eric W. Biederman
2009-06-30 19:03 ` Gleb Natapov
2009-06-30 19:43 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m1k52t1plq.fsf@fess.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=avi@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sheng@linux.intel.com \
--cc=suresh.b.siddha@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox