Re: [RFC PATCH 1/1] Move two pinned pages to non-movable node in kvm.

Tang Chen
2014-06-18T06:50:44Z

Hi Gleb,

Thanks for the quick reply. Please see below.

On 06/18/2014 02:12 PM, Gleb Natapov wrote:
> On Wed, Jun 18, 2014 at 01:50:00PM +0800, Tang Chen wrote:
>> [Questions]
>> And by the way, would you guys please answer the following questions for me ?
>>
>> 1. What's the ept identity pagetable for ? Only one page is enough ?
>>
>> 2. Is the ept identity pagetable only used in realmode ?
>> Can we free it once the guest is up (vcpu in protect mode)?
>>
>> 3. Now, ept identity pagetable is allocated in qemu userspace.
>> Can we allocate it in kernel space ?
> What would be the benefit?

I think the benefit is we can hot-remove the host memory a kvm guest
is using.

For now, only memory in ZONE_MOVABLE can be migrated/hot-removed. And
the kernel
will never use ZONE_MOVABLE memory. So if we can allocate these two
pages in
kernel space, we can pin them without any trouble. When doing memory
hot-remove,
the kernel will not try to migrate these two pages.

>
>>
>> 4. If I want to migrate these two pages, what do you think is the best way ?
>>
> I answered most of those here: http://www.mail-archive.com/kvm@vger.kernel.org/msg103718.html

I'm sorry I must missed this email.

Seeing your advice, we can unpin these two pages and repin them in the
next EPT violation.
So about this problem, which solution would you prefer, allocate these
two pages in kernel
space, or migrate them before memory hot-remove ?

I think the first solution is simpler. But I'm not quite sure if there
is any other pages
pinned in memory. If we have the same problem with other kvm pages, I
think it is better to
solve it in the second way.

What do you think ?

Thanks.