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/
Home Products Support Community News


Re: [Xen-devel] pthread_mutex_lock() and Xenstored

To: Peter Teoh <htmldeveloper@xxxxxxxxx>
Subject: Re: [Xen-devel] pthread_mutex_lock() and Xenstored
From: Vincent Hanquez <vincent@xxxxxxxxxxxxx>
Date: Thu, 13 Sep 2007 17:03:09 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 13 Sep 2007 08:03:35 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <05c801c7eb94$850ae780$9a010a0a@eeyore>
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: <05c801c7eb94$850ae780$9a010a0a@eeyore>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.16 (2007-06-11)
On Fri, Aug 31, 2007 at 01:51:18PM +0800, Peter Teoh wrote:
> pthread_mutex_lock() are not async-signal safe (ref:
> http://www.gelato.org/pdf/Illinois/gelato_IL2004_libatomic_boehm.pdf)
> but I still see that it is used extensively in xenstored
> implementation (eg, xs.c).

xs is the client part of the xenstore protocol. it's not used in
xenstored (the daemon).

> Moreover, pthread_mutex_lock() suffered a higher performance penalty
> than other synchronization option.   For a one-time effort like domain
> creation this is ok, but Xenstore is used repeatedly to access data,
> and therefore performance could potentially be enhanced.
> Does all these sound logical?

Not really. xenstored is single threaded and has a file-backed-storage
anyway, so most of the time you're going to wait for that.

I expect the pthread_mutex_lock to be insignificant compared to the time
waiting for xenstored to reply. Also the xs interface is not meant to be
use massively in parallel.

Vincent Hanquez

Xen-devel mailing list