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] xs transaction

To: "Tian, Kevin" <kevin.tian@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] xs transaction
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Tue, 11 Sep 2007 08:31:54 +0100
Delivery-date: Tue, 11 Sep 2007 00:27:53 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <D470B4E54465E3469E2ABBC5AFAC390F013B223A@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acf0Q9+kPHP1cHSpSZSDVBFVO42XRAAAfPCS
Thread-topic: [Xen-devel] xs transaction
User-agent: Microsoft-Entourage/
We do support concurrent transactions at the API level, but the
implementation will currently allow only one concurrent transaction that
modifies state to succeed. This is a detail of the implementation however
(from a semantic point of view -- it may impact performance of course!).

Nested transactions (transactions within transactions) are not supported,
and attempts to create a nested transaction will be explicitly failed.

 -- Keir

On 11/9/07 08:17, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote:

> Seems currently xenstore transaction provides confusing message
> in different places:
> a) comment of xs_transaction_start says "You can only have one
> transaction at any time." However do_transaction_start allows up to
> 10 transactions created, as long as all other existing transaction
> channel is idle at the time (conn->transaction == NULL)
> b) when multiple transactions can be created, xenstore is not ready
> to handle traffic in parallel. Only one conn->transaction exists
> c) do_transaction_start says "/* We don't support nested transactions.
> */" by checking conn->transaction, but it can't handle nest case.
> Conn->transaction only indicates whether traffic is on-going in other
> transaction, instead of whether other transactions are created. Instead
> conn->transaction_list should be checked for the purpose.
> So what's expected usage for current xs transaction? Should xenstore
> add check on parallel/nest case, or depend on caller to avoid?
> Thanks,
> Kevin
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>