From: Andrea Arcangeli <andrea-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: Marcelo Tosatti <marcelo-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org>,
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: KVM swapping with mmu notifiers
Date: Tue, 22 Jan 2008 15:56:31 +0100 [thread overview]
Message-ID: <20080122145631.GG7331@v2.random> (raw)
In-Reply-To: <4795F1B7.9050604-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
On Tue, Jan 22, 2008 at 03:37:59PM +0200, Avi Kivity wrote:
> Andrea Arcangeli wrote:
>> On Sun, Jan 20, 2008 at 05:16:03PM +0200, Avi Kivity wrote:
>>
>>> Yes, it's supposed to work (we can't prevent userspace from doing it).
>>>
>>
>> Hmm, I think we already prevent it, so I don't think I need to update
>> my swap code until the below is removed.
>>
>> /* Check for overlaps */
>> r = -EEXIST;
>> for (i = 0; i < KVM_MEMORY_SLOTS; ++i) {
>> struct kvm_memory_slot *s = &kvm->memslots[i];
>>
>> if (s == memslot)
>> continue;
>> if (!((base_gfn + npages <= s->base_gfn) ||
>> (base_gfn >= s->base_gfn + s->npages)))
>> goto out_free;
>> }
>>
>>
>
> Actually, this checks against slots with the overlapping gfns. Aliases
> have different gfns but same hvas.
Hmm not sure to follow, do you mean I need to change something?
Aliases live in a different dimension, and I can't see how my code
could ever notice or care about aliases (that have to be translated to
a real hva-memslot-backed gfn before calling get_user_pages). All I
care about are to find the right rmap structures for each hva. The
above snippet should be enough to guarantee that there can only be 1
rmap structure for each hva, so when I checked yesterday that looked
enough to prove my kvm_hva_to_rmapp implementation already correct.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
next prev parent reply other threads:[~2008-01-22 14:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-13 13:32 KVM swapping with mmu notifiers Andrea Arcangeli
[not found] ` <20080113133244.GC8736-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-13 15:02 ` Anthony Liguori
2008-01-14 13:45 ` Marcelo Tosatti
2008-01-14 14:06 ` Andrea Arcangeli
2008-01-14 14:09 ` Avi Kivity
[not found] ` <478B6CFF.9070801-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-14 14:24 ` Andrea Arcangeli
[not found] ` <20080114142457.GF7062-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-14 15:43 ` Avi Kivity
[not found] ` <478B833E.1020801-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-14 17:44 ` Andrea Arcangeli
[not found] ` <20080114174447.GA30812-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-15 14:40 ` Avi Kivity
[not found] ` <478CC5D3.2040201-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-15 15:52 ` Andrea Arcangeli
[not found] ` <20080115155253.GA7059-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-15 15:57 ` Avi Kivity
[not found] ` <478CD7CF.3080603-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-15 16:09 ` Andrea Arcangeli
[not found] ` <20080115160936.GC7059-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-20 15:16 ` Avi Kivity
[not found] ` <479365B3.3000600-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-21 11:37 ` Andrea Arcangeli
[not found] ` <20080121113715.GE6970-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-21 12:53 ` Avi Kivity
2008-01-22 13:37 ` Avi Kivity
[not found] ` <4795F1B7.9050604-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-22 14:56 ` Andrea Arcangeli [this message]
[not found] ` <20080122145631.GG7331-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-22 16:17 ` Avi Kivity
[not found] ` <47961722.2010804-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-22 17:18 ` Andrea Arcangeli
[not found] ` <20080122171806.GH7331-lysg2Xt5kKMAvxtiuMwx3w@public.gmane.org>
2008-01-22 20:03 ` Andrea Arcangeli
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=20080122145631.GG7331@v2.random \
--to=andrea-atkuwr5tajbwk0htik3j/w@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=marcelo-Bw31MaZKKs3YtjvyW6yDsg@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