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 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.