Linked by Hadrien Grasland on Thu 19th May 2011 21:31 UTC
Hardware, Embedded Systems Having read the feedback resulting from my previous post on interrupts (itself resulting from an earlier OSnews Asks item on the subject), I've had a look at the way interrupts work on PowerPC v2.02, SPARC v9, Alpha and IA-64 (Itanium), and contribute this back to anyone who's interested (or willing to report any blatant flaw found in my posts). I've also tried to rework a bit my interrupt handling model to make it significantly clearer and have it look more like a design doc and less like a code draft.
Permalink for comment 474244
To read all comments associated with this story, please click here.
RE[3]: Locking benchmarks
by jal_ on Mon 23rd May 2011 08:54 UTC in reply to "RE[2]: Locking benchmarks"
jal_
Member since:
2006-11-02

Alfman, thanks for the elaborate answer. What I'm wondering about though, is how do you sync all these asynchronous calls that have a linear dependancy. E.g. when opening a file, then reading, then closing it asynchronusly, since the asynchronous nature does not say anything about order of execution, you could have an attempt to read a unopened file, or a file that has been closed before it has been read. So you'd need some synchronisation primitives, which typically means blocking (or spinning, which may be as bad).

Also, in your resolve_cb, there's a while-loop that tests for the result of an async call. Since it's async, it cannot actually wait for the result of the call, so all it can do is check the result of the invocation of the call, right? Or do you have some mechanism that blocks the while-loopthread until an answer arrives? I guess not, as that more or less defeates the purpose?

Reply Parent Score: 2