[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-ia64-devel] PATCH: cleanup of tlbflush



>From: Tristan Gingold [mailto:Tristan.Gingold@xxxxxxxx]
>Sent: 2006年5月10日 16:53
>> >> At least one simple enhancement
>> >> we can do is to change syntax of domain_dirty_cpumask. We can
>> >> change it to indicate processors that domain is ever running on.
>Then
>> >> update point only happens at creation/destroy/migration, or even
>> >> pause/unpause. Though this simple strategy is not fine-grained, we
>> >> can still achieve benefit especially when domain is bound.
>> >
>> >One use of domain_dirty_cpumask is to flush vtlb when a page is
>> >ungranted.
>> >If this mask is ever set, doing IOs trash the machine.
>> >IMHO, this is the next major Xen/ia64 challenge: dealing correctly
>with
>> >granted page.
>>
>> Not clear about this one. Could you elaborate more? How dose IO
>cause
>> to trash the machine?
>[By trashing I mean slowing down].
>The current common code calls flush_tlb_mask after ungranting a page.
>On xen/ia64, flush_tlb_mask should flush the tlb and the vhpt, which
>means
>clearing 16MB per vcpu.  This is quiet high.
>Unfortunatly, flushing is required for correctness.  The current Isaku
>work-around is to reduce VHPT size (64Kb).  But even with a small
>size,
>flushing tlb requires an IPI when SMP-g, which is quiet slow.
>
>Tristan.

I see your concern about flush efficiency. However we still need set 
necessary mask bits for correctness, right? It would be difficult to track 
exact processors which have footprint about different ungranted pages. 
To track that list may instead pull down performance at other places. 
Then to set domain_dirty_cpumask as ones that domain is currently 
running on, can be a simple/safe way in current stage though 
performance may be affected.

Thanks,
Kevin

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.