From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: domU to dom0 switch question Date: Mon, 05 Apr 2010 09:58:49 -0700 Message-ID: <4BBA16C9.4040104@goop.org> References: <4BB6A465.1000506@goop.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: George Valzcig Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 04/02/2010 07:28 PM, George Valzcig wrote: > I read from the Xen paper dom0 is used for I/O backend driver - you > also explain it - thanks. So if some domU wants to I/O, *and only one > physical CPU*, domU gets unscheduled - dom0 scheduled - yes? Yes. From Xen's perspective, dom0 is just another domain, so it schedules all vcpus the same way; if there's contention for pcpus, then it needs to context switch between multiple vcpus according to its scheduling algorithm. > My question 1 is, apart from I/O backend driver, is dom0 used for > anything else? I assume application running on domU no I/O. Any other > reason why domU will require the help of dom0. Not really. Once a domain has started, it is independent of dom0 unless it specifically makes use of its services. An hvm domain using a stub domain won't make any direct use of dom0 - all its IO requests will be proxied via the stub domain. > My question 2 is, domU requests some service (like page table update) > using hypercall. Will this (executing the hypercall and related code) > need dom0? No. Xen handles all hypercalls directly (though some of them may involve another domain). J