|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] xs transaction
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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|