[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <F2CBF3009FA73547804AE4C663CAB28E3C32A8D6@shsmsx102.ccr.corp.intel.com>
Date: Fri, 16 Dec 2016 01:38:01 +0000
From: "Li, Liang Z" <liang.z.li@...el.com>
To: "Hansen, Dave" <dave.hansen@...el.com>,
Andrea Arcangeli <aarcange@...hat.com>
CC: David Hildenbrand <david@...hat.com>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"mhocko@...e.com" <mhocko@...e.com>,
"mst@...hat.com" <mst@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"qemu-devel@...gnu.org" <qemu-devel@...gnu.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"dgilbert@...hat.com" <dgilbert@...hat.com>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"virtualization@...ts.linux-foundation.org"
<virtualization@...ts.linux-foundation.org>,
"kirill.shutemov@...ux.intel.com" <kirill.shutemov@...ux.intel.com>
Subject: RE: [Qemu-devel] [PATCH kernel v5 0/5] Extend virtio-balloon for
fast (de)inflating & fast live migration
> On 12/15/2016 04:48 PM, Li, Liang Z wrote:
> >>> It seems we leave too many bit for the pfn, and the bits leave for
> >>> length is not enough, How about keep 45 bits for the pfn and 19 bits
> >>> for length, 45 bits for pfn can cover 57 bits physical address, that
> >>> should be
> >> enough in the near feature.
> >>> What's your opinion?
> >> I still think 'order' makes a lot of sense. But, as you say, 57 bits
> >> is enough for
> >> x86 for a while. Other architectures.... who knows?
>
> Thinking about this some more... There are really only two cases that
> matter: 4k pages and "much bigger" ones.
>
> Squeezing each 4k page into 8 bytes of metadata helps guarantee that this
> scheme won't regress over the old scheme in any cases. For bigger ranges, 8
> vs 16 bytes means *nothing*. And 16 bytes will be as good or better than
> the old scheme for everything which is >4k.
>
> How about this:
> * 52 bits of 'pfn', 5 bits of 'order', 7 bits of 'length'
> * One special 'length' value to mean "actual length in next 8 bytes"
>
> That should be pretty simple to produce and decode. We have two record
> sizes, but I think it is manageable.
It works, Now that we intend to use another 8 bytes for length
Why not:
Use 52 bits for 'pfn', 12 bits for 'length', when the 12 bits is not long enough for the 'length'
Set the 'length' to a special value to indicate the "actual length in next 8 bytes".
That will be much more simple. Right?
Liang
Powered by blists - more mailing lists