Minutes of March 8 Con Call (compiled by hannal@us.ibm.com) Hubertus Franke - Fast User Level Locks (aka Futexes) Have been talking about user level locking for over a year in the Linux community. Have proposed a paper for OLS with Rusty Russell and others. Databases and middle tier aplications are multi process and have shared states (ie- buffer pools maintained by db). They are currently doomed to use method queues or file locking. Which are OK if locking is infrequent. But not OK if doing locking frequently and locks are not held very long. In the uncontested case do not go into the kernel. Just grap the lock and continue. In the contested case do have to wait on the kernel. Historically Linus said allocate a datastructure in the kernel which will be apriori. User level has secure handle to the data structure. Hubertus says the handle is a break of philosophy. Hubertus proposed a kernel data structure with embeded semaphore. If never hit contention never have to allocate. Hash the memory object and virtual address. Then can allocate object on the fly. If have two differetn memory objects get two different hashs. Still have issues to resolve, check the lkml mailing list to see the discussions. Rusty started with fd's then moved over to virtual addresses like Hubertus had. Rusy's code is now substantially smaller than Hubertus' So Hubertus has moved over to help Rusty with their implementation. He expects it to be accepted eventually with more community input. Fair Locking vs Convoy Avoidance Locking: Convoy Avoidance Locking grants locks in the order processes arrive at the lock when they are availale. In high contention situations this is not the right thing to do. Once there is a queue then scheduling becomes the overhead bottleneck. Since the lock is immmediately released the process that just got woken up might not get it. Databases would like to avoid fifo order. Fair Locking- If the process that is scheduled wants a lock and the process that has it can release it then the lock is handed over to the process that is currently scheduled so it can do its work. Hubertus would like people from the community to say which locks could benefit from fair locking and which ones would not. Rick Lindsley - Locksort Rick wanted a way to resort the lockmeter results based on fields (or columns). He did this partly as an exercise in perl. Rick is still polishing it up but it is ready for the spinlocks section of lockmeter results. One nice thing is it maintains the functions that call the lock after resorting. You can choose different sort orders too. If you would like to have the script or give feedback to Rick send him email at: ricklind@us.ibm.com Hanna Linder - Update on fast walk patch Half of patch (the easy half) was put in by Al in 2.5.6-pre3. So now my patch is half the size. I will resubmit the more complex half against 2.5.6 with UP results. I will also submit the easy half of the patch to 2.4 followed by the complex half if it is accepted. Which shold be the big gains since it reduces kernel lock contention in 2.4 by 50% running dbench with 16 clients on an 8-way. I will also have UP results for 2.4 soon.