From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Gregory Haskins <ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: KVM in-kernel APIC update
Date: Wed, 04 Apr 2007 20:43:39 +0300 [thread overview]
Message-ID: <4613E3CB.6000904@qumranet.com> (raw)
In-Reply-To: <4613959F.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
Gregory Haskins wrote:
> Agreed. I was thinking that the interface for the "IOAPIC in kernel" model would look something like the way the pic_send_irq() function looks, except it would also convey BUS/IOAPIC id.
>
> so: kvm_inject_interrupt(int bus, int pin, int value);
>
> and the "kvmpic" driver would currently translate as bus = 0 (giving us IRQ0-23). E.g.
>
> kvmpic_send_irq(int irq, int value)
> {
> kvm_inject_interrupt(0, irq, value);
> }
>
With appropriate modeling of edge vs level triggered, and translation of
pin to vector, yes.
>
>
>> Everything should keep working, that is a must. We just need the
>> interfaces to follow the hardware faithfully. The issue with the ioapic
>> eoi is worrying me performance wise, though; it looks like we need to
>> push the ioapic too if we are to have no- compromise performance on
>> unmodified OSes.
>>
>
> Not sure if this will make you feel better, but it appears as though both the QEMU and the in-kernel model that I inherited don't accurately support IOAPIC EOI already. From that you can infer that there must not be any level-sensitive interrupts in use today. Since the system seems to only have the legacy ISA model (which dictates edge triggers, IIRC), this makes sense. However, if we want to support level triggers in the future, we will have to address this. I would be uncomfortable designing something that doesn't take the IOAPIC EOI into account, even if its not immediately used.
>
>
pci is level triggered, so maybe the guests just handle the inaccuracy.
>> For unmodified guests, use the existing pci irq routing. I certainly
>> wouldn't want to debug anything else. For modified guests, there's no
>> real problem.
>>
>
> Ill take your word for it ;) I spent a few minutes looking through the linux kernel trying to figure out how to get a hint about a free vector without assigning one statically in the header files and came up empty handed. Im sure there is a way (or maybe static is ok?).
>
>
No idea really, but the paravirt_ops stuff probably provides the right
hooks.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
next prev parent reply other threads:[~2007-04-04 17:43 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-03 22:31 KVM in-kernel APIC update Gregory Haskins
[not found] ` <46128F80.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 7:40 ` Avi Kivity
[not found] ` <46135686.4090905-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 16:23 ` Gregory Haskins
[not found] ` <46138A98.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 16:49 ` Avi Kivity
[not found] ` <4613D736.1080207-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 17:10 ` Gregory Haskins
[not found] ` <4613959F.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 17:43 ` Avi Kivity [this message]
[not found] ` <4613E3CB.6000904-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 17:56 ` Gregory Haskins
[not found] ` <4613A090.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 20:20 ` Ingo Molnar
[not found] ` <20070404202046.GD6070-X9Un+BFzKDI@public.gmane.org>
2007-04-05 6:48 ` Avi Kivity
2007-04-04 22:00 ` Dor Laor
2007-04-04 20:12 ` Ingo Molnar
[not found] ` <20070404201205.GC6070-X9Un+BFzKDI@public.gmane.org>
2007-04-04 21:55 ` Dor Laor
2007-04-05 6:47 ` Avi Kivity
[not found] ` <46149B7C.5020004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-05 7:37 ` Dor Laor
2007-04-05 10:39 ` Ingo Molnar
[not found] ` <20070405103933.GA8936-X9Un+BFzKDI@public.gmane.org>
2007-04-05 10:50 ` Ingo Molnar
[not found] ` <20070405105042.GA11779-X9Un+BFzKDI@public.gmane.org>
2007-04-05 11:29 ` Avi Kivity
2007-04-05 14:37 ` Dong, Eddie
2007-04-04 20:32 ` Ingo Molnar
[not found] ` <20070404203235.GA11369-X9Un+BFzKDI@public.gmane.org>
2007-04-04 21:22 ` Gregory Haskins
[not found] ` <4613D0CE.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 21:40 ` Anthony Liguori
2007-04-05 7:11 ` Avi Kivity
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=4613E3CB.6000904@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/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