linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [GIT PULL] Xen APIC hooks (with io_apic_ops)
Date: Mon, 25 May 2009 08:12:13 +0300	[thread overview]
Message-ID: <4A1A28AD.8060600@redhat.com> (raw)
In-Reply-To: <20090525050630.GB23032@elte.hu>

Ingo Molnar wrote:
> * Avi Kivity <avi@redhat.com> wrote:
>
>   
>> Ingo Molnar wrote:
>>     
>>>> We do something similar for Windows (by patching it) very  
>>>> successfully; Windows likes to touch the APIC TPR ~ 100,000 times  
>>>> per second, usually without triggering an interrupt.  We hijack  
>>>> these writes, do the checks in guest context, and only exit if the  
>>>> TPR write would trigger an interrupt.
>>>>     
>>>>         
>>> I suspect you aware of that this is about the io-apic not the local  
>>> APIC. The local apic methods are already driver-ized - and they sit  
>>> closer to the CPU so they matter more to performance.
>>>   
>>>       
>> Yeah, I gave this as an example.  It's very different -- io-apic 
>> vs.  local apic, paravirtualization vs. patching the guest behind 
>> its back, Linux vs. Windows.
>>
>> Of course if we hook the io-apic EOI we'll want to hook the local 
>> apic EOI as well.
>>     
>
> Yeah. Eventually anything that matters to performance will be 
> accelerated by hardware (and properly virtualized), which in turn 
> will be faster than any hypercall based approach, right?
>   

Right.  That's already happened to the TPR (Intel processors accelerate 
that 4-bit registers but ignore everything else in the local apic).  As 
another example, we have mmu paravirtualization in kvm, but 
automatically disable it when the hardware does nested paging.  The 
problem is that hardware support has a long pipeline, and even when 
support does appear, there's a massive installed base to care about.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


  reply	other threads:[~2009-05-25  5:13 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-12 23:25 [GIT PULL] Xen APIC hooks (with io_apic_ops) Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 01/17] xen/dom0: handle acpi lapic parsing in Xen dom0 Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 02/17] x86: add io_apic_ops to allow interception Jeremy Fitzhardinge
2009-05-25  3:54   ` Ingo Molnar
2009-05-27  7:17     ` Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 03/17] xen: implement io_apic_ops Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 04/17] xen: create dummy ioapic mapping Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 05/17] xen: implement pirq type event channels Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 06/17] x86/io_apic: add get_nr_irqs_gsi() Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 07/17] xen/apic: identity map gsi->irqs Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 08/17] xen: direct irq registration to pirq event channels Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 09/17] xen: bind pirq to vector and event channel Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 10/17] xen: pre-initialize legacy irqs early Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 11/17] xen: don't setup acpi interrupt unless there is one Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 12/17] xen: use acpi_get_override_irq() to get triggering for legacy irqs Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 13/17] xen: initialize irq 0 too Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 14/17] xen: dynamically allocate irq & event structures Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 15/17] xen: set pirq name to something useful Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 16/17] xen: fix legacy irq setup, make ioapic-less machines work Jeremy Fitzhardinge
2009-05-12 23:25 ` [PATCH 17/17] xen: disable MSI Jeremy Fitzhardinge
2009-05-19 12:35 ` [GIT PULL] Xen APIC hooks (with io_apic_ops) Ingo Molnar
2009-05-20 17:57   ` Jeremy Fitzhardinge
2009-05-25  4:10     ` Ingo Molnar
2009-05-26 12:46       ` [Xen-devel] " George Dunlap
2009-05-26 18:26         ` Avi Kivity
2009-05-26 19:18           ` Dan Magenheimer
2009-05-26 19:41             ` Avi Kivity
2009-05-28  0:13             ` Ingo Molnar
2009-05-28  0:49               ` Jeremy Fitzhardinge
2009-05-28  3:47               ` Dan Magenheimer
2009-05-28 14:26               ` George Dunlap
2009-05-29  0:45               ` Xen is a feature Jeremy Fitzhardinge
2009-05-29  1:27                 ` Greg KH
2009-05-29  4:05                 ` David Miller
2009-05-29  6:37                   ` Jaswinder Singh Rajput
2009-05-29  6:51                     ` David Miller
2009-05-29 12:01                   ` George Dunlap
2009-05-29 14:14                     ` Pasi Kärkkäinen
2009-05-29 21:29                       ` David Miller
     [not found]                     ` <87tz33ep1b.fsf@basil.nowhere.org>
2009-05-29 21:31                       ` [Xen-devel] " Jeremy Fitzhardinge
2009-05-29 23:09                       ` Nakajima, Jun
2009-05-29 23:26                         ` Jeremy Fitzhardinge
2009-06-02 15:23                     ` Thomas Gleixner
2009-06-02 16:41                       ` George Dunlap
2009-06-02 17:28                         ` Chris Friesen
2009-06-02 17:46                         ` Linus Torvalds
2009-06-02 18:02                           ` Linus Torvalds
2009-06-02 18:59                             ` Avi Kivity
2009-06-07  9:13                               ` Ingo Molnar
2009-06-07 10:01                                 ` Avi Kivity
2009-06-07 10:35                                   ` Ingo Molnar
2009-06-07 12:46                                     ` Avi Kivity
2009-06-07 13:02                                       ` Jaswinder Singh Rajput
2009-06-04 14:02                           ` [Xen-users] " Thomas Goirand
2009-06-02 18:59                         ` Thomas Gleixner
2009-06-03 19:49                       ` Bill Davidsen
2009-06-03 20:20                         ` Thomas Gleixner
2009-06-03 22:37                           ` Bill Davidsen
2009-06-03 23:29                             ` Frans Pop
2009-06-04 13:21                               ` George Dunlap
2009-06-04 15:10                                 ` Theodore Tso
2009-06-04 15:31                                 ` Chris Friesen
2009-06-05  4:14                               ` Bill Davidsen
2009-06-05  4:55                                 ` Chris Friesen
2009-06-02 22:40                     ` Steven Rostedt
2009-06-02 23:28                       ` Merge Xen (the hypervisor) into Linux Ingo Molnar
2009-06-03  0:00                         ` Dan Magenheimer
2009-06-03  0:32                           ` Thomas Gleixner
2009-06-03  2:43                           ` Theodore Tso
2009-06-03  3:42                             ` Steven Rostedt
2009-06-03  4:49                               ` Dan Magenheimer
2009-06-03  4:58                                 ` David Miller
2009-06-03  5:07                                   ` Steven Rostedt
2009-06-03  5:22                                 ` Steven Rostedt
2009-06-03 12:03                                   ` George Dunlap
2009-06-03 19:05                                     ` Theodore Tso
     [not found]                                       ` <4A27CF94.1050903@gmx.de>
2009-06-04 14:03                                         ` [Xen-users] " Steven Rostedt
2009-06-03  7:28                             ` Gerd Hoffmann
2009-06-03  8:47                               ` Alan Cox
2009-06-03  9:09                                 ` Gerd Hoffmann
2009-06-03  9:20                                   ` Keir Fraser
2009-06-03 11:15                                   ` Theodore Tso
2009-06-03 11:39                                     ` Keir Fraser
2009-06-03 11:41                                     ` Gerd Hoffmann
2009-06-03  1:00                         ` Joel Becker
2009-06-03  2:00                           ` david
2009-06-03  7:59                           ` Alan Cox
2009-06-03  8:07                         ` Christian Tramnitz
2009-06-04 18:53                           ` Linus Torvalds
2009-06-05  0:09                             ` Samuel Thibault
2009-06-05  0:18                               ` David Miller
2009-06-05  0:54                               ` Linus Torvalds
2009-06-03 17:31                         ` Chris Friesen
2009-06-03 17:36                           ` Alan Cox
2009-06-02 23:41                       ` Xen is a feature Thomas Gleixner
2009-05-30  2:19                 ` [Xen-devel] " Andy Burns
2009-05-26 21:19         ` [Xen-devel] Re: [GIT PULL] Xen APIC hooks (with io_apic_ops) Gerd Hoffmann
2009-05-27 10:14           ` George Dunlap
2009-05-24 20:10   ` Avi Kivity
2009-05-25  3:51     ` Ingo Molnar
2009-05-25  4:55       ` Avi Kivity
2009-05-25  5:06         ` Ingo Molnar
2009-05-25  5:12           ` Avi Kivity [this message]
2009-05-25  5:19             ` Ingo Molnar

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=4A1A28AD.8060600@redhat.com \
    --to=avi@redhat.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xensource.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;
as well as URLs for NNTP newsgroup(s).