|
|
Subscribe / Log in / New account

They're mutexes, Jim, but not as we know them

They're mutexes, Jim, but not as we know them

Posted May 10, 2013 23:44 UTC (Fri) by brong (guest, #87268)
In reply to: They're mutexes, Jim, but not as we know them by dlang
Parent article: Wait/wound mutexes

Hang on - are you saying that the sequence number you were allocated persists even after you back out and try again?

My understanding was that once you're wounded, you have to restart from scratch. If you're restarting with the same (low) sequence number rather than being allocated a brand new one, then I see your point. Otherwise, I see starvation possibilities, the horror.


to post comments

They're mutexes, Jim, but not as we know them

Posted May 11, 2013 2:21 UTC (Sat) by dlang (guest, #313) [Link] (2 responses)

from the article

> But, since the sequence number increases monotonically, a once-wounded thread must eventually reach a point where it has the highest priority and will win out.

They don't say explicitly that the sequence number is maintained, but I don't see what this would mean otherwise.

They're mutexes, Jim, but not as we know them

Posted May 15, 2013 13:45 UTC (Wed) by mlankhorst (subscriber, #52260) [Link] (1 responses)

Correct. The current implementation preserves the sequence number. But it's an implementation detail, the user of the api will never have to work with the sequence numbers directly.

They're mutexes, Jim, but not as we know them

Posted May 15, 2013 20:49 UTC (Wed) by dlang (guest, #313) [Link]

It may be "only an implementation detail" in that the user of the API never deals with the sequence number.

But this detail is critical to avoiding the risk of permanent starvation of some thread.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds