From: Anthony Liguori <anthony-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
To: Izik Eidus <izike-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH 0/4] Swapping
Date: Mon, 15 Oct 2007 15:03:47 -0500 [thread overview]
Message-ID: <4713C7A3.4050805@codemonkey.ws> (raw)
In-Reply-To: <4713C46E.9020107-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Izik Eidus wrote:
>>
>> That's not quite what I was wondering.
>>
>> When you do an madvise() in userspace, the result is that when that
>> memory is accessed again, linux will demand-fault in a zero page and
>> COW it appropriately. If we do madvise() on the VA representing
>> guest physical memory, what I'm curious about is whether the guest
>> will actually see this change. If the guest happens to have the page
>> mapped before we do the madvise(), what triggers KVM to kick any
>> shadow page table entries out of it's cache?
>>
>> IIUC, today, after the madvise, the guest will have access to the old
>> page until that entry gets evicted and reloaded from the shadow page
>> table cache.
> ok i am no familier with madvise() so i might talk nonsense but,
> if the guest have the page mapped before the madvise(), this mean we
> have high refernce to it, this is our only protection and as far as i
> understand this should be enough
Right, we will have a reference to the page. But we want to propagate
this change to the guest. So madvise() may be a bad example.
What if you wanted to do shared memory for multiple guests. You start
out with an anonymous mmap(), and you now what to mmap() a file in
/dev/shm to be shared among multiple guests so you mmap(MAP_FIXED) to
phys_ram_base + guest_pa in each guest.
So what if guest_pa was in the guest's shadow page cache? In order for
the guest to see the right hpa (the new shared memory), we have to be
able to evict guest_pa. We could do this with something like
mmu_unshadow().
What I don't understand, is how we can have something like
mmu_unshadow() called automatically when an mmap() is initiated from
userspace. We could just add an ioctl() to do it from userspace but I
think it would be nicer if it Just Worked.
Regards,
Anthony Liguori
>
>
>
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
next prev parent reply other threads:[~2007-10-15 20:03 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-13 2:06 [PATCH 0/4] Swapping Izik Eidus
[not found] ` <47102823.2000600-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-13 19:48 ` Anthony Liguori
[not found] ` <4711210F.40802-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-13 20:06 ` Izik Eidus
[not found] ` <4711252F.7020505-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-13 20:21 ` Izik Eidus
[not found] ` <471128B5.5090104-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-13 23:17 ` Anthony Liguori
2007-10-14 0:10 ` Anthony Liguori
[not found] ` <47115E75.1040203-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-14 0:14 ` Anthony Liguori
[not found] ` <47115F6A.7080800-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-14 6:10 ` Izik Eidus
2007-10-15 9:13 ` Carsten Otte
[not found] ` <47132F57.3040703-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-10-15 12:18 ` Izik Eidus
2007-10-15 18:10 ` Anthony Liguori
[not found] ` <4713ACF8.6010809-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-15 18:21 ` Izik Eidus
[not found] ` <4713AF9C.8000609-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-15 19:03 ` Anthony Liguori
[not found] ` <4713B97F.7090403-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-15 19:16 ` Izik Eidus
[not found] ` <4713BCA4.3080103-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-15 19:29 ` Anthony Liguori
[not found] ` <4713BFB3.8060701-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-15 19:50 ` Izik Eidus
[not found] ` <4713C46E.9020107-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-15 20:03 ` Anthony Liguori [this message]
[not found] ` <4713C7A3.4050805-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-15 20:15 ` Izik Eidus
2007-10-16 9:35 ` Avi Kivity
[not found] ` <471485E2.8090301-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-16 18:29 ` Anthony Liguori
[not found] ` <47150325.3070009-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-10-16 20:01 ` Avi Kivity
2007-10-16 7:37 ` Avi Kivity
2007-10-16 7:38 ` Avi Kivity
2007-10-16 7:36 ` Avi Kivity
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=4713C7A3.4050805@codemonkey.ws \
--to=anthony-rdkfgonbjusknkdkm+me6a@public.gmane.org \
--cc=izike-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