From: "Radim Krčmář" <rkrcmar@redhat.com>
To: "Cao, Lei" <Lei.Cao@stratus.com>
Cc: "Huang, Kai" <kai.huang@linux.intel.com>,
Paolo Bonzini <pbonzini@redhat.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [PATCH 3/6] KVM: Dirty memory tracking for performant checkpointing and improved live migration
Date: Mon, 2 May 2016 17:46:08 +0200 [thread overview]
Message-ID: <20160502154608.GB24741@potion> (raw)
In-Reply-To: <BL2PR08MB4811CE322D58EBBDCFA6EFBF0790@BL2PR08MB481.namprd08.prod.outlook.com>
2016-05-02 15:24+0000, Cao, Lei:
> On 4/29/2016 2:19 PM, Radim Krčmář wrote:
> > 2016-04-28 19:58+0000, Cao, Lei:
>>> It should be noted that what is saved on the dirty list is
>>> (mem slot id|offset), not gfn.
>>
>> Current compaction causes a problem. Slot id is u32, but gnflist stores
>> only bottom 16 bits while upper 16 contain important address space.
>> And 48 bit offset isn't enough for GPA sizes above 60 bits.
>>
>> Compaction can reserve up to PAGE_SHIFT bits. KVM must BUILD_BUG_ON()
>> if KVM_ADDRESS_SPACE_NUM and KVM_MEM_SLOTS_NUM don't fit. (We'll be
>> this reworking compaction as soon as per-vcpu address spaces arrive,
>> because KVM_MEM_SLOTS_NUM already takes 9 bits.)
>>
>
> memory slot id is currently defined as short. If I understand correctly,
> you are saying that it'll become u32 when per-vcpu address space arrives,
> right? It's certainly an issue for the current compaction. I'll need to
> rework it.
slot_id was always u32. Before address spaces, it had interval [0,
KVM_MEM_SLOTS_NUM), so u16 was enough. After address spaces, slot_id
has two components
as_id: [0, KVM_ADDRESS_SPACE_NUM)
as_slot_id: [0, KVM_MEM_SLOTS_NUM)
and slot_id is
as_id << 16 | as_slot_id
This means you shouldn't look only at bottom 16 bits of slot_id.
'id' in struct kvm_memory_slot is only short, because it doesn't need to
store the address space, but you are interested in a userspace
interface, which uses u32 slot_id to identify a slot.
next prev parent reply other threads:[~2016-05-02 15:46 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <201604261855.u3QItn85024244@dev1.sn.stratus.com>
2016-04-26 19:24 ` [PATCH 3/6] KVM: Dirty memory tracking for performant checkpointing and improved live migration Cao, Lei
2016-04-28 9:13 ` Huang, Kai
2016-04-28 19:58 ` Cao, Lei
2016-04-29 18:19 ` Radim Krčmář
2016-05-02 15:24 ` Cao, Lei
2016-05-02 15:46 ` Radim Krčmář [this message]
2016-05-02 15:51 ` Cao, Lei
2016-05-03 6:06 ` Huang, Kai
2016-05-03 14:11 ` Radim Krčmář
2016-05-04 7:45 ` Huang, Kai
2016-05-04 13:13 ` Radim Krčmář
2016-05-04 13:51 ` Cao, Lei
2016-05-04 17:15 ` Cao, Lei
2016-05-04 18:33 ` Cao, Lei
2016-05-04 18:57 ` Radim Krčmář
2016-05-06 9:46 ` Kai Huang
2016-05-06 12:09 ` Radim Krčmář
2016-05-06 15:13 ` Cao, Lei
2016-05-06 16:04 ` Radim Krčmář
2016-05-24 17:19 ` Cao, Lei
2016-06-30 13:49 ` Cao, Lei
2016-05-07 1:48 ` Kai Huang
2016-05-04 19:27 ` Radim Krčmář
2016-05-05 16:26 ` Radim Krčmář
2016-05-06 15:19 ` Cao, Lei
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=20160502154608.GB24741@potion \
--to=rkrcmar@redhat.com \
--cc=Lei.Cao@stratus.com \
--cc=kai.huang@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
/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