|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Re: [PATCH] EPT: Flush running cpus, add mask to flush
To: |
"George Dunlap" <George.Dunlap@xxxxxxxxxxxxx>, "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx> |
Subject: |
Re: [Xen-devel] Re: [PATCH] EPT: Flush running cpus, add mask to flush when scheduled in |
From: |
"Jan Beulich" <JBeulich@xxxxxxxxxx> |
Date: |
Tue, 22 Sep 2009 09:23:52 +0100 |
Cc: |
Xiaohui Xin <Xiaohui.xin@xxxxxxxxx>, Xin Li <xin.b.li@xxxxxxxxx>, Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>, Paul Durrant <Paul.Durrant@xxxxxxxxxx>, Jun Nakajima <jun.nakajima@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx> |
Delivery-date: |
Tue, 22 Sep 2009 01:24:20 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<C6DE4445.15636%keir.fraser@xxxxxxxxxxxxx> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<4AB893D60200007800016283@xxxxxxxxxxxxxxxxxx> <C6DE4445.15636%keir.fraser@xxxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
>>> Keir Fraser <keir.fraser@xxxxxxxxxxxxx> 22.09.09 10:07 >>>
>On 22/09/2009 08:07, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote:
>> Also, merely using cpus_complement() here seem inefficient: It should be
>> possible to accumulate the flush activity, and avoid re-flushing on a CPU
>> which e.g. got flushed on the second from the last run through this code
>> (and not dirtied afterwards). I.e. I'd think there should be cpus_andnot()
>> here, and setting of the bits as CPUs get dirtied.
>
>I don't see how that is possible, as domain_dirty_cpumask can have changed
>arbitrarily since the previous invocation of ept_sync_domain(), as can the
>EPT tables. We have to assume every CPU has potentially stale cached
>mappings.
Why? It ought to be possible to know which CPUs the guest has run on
for any period of time. Any CPU it hasn't run on wouldn't need flushing,
would it?
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|