[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] xenstored misaccounting resource limits



Currently xenstored does not account domain->nbentry when a transaction
is aborted (either intentionally or via EAGAIN). We hit this case when
adding a lot of disks to a domU: the limit is reached much earlier than
expected, as a number of clashing transactions cause incorrect inflation
of the value of ->nbentry.

There's been a little discussion internally on the nicest way to fix
this. My current suggestion is along the lines of:

domain_entry_inc()

       d = domain to inc as before

       if (transaction)
               transaction->domain_nbcount[d]++
       else
               d->nbcount++

(same for _dec)

then in transaction end:

       for d in transaction->domains
               d->nbcount += transaction->domain_nbcount[d]


But I thought it wise to ask if somebody has a different suggestion, or
preference, before we cook up a patch.

cheers
john

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.