[M3devel] lock performance, random thoughts

Dragiša Durić dragisha at m3w.org
Tue Apr 6 01:35:32 CEST 2010


I've been thinking few days about this lock performance thing. As POSIX
mutexes are getting us too many times into kernel space by way of
syscalls, maybe we can get some performance back while not loosing
scheduling efficiency and multi-processor side of kernel-space/POSIX
threading?

User-space threads were two things. One - user-space threads. Two -
user-space synchronizing. If we implement former inCritical by using
lockfree abilities of modern multi-processor/multi-core/cluster systems
and then revert to user-space synchronizing _only_ we can have best of
both worlds. 

We need user-space threads because we need to have our Modula-3 process
spread it's threads over whatever we run it on. And we will be very
happy to have synchronizing efficency back.

Few details to decide how to implement would be preempting/wakeup cycle,
and waiting loop on our inCritical flag. Both can be solved by POSIX
primitives.

What do you think about this?

dd

-- 
Dragiša Durić <dragisha at m3w.org>




More information about the M3devel mailing list