WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] RE: Question on hyperthreading and Westmere processors.

To: Roger Cruz <rcruz@xxxxxxxxxxxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] RE: Question on hyperthreading and Westmere processors.
From: "Yu, Ke" <ke.yu@xxxxxxxxx>
Date: Wed, 27 Jan 2010 10:04:00 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc:
Delivery-date: Tue, 26 Jan 2010 18:04:58 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <40B551BEDC7945419A5897958AB3947C01CD5BDF@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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: <40B551BEDC7945419A5897958AB3947C01CD5BDF@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acqd1DuJgt8GjRzgQjm8DeiM9czXkgBHqGCA
Thread-topic: Question on hyperthreading and Westmere processors.

Hi Roger,

 

For the 1), the TSC will works as normal when turbo mode is enabled. in recent Intel processor since Pentium 4, TSC frequency is constant regardless the CPU frequency scaling. i.e. TSC will always run @ highest non-turbo frequency, so the TSC offset should be valid.  You can search X86_FEATURE_CONSTANT_TSC for more detail. And I don’t see any point that Westmere could cause Xen problem. if you observe any problem, feel free to report in mailing list.

 

For 2), Xen scheduler is HT aware, and will pick the idle cores first rather than an idle thread on a busy core. You can check xen/common/sched_credit.c:_csched_cpu_pick() for more detail.

 

Regards

Ke

 

From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Roger Cruz
Sent: Monday, January 25, 2010 11:37 PM
To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Question on hyperthreading and Westmere processors.

 

 

Hi folks,

 

I’m wondering if one of you could answer a couple of questions with regards to the new Intel processors and VM scheduling when hyperthreads are involved.

 

1)     For Nahelem/Westmere processors, Intel has a feature where it can turbo the processor’s frequency.  In an SMP environment, would this turbo boost affect Xen in any ways?  For example, does the TSC offset computation between processor’s becomes invalid?  Are there any other features or reasons why a Westmere processor would cause a problem for Xen?

 

2)     These new processors have hyper threading enabled.   Is Xen’s scheduling algorithm cognizant of threads so that it can most effectively schedule VMs on idle cores rather than use an idle thread on a busy core? 

 

Let me explain that better.  For example, on 1 quad-core HT-enabled processor server,  there are a total of 8 working units (4 cores + 4 threads).   Assume we labelt them this way: [core#,thread#]: [0,0], [0,1], [1,0], [1,1], [2,0], [2,1], [3,0], [3,1].  If there are 3 VMs exist, does the scheduler arrange the VMs such that VM1 is on [0,0], VM2 is on [1,0], and VM3 on [2,0]?  Or does it tread all the work units without regards to their locations and schedule them as [0,0], [0,1] and [1,0], for example?  In the latter case, two VMs are schedule on the same core, which would be less effective than scheduled on the idle core.

 

Thanks

Roger

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>