From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: KVM in-kernel APIC update Date: Thu, 05 Apr 2007 09:47:24 +0300 Message-ID: <46149B7C.5020004@qumranet.com> References: <46128F80.BA47.005A.0@novell.com> <46135686.4090905@qumranet.com> <20070404201205.GC6070@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: Ingo Molnar Return-path: In-reply-to: <20070404201205.GC6070-X9Un+BFzKDI@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org Ingo Molnar wrote: > we should move all the PICs into KVM proper - and that includes the > i8259A PIC too. Qemu-space drivers are then wired to pins on these PICs, > but nothing in Qemu does vector generation or vector prioritization - > that task is purely up to KVM. There are mixed i8259A+lapic models > possible too and the simplest model is to have all vector handling in > KVM. > > any 'cut' of the interface to allow both qemu and KVM generate vectors > is unnecessary (and harmful) complexity. The interface cut should be at > the 'pin' level, with Qemu raising a signal on a pin and lowering a > signal on a pin, but otherwise not dealing with IRQ routing and IRQ > vectors. > Following is my view of the possible cuts: - everything in userspace: worst performance, but needed for comaptibility - tpr in kernel: minimal effort, bad badly defined interface - lapic in kernel: well defined (all on-chip stuff in kernel, off-chip in userspace), fixes main Windows problems, interrupts still need userspace. Interface is the processor's LINT pins and APIC bus. - *pic in kernel: most effort, easiest irq synchronization. Interface is pic/ioapic pin level, plus a topology description that userspace uses to tell the hardware how the pins are connected (logically required, but practically not). -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ------------------------------------------------------------------------- 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