From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: why xenstore-* hangs if xenstored is not started Date: Tue, 22 Jun 2010 08:45:04 +0100 Message-ID: References: <4C206713.6030508@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4C206713.6030508@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Yu Zhiguo , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On 22/06/2010 08:32, "Yu Zhiguo" wrote: > Running xenstore-* when xenstored is not started, it will hang and > cannot accept any signal, e.g. SIGINT. > I seems that the process is blocked at accessing '/proc/xen/xenbus'. > > # mount -t xenfs xenfs /proc/xen/ > # xenstore-ls > > call trace: > do_ls() -> xs_directory() -> xs_talkv() -> xs_write_all() -> write() > > BLOCK is no problem but why process cannot accept signal, Any opinion? Does the xenstore driver in the dom0 kernel put the process into uninterruptible sleep? The 2.6.18 kernel simply returns -ENODEV in this case I think. So perhaps pv_ops has different and inferior behaviour. At least using interruptible sleep would be preferable. -- Keir > If start xenstored in other console, xenstore-ls executes and then > receive the signal, seems the signal is pended...