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

Re: [Xen-devel] Re: [PATCH] SMP dom0 boot fix

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Re: [PATCH] SMP dom0 boot fix
From: Ryan Harper <ryanh@xxxxxxxxxx>
Date: Fri, 28 Oct 2005 09:59:30 -0500
Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 28 Oct 2005 14:56:49 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <5916684ed3d62883c5aa18c358b24b21@xxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <E305A4AFB7947540BC487567B5449BA808542F56@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <5916684ed3d62883c5aa18c358b24b21@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
* Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> [2005-10-28 09:20]:
> 
> On 28 Oct 2005, at 02:05, Kamble, Nitin A wrote:
> 
> >    This patch reverts part of the 7402 patch. The reverted part is
> >conversion from unsigned long to uint32_t for evtchn_pending,
> >evtchn_mask.
> 
> That was the original *point* of the patch, so yours is basically the 
> anti-patch.
> 
> I can take a look... what is the bad SMP dom0 behaviour you are seeing 
> (is there a bugzilla reference)?

I'll file a bug if Nitin doesn't beat me to it.  I was seeing
smp_call_function() blocking while it waited for a function to return
from being invoked on the second processor in early boot.  

It would block forever installing the deadline io scheduler, digging
deeper, it was after the second processor was up, and the io schedulers
call kmem_cache_create() in mm/slab.c, which would eventually result in
a call to smp_call_function() and passed in wait=1 which forces the
function to block until it has run on all online processors.

WARK: CPU0 in enable_cpucache()
WARK: CPU0 do_tune_cpucache() in
WARK: CPU0 calling all cpus with do_ccupdate_local()
WARK: CPU0 smp_call_function_all_cpus()
WARK: CPU0 running do_ccupdate_local()
WARK: CPU0 invoking smp_call_function()

At this point send_IPI_allbutself() has been invoked and the system
just sits and waits on CPU1 to run the function.  But, CPU1's
evtchn_upcall_mask was set (1), so I'm guessing the pending interrupt
is never acknowledged.  

-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253
ryanh@xxxxxxxxxx

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