From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emmanuel Ackaouy Subject: Re: Re: Xen scheduler Date: Tue, 24 Apr 2007 16:34:43 +0200 Message-ID: <4f871bf437d5f30f1626777a8ba042c5@gmail.com> References: <042320071933.18629.462D0A250001D375000048C52207021633CCCCCC050E9F@comcast.net> Mime-Version: 1.0 (Apple Message framework v624) Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <042320071933.18629.462D0A250001D375000048C52207021633CCCCCC050E9F@comcast.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: pak333@comcast.net Cc: ncmike@us.ibm.com, xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On Apr 23, 2007, at 21:33, pak333@comcast.net wrote: > Basically all my questions boil down to this: Does the Scheduler know=20= > about the pcpu layout(same socket)=A0and does it do any scheduling = based=20 > on that. Yes but not how you suggested. The scheduler actually tries to schedule VCPUs across multiple sockets before it "co-schedules" a socket. The idea behind this is to maximize the achievable memory bandwidth. On hyperthreaded systems, the scheduler will also attempt to schedule across cores before it co-schedules hyperthreads. This is to maximize achievable cycles. At this time, no attempt is made to schedule 2 VCPUs of the same VM any differently than 2 VCPUs of distinct VMs. If you feel two VCPUs would do better co-scheduled on a core or socket, you'd currently have to use cpumasks -- as mike suggested -- to restrict where they can run manually. I'd be curious to know of real world cases where doing this increases performance significantly. Hope this helps. Cheers, Emmanuel.=