From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Anthony Liguori <anthony-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: QEMU PIC indirection patch for in-kernel APIC work
Date: Wed, 04 Apr 2007 18:06:47 +0300 [thread overview]
Message-ID: <4613BF07.50606@qumranet.com> (raw)
In-Reply-To: <4613BC6B.1070708-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
Anthony Liguori wrote:
> Avi Kivity wrote:
>> Anthony Liguori wrote:
>>>
>>> Then again, are we really positive that we have to move the APIC
>>> into the kernel? A lot of things will get much more complicated.
>>
>> The following arguments are in favor:
>> - allow in-kernel paravirt drivers to interrupt the guest without
>> going through qemu (which involves a signal and some complexity)
>> - same for guest SMP IPI
>> - reduced overhead for a much-loved hardware component (especially on
>> Windows, where one regularly sees 100K apic updates a second)
>
> This is for the TPR right? VT has special logic to handle TPR
> virtualization doesn't it? I thought SVM did too...
>
Yes, the TPR. Both VT and SVM virtualize CR8 in 64-bit mode. SVM also
supports CR8 in 32-bit mode through a nwe instruction encoding, but
nobody uses that to my knowledge. Maybe some brave soul can hack kvm to
patch the new instruction in place of the mmio instruction Windows uses
to bang on the tpr.
>> The strength of these arguments increase as vmexit overhead decreases
>> with improving hardware.
>
> Do you mean, the strength of these arguments decrease? :-)
Nope, increase. Currently vmexit time dominates the privilege switch
time to user mode. If vmexit time is reduced to be on par with syscall
time, you get 50% saving (assuming tpr emulation is near-free, which it
can be easily made to be).
>
>>
>> Of course, pushing such a piece of misery into the kernel where it
>> can cause much pain should not be done lightly.
>
> Right, so some arguments against:
> - The cost to go to userspace is small compared to the cost of the
> exit itself
True now. False tomorrow (for some value of tomorrow).
> - Maintaining hardware emulation in two places is going to suck
True now. Even truer tomorrow.
> - The need to have in-kernel backends for paravirt drivers should be
> carefully considered.
>
> An in-kernel backend is certainly not necessary for disks.
Agree.
> If we can't drive network traffic fast enough from userspace, perhaps
> we should consider improving the userspace interfaces.
I'm open to suggestions. With an in-kernel backend, we can have
copyless transmit and single-copy receive. With the current APIs, we
can have single-copy transmit and 3-copy receive. I doubt we could
improve it beyond (1, 2) without major hacking on non-kvm kernel interfaces.
>
> Originating disk IO from userspace is useful for support interesting
> storage formats. Network IO from userspace is also interesting to
> support things like slirp.
Right. Nobody's suggesting removing it, however.
--
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 15:06 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-02 11:46 QEMU PIC indirection patch for in-kernel APIC work Gregory Haskins
[not found] ` <4610A6A9.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 6:53 ` Avi Kivity
[not found] ` <46134B74.1080004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 14:20 ` Anthony Liguori
[not found] ` <4613B438.60107-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 14:39 ` Avi Kivity
[not found] ` <4613B89F.8090806-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 14:55 ` Anthony Liguori
[not found] ` <4613BC6B.1070708-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 15:06 ` Avi Kivity [this message]
[not found] ` <4613BF07.50606-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 15:36 ` Nakajima, Jun
[not found] ` <8FFF7E42E93CC646B632AB40643802A8025B9580-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-04 15:47 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160B318E96-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-04-04 15:53 ` Anthony Liguori
[not found] ` <4613C9EE.5030600-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 16:05 ` Avi Kivity
[not found] ` <4613CCD1.2070702-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 16:20 ` Nakajima, Jun
[not found] ` <8FFF7E42E93CC646B632AB40643802A8025B962E-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-04 16:27 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160B318EDB-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-04-04 16:43 ` Anthony Liguori
[not found] ` <4613D596.7080201-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 16:54 ` Avi Kivity
2007-04-04 16:32 ` Avi Kivity
[not found] ` <4613D30E.7030905-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 16:48 ` Nakajima, Jun
[not found] ` <8FFF7E42E93CC646B632AB40643802A8025B96AA-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-04 16:58 ` Avi Kivity
[not found] ` <4613D93A.5020902-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 17:09 ` Nakajima, Jun
[not found] ` <8FFF7E42E93CC646B632AB40643802A8025B970D-1a9uaKK1+wJcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-04 21:33 ` Dor Laor
2007-04-04 18:12 ` Anthony Liguori
2007-04-04 15:51 ` Anthony Liguori
[not found] ` <4613C993.9020405-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 16:02 ` Avi Kivity
[not found] ` <4613CC01.1090500-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 16:09 ` Anthony Liguori
[not found] ` <4613CDB2.4000903-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 16:19 ` Avi Kivity
[not found] ` <4613D001.3040606-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-04 20:01 ` Ingo Molnar
[not found] ` <20070404200112.GA6070-X9Un+BFzKDI@public.gmane.org>
2007-04-04 20:24 ` Anthony Liguori
[not found] ` <4614098F.2030307-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2007-04-04 21:21 ` Ingo Molnar
2007-04-04 23:19 ` [kvm-devel] " Rusty Russell
2007-04-05 7:17 ` Avi Kivity
2007-04-06 1:02 ` Rusty Russell
2007-04-08 5:36 ` Avi Kivity
[not found] ` <46187F4E.1080807-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-08 9:04 ` Muli Ben-Yehuda
2007-04-09 2:50 ` Rusty Russell
[not found] ` <1176087018.11664.65.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-09 7:10 ` Avi Kivity
[not found] ` <4619E6DC.3010804-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-09 9:46 ` Rusty Russell
[not found] ` <1176111984.11664.90.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-09 13:38 ` Avi Kivity
[not found] ` <461A41CA.9080201-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-10 8:07 ` Evgeniy Polyakov
2007-04-10 8:19 ` [kvm-devel] " Avi Kivity
[not found] ` <461B48A8.1060904-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-10 8:58 ` Evgeniy Polyakov
2007-04-10 11:21 ` [kvm-devel] " Avi Kivity
[not found] ` <461B7334.8090807-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-10 11:50 ` Evgeniy Polyakov
2007-04-10 12:17 ` [kvm-devel] " Avi Kivity
[not found] ` <461B8069.6070007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-10 12:30 ` Evgeniy Polyakov
[not found] ` <20070410123034.GA11493-9fLWQ3dKdXwox3rIn2DAYQ@public.gmane.org>
2007-04-10 12:49 ` Avi Kivity
2007-04-11 3:53 ` [kvm-devel] " Rusty Russell
[not found] ` <1176263593.26372.84.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-11 4:26 ` Avi Kivity
[not found] ` <461C6360.1060908-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-11 13:23 ` Rusty Russell
[not found] ` <1176297794.14322.72.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-11 14:28 ` Avi Kivity
[not found] ` <461CF098.3090003-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-11 23:30 ` Rusty Russell
[not found] ` <1176334200.14322.133.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-12 3:32 ` Avi Kivity
2007-04-16 0:22 ` [kvm-devel] " Rusty Russell
2007-04-16 5:13 ` Avi Kivity
[not found] ` <1175728768.12230.593.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-04-05 9:30 ` Ingo Molnar
[not found] ` <20070405093033.GC25448-X9Un+BFzKDI@public.gmane.org>
2007-04-05 9:58 ` Avi Kivity
2007-04-05 10:26 ` [kvm-devel] " Ingo Molnar
2007-04-05 11:26 ` Avi Kivity
[not found] ` <4614DCE1.70905-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-05 11:36 ` Ingo Molnar
2007-04-06 1:16 ` [kvm-devel] " Rusty Russell
2007-04-06 18:59 ` Ingo Molnar
2007-04-05 10:55 ` Ingo Molnar
2007-04-05 14:32 ` [kvm-devel] " Anthony Liguori
2007-04-06 10:37 ` Ingo Molnar
2007-04-06 11:07 ` Ingo Molnar
2007-04-04 22:07 ` Dor Laor
2007-04-05 6:54 ` Avi Kivity
2007-04-05 6:40 ` Avi Kivity
2007-04-04 16:23 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160B318ED4-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-04-04 16:48 ` Anthony Liguori
[not found] ` <4613D6CD.6060209-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-04-04 20:07 ` Ingo Molnar
2007-04-05 13:50 ` Dong, Eddie
[not found] ` <0E6FE5D295DE5B4B8D9070C26A227987E0D1EC-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-05 13:59 ` Avi Kivity
[not found] ` <461500B5.4080102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-05 14:52 ` Dong, Eddie
[not found] ` <0E6FE5D295DE5B4B8D9070C26A227987F2444B-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-05 15:01 ` Avi Kivity
[not found] ` <46150F4F.4030505-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-04-05 15:16 ` Dong, Eddie
[not found] ` <0E6FE5D295DE5B4B8D9070C26A227987F24452-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-04-05 15:26 ` Anthony Liguori
2007-04-05 15:22 ` Anthony Liguori
2007-04-05 14:41 ` Dor Laor
[not found] ` <64F9B87B6B770947A9F8391472E032160B319509-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-04-05 14:48 ` Dong, Eddie
2007-04-05 14:57 ` Dong, Eddie
2007-04-04 17:51 ` Gregory Haskins
[not found] ` <46139F39.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-04-04 18:19 ` Anthony Liguori
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=4613BF07.50606@qumranet.com \
--to=avi-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=anthony-rdkfGonbjUSkNkDKm+mE6A@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.