All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tang Chen <tangchen@cn.fujitsu.com>
To: Gleb Natapov <gleb@kernel.org>
Cc: Marcelo Tosatti <mtosatti@redhat.com>, <pbonzini@redhat.com>,
	<tglx@linutronix.de>, <mingo@redhat.com>, <hpa@zytor.com>,
	<mgorman@suse.de>, <yinghai@kernel.org>,
	<isimatu.yasuaki@jp.fujitsu.com>, <guz.fnst@cn.fujitsu.com>,
	<laijs@cn.fujitsu.com>, <kvm@vger.kernel.org>,
	<linux-mm@kvack.org>, <x86@kernel.org>,
	<linux-kernel@vger.kernel.org>, Avi Kivity <avi.kivity@gmail.com>,
	Tang Chen <tangchen@cn.fujitsu.com>
Subject: Re: [RFC PATCH 1/1] Move two pinned pages to non-movable node in kvm.
Date: Mon, 30 Jun 2014 16:58:10 +0800	[thread overview]
Message-ID: <53B126A2.30108@cn.fujitsu.com> (raw)
In-Reply-To: <20140630060047.GI18167@minantech.com>

Hi Gleb,

On 06/30/2014 02:00 PM, Gleb Natapov wrote:
> On Mon, Jun 30, 2014 at 09:45:32AM +0800, Tang Chen wrote:
>> On 06/21/2014 04:39 AM, Marcelo Tosatti wrote:
>>> On Fri, Jun 20, 2014 at 05:31:46PM -0300, Marcelo Tosatti wrote:
>>>>> IIRC your shadow page pinning patch series support flushing of ptes
>>>>> by mmu notifier by forcing MMU reload and, as a result, faulting in of
>>>>> pinned pages during next entry.  Your patch series does not pin pages
>>>>> by elevating their page count.
>>>>
>>>> No but PEBS series does and its required to stop swap-out
>>>> of the page.
>>>
>>> Well actually no because of mmu notifiers.
>>>
>>> Tang, can you implement mmu notifiers for the other breaker of
>>> mem hotplug ?
>>
>> Hi Marcelo,
>>
>> I made a patch to update ept and apic pages when finding them in the
>> next ept violation. And I also updated the APIC_ACCESS_ADDR phys_addr.
>> The pages can be migrated, but the guest crached.
> How does it crash?

It just stopped running. The guest system is dead.
I'll try to debug it and give some more info.

>
>>
>> How do I stop guest from access apic pages in mmu_notifier when the
>> page migration starts ?  Do I need to stop all the vcpus by set vcpu
>> state to KVM_MP_STATE_HALTED ?  If so, the vcpu will not able to go
>> to the next ept violation.
> When apic access page is unmapped from ept pages by mmu notifiers you
> need to set its value in VMCS to a physical address that will never be
> mapped into guest memory. Zero for instance. You can do it by introducing
> new KVM_REQ_ bit and set VMCS value during next vcpu's vmentry. On ept
> violation you need to update VMCS pointer to newly allocated physical
> address, you can use the same KVM_REQ_ mechanism again.
>
>>
>> So, may I write any specific value into APIC_ACCESS_ADDR to stop guest
>> from access to apic page ?
>>
> Any phys address that will never be mapped into guest's memory should work.

Thanks for the advice. I'll try it.

Thanks.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Tang Chen <tangchen@cn.fujitsu.com>
To: Gleb Natapov <gleb@kernel.org>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com,
	hpa@zytor.com, mgorman@suse.de, yinghai@kernel.org,
	isimatu.yasuaki@jp.fujitsu.com, guz.fnst@cn.fujitsu.com,
	laijs@cn.fujitsu.com, kvm@vger.kernel.org, linux-mm@kvack.org,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Avi Kivity <avi.kivity@gmail.com>,
	Tang Chen <tangchen@cn.fujitsu.com>
Subject: Re: [RFC PATCH 1/1] Move two pinned pages to non-movable node in kvm.
Date: Mon, 30 Jun 2014 16:58:10 +0800	[thread overview]
Message-ID: <53B126A2.30108@cn.fujitsu.com> (raw)
In-Reply-To: <20140630060047.GI18167@minantech.com>

Hi Gleb,

On 06/30/2014 02:00 PM, Gleb Natapov wrote:
> On Mon, Jun 30, 2014 at 09:45:32AM +0800, Tang Chen wrote:
>> On 06/21/2014 04:39 AM, Marcelo Tosatti wrote:
>>> On Fri, Jun 20, 2014 at 05:31:46PM -0300, Marcelo Tosatti wrote:
>>>>> IIRC your shadow page pinning patch series support flushing of ptes
>>>>> by mmu notifier by forcing MMU reload and, as a result, faulting in of
>>>>> pinned pages during next entry.  Your patch series does not pin pages
>>>>> by elevating their page count.
>>>>
>>>> No but PEBS series does and its required to stop swap-out
>>>> of the page.
>>>
>>> Well actually no because of mmu notifiers.
>>>
>>> Tang, can you implement mmu notifiers for the other breaker of
>>> mem hotplug ?
>>
>> Hi Marcelo,
>>
>> I made a patch to update ept and apic pages when finding them in the
>> next ept violation. And I also updated the APIC_ACCESS_ADDR phys_addr.
>> The pages can be migrated, but the guest crached.
> How does it crash?

It just stopped running. The guest system is dead.
I'll try to debug it and give some more info.

>
>>
>> How do I stop guest from access apic pages in mmu_notifier when the
>> page migration starts ?  Do I need to stop all the vcpus by set vcpu
>> state to KVM_MP_STATE_HALTED ?  If so, the vcpu will not able to go
>> to the next ept violation.
> When apic access page is unmapped from ept pages by mmu notifiers you
> need to set its value in VMCS to a physical address that will never be
> mapped into guest memory. Zero for instance. You can do it by introducing
> new KVM_REQ_ bit and set VMCS value during next vcpu's vmentry. On ept
> violation you need to update VMCS pointer to newly allocated physical
> address, you can use the same KVM_REQ_ mechanism again.
>
>>
>> So, may I write any specific value into APIC_ACCESS_ADDR to stop guest
>> from access to apic page ?
>>
> Any phys address that will never be mapped into guest's memory should work.

Thanks for the advice. I'll try it.

Thanks.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Tang Chen <tangchen@cn.fujitsu.com>
To: Gleb Natapov <gleb@kernel.org>
Cc: Marcelo Tosatti <mtosatti@redhat.com>, <pbonzini@redhat.com>,
	<tglx@linutronix.de>, <mingo@redhat.com>, <hpa@zytor.com>,
	<mgorman@suse.de>, <yinghai@kernel.org>,
	<isimatu.yasuaki@jp.fujitsu.com>, <guz.fnst@cn.fujitsu.com>,
	<laijs@cn.fujitsu.com>, <kvm@vger.kernel.org>,
	<linux-mm@kvack.org>, <x86@kernel.org>,
	<linux-kernel@vger.kernel.org>, Avi Kivity <avi.kivity@gmail.com>,
	Tang Chen <tangchen@cn.fujitsu.com>
Subject: Re: [RFC PATCH 1/1] Move two pinned pages to non-movable node in kvm.
Date: Mon, 30 Jun 2014 16:58:10 +0800	[thread overview]
Message-ID: <53B126A2.30108@cn.fujitsu.com> (raw)
In-Reply-To: <20140630060047.GI18167@minantech.com>

Hi Gleb,

On 06/30/2014 02:00 PM, Gleb Natapov wrote:
> On Mon, Jun 30, 2014 at 09:45:32AM +0800, Tang Chen wrote:
>> On 06/21/2014 04:39 AM, Marcelo Tosatti wrote:
>>> On Fri, Jun 20, 2014 at 05:31:46PM -0300, Marcelo Tosatti wrote:
>>>>> IIRC your shadow page pinning patch series support flushing of ptes
>>>>> by mmu notifier by forcing MMU reload and, as a result, faulting in of
>>>>> pinned pages during next entry.  Your patch series does not pin pages
>>>>> by elevating their page count.
>>>>
>>>> No but PEBS series does and its required to stop swap-out
>>>> of the page.
>>>
>>> Well actually no because of mmu notifiers.
>>>
>>> Tang, can you implement mmu notifiers for the other breaker of
>>> mem hotplug ?
>>
>> Hi Marcelo,
>>
>> I made a patch to update ept and apic pages when finding them in the
>> next ept violation. And I also updated the APIC_ACCESS_ADDR phys_addr.
>> The pages can be migrated, but the guest crached.
> How does it crash?

It just stopped running. The guest system is dead.
I'll try to debug it and give some more info.

>
>>
>> How do I stop guest from access apic pages in mmu_notifier when the
>> page migration starts ?  Do I need to stop all the vcpus by set vcpu
>> state to KVM_MP_STATE_HALTED ?  If so, the vcpu will not able to go
>> to the next ept violation.
> When apic access page is unmapped from ept pages by mmu notifiers you
> need to set its value in VMCS to a physical address that will never be
> mapped into guest memory. Zero for instance. You can do it by introducing
> new KVM_REQ_ bit and set VMCS value during next vcpu's vmentry. On ept
> violation you need to update VMCS pointer to newly allocated physical
> address, you can use the same KVM_REQ_ mechanism again.
>
>>
>> So, may I write any specific value into APIC_ACCESS_ADDR to stop guest
>> from access to apic page ?
>>
> Any phys address that will never be mapped into guest's memory should work.

Thanks for the advice. I'll try it.

Thanks.

  reply	other threads:[~2014-06-30  8:58 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-18  5:50 [RFC PATCH 1/1] Move two pinned pages to non-movable node in kvm Tang Chen
2014-06-18  5:50 ` Tang Chen
2014-06-18  5:50 ` Tang Chen
2014-06-18  6:12 ` Gleb Natapov
2014-06-18  6:12   ` Gleb Natapov
2014-06-18  6:50   ` Tang Chen
2014-06-18  6:50     ` Tang Chen
2014-06-18  6:50     ` Tang Chen
2014-06-19  9:20     ` Gleb Natapov
2014-06-19  9:20       ` Gleb Natapov
2014-06-19 19:00       ` Marcelo Tosatti
2014-06-19 19:00         ` Marcelo Tosatti
2014-06-20  3:20         ` Tang Chen
2014-06-20  3:20           ` Tang Chen
2014-06-20  3:20           ` Tang Chen
2014-06-20 11:15         ` Gleb Natapov
2014-06-20 11:15           ` Gleb Natapov
2014-06-20 12:53           ` Marcelo Tosatti
2014-06-20 12:53             ` Marcelo Tosatti
2014-06-20 14:26             ` Gleb Natapov
2014-06-20 14:26               ` Gleb Natapov
2014-06-20 20:31               ` Marcelo Tosatti
2014-06-20 20:31                 ` Marcelo Tosatti
2014-06-20 20:39                 ` Marcelo Tosatti
2014-06-20 20:39                   ` Marcelo Tosatti
2014-06-23  1:48                   ` Tang Chen
2014-06-23  1:48                     ` Tang Chen
2014-06-23  1:48                     ` Tang Chen
2014-06-30  1:45                   ` Tang Chen
2014-06-30  1:45                     ` Tang Chen
2014-06-30  1:45                     ` Tang Chen
2014-06-30  6:00                     ` Gleb Natapov
2014-06-30  6:00                       ` Gleb Natapov
2014-06-30  8:58                       ` Tang Chen [this message]
2014-06-30  8:58                         ` Tang Chen
2014-06-30  8:58                         ` Tang Chen
2014-06-22  9:19                 ` Gleb Natapov
2014-06-22  9:19                   ` Gleb Natapov

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=53B126A2.30108@cn.fujitsu.com \
    --to=tangchen@cn.fujitsu.com \
    --cc=avi.kivity@gmail.com \
    --cc=gleb@kernel.org \
    --cc=guz.fnst@cn.fujitsu.com \
    --cc=hpa@zytor.com \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=kvm@vger.kernel.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.