[openstack-dev] [oslo][concurrency] lockutils lock fairness / starvation
harlowja at fastmail.com
Tue May 16 22:04:54 UTC 2017
Chris Friesen wrote:
> On 05/16/2017 10:45 AM, Joshua Harlow wrote:
>> So fyi,
>> If you really want something like this:
>> Just use:
>> And always get a write lock.
>> It is a slightly different way of getting those locks (via a context
>> but the implementation underneath is a deque; so fairness should be
>> assured in
>> FIFO order...
> That might work as a local patch, but doesn't help the more general case
> of fair locking in OpenStack. The alternative to adding fair locks in
> oslo would be to add fairness code to all the various OpenStack services
> that use locking, which seems to miss the whole point of oslo.
Replace 'openstack community' with 'python community'? ;)
> In the implementation above it might also be worth using one condition
> variable per waiter, since that way you can wake up only the next waiter
> in line rather than waking up everyone only to have all-but-one of them
> go back to sleep right away.
Ah good idea, I'll see about doing/adding/changing that.
More information about the OpenStack-dev