From: Anthony Liguori <anthony-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: State of current pv_ops backend for KVM?
Date: Tue, 29 May 2007 09:19:29 -0500 [thread overview]
Message-ID: <465C3671.9000404@codemonkey.ws> (raw)
In-Reply-To: <465C31F2.8080007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Avi Kivity wrote:
> Anthony Liguori wrote:
>> Avi Kivity wrote:
>>> Anthony Liguori wrote:
>>>> Howdy,
>>>>
>>>> Does anyone know what the state of a pv_ops backend for KVM is? I
>>>> know Ingo has an implementation that implements CR3 caching but I
>>>> don't see any branches in Avi's git tree.
>>>>
>>>> Perhaps we should try for a simple pv_ops backend for 2.6.23 seeing
>>>> as how the host infrastructure is there? I'd be willing to do some
>>>> leg work here...
>>>
>>> I think we should aim for a full direct paging implementation, where
>>> the cr3 cache is just the cherry on top that makes context switches
>>> proceed at native speed. Jun has a paper on it for OLS and I hope
>>> patches too.
>>
>> That's a bit more ambitious than I was thinking. I would be very
>> happy with a pv timer, interrupt controller, and some basic CPU
>> optimizations. I'm still not convinced the perf benefits of direct
>> paging justify the annoyances that come with it (guests being aware
>> of pfns).
>
> I thought that with paravirt_ops, all the awareness is limited to the
> paravirt implementation, and nothing in the core kernel is actually
> aware of host pfns.
The pv_ops implementation still has to deal with guest pfn => host pfn
translation. This means that a guest has to be put into a special mode
for save/restore/migrate to work to ensure that no host pfn's are on the
stack or in registers. Changing save/restore/migration to from
guest-transparent to guest-interactive is a big loss to me.
> pv timer and interrupt controller make a lot of sense, especially if
> steal timer functionality is included.
Yup :-)
>> This is especially true with NPT/EPT right around the corner.
>
> It depends on the workload. It was advanced (by Ingo) that NPT/EPT
> increase the tlb miss latency, which is important for steady-state
> workloads, whereas shadow and direct paging do not. It will be
> interesting to measure this.
There will most certainly be trade-offs, but I certainly don't expect
direct paging to beat out NPT/EPT in certain areas.
Regards,
Anthony Liguori
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
next prev parent reply other threads:[~2007-05-29 14:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-29 1:54 State of current pv_ops backend for KVM? Anthony Liguori
[not found] ` <465B87CE.6030801-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-05-29 6:11 ` Ingo Molnar
[not found] ` <20070529061128.GA27037-X9Un+BFzKDI@public.gmane.org>
2007-05-29 6:11 ` Ingo Molnar
2007-05-29 11:47 ` Avi Kivity
[not found] ` <465C12C0.9030906-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-29 13:49 ` Anthony Liguori
[not found] ` <465C2F75.3080603-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-05-29 14:00 ` Avi Kivity
[not found] ` <465C31F2.8080007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-29 14:19 ` Anthony Liguori [this message]
[not found] ` <465C3671.9000404-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-05-29 14:28 ` Avi Kivity
2007-05-30 2:35 ` Rusty Russell
[not found] ` <1180492544.30202.72.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-05-30 5:01 ` Avi Kivity
[not found] ` <465D051F.20706-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-05-30 6:04 ` Rusty Russell
2007-05-30 2:24 ` Rusty Russell
[not found] ` <1180491861.30202.61.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2007-05-30 2:51 ` Anthony Liguori
[not found] ` <465CE6AD.7000206-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-05-30 18:02 ` Zachary Amsden
[not found] ` <465DBC39.7090308-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-05-30 18:20 ` 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=465C3671.9000404@codemonkey.ws \
--to=anthony-rdkfgonbjusknkdkm+me6a@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@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