Hello,
Please read the following paper to know why i have invented my
scalable MLock:
http://pdos.csail.mit.edu/papers/linux:lock.pdf
But you have to be carefull, the Ticket spinlock with a proportional
backoff is not good, cause if there is more context switch the thread
that is scheduled has to use all its quantum time and this will slow
a lot the Ticket spinlock with a proportional backoff , so you have
to use a Sleep(0) just after the proportional backoff to solve this
problem, but i have benchmarked it by adding the sleep(0) and i have
noticed that my scalable MLock will give better performance than
the Ticket spinlock with a proportional backoff and with a sleep(0)
just after the proportional backoff, so i advice you to use my scalable
MLock instead cause it's faster and better.
You can download my scalable MLock from:
https://sites.google.com/site/aminer68/
Thank you,
Amine Moulay Ramdane.