public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
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.

  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