Messages in this thread | | | From | Andi Kleen <> | Subject | RFC: Lower broadcast timer idle path lock contention | Date | Fri, 6 May 2011 14:40:52 -0700 |
| |
This patchkit implements some ideas discussed in the earlier thread to lower the lock contention of the broadcast state idle path:
- Do check for good C3 timer outside the lock [Already in tip, but I'm including it to have a full patchkit] - Change the global bitmask to avoid false sharing - Exploit that thread siblings keep the timer alive [This patch is unfortunately quite hairy and needs very indepth review] This uses a lock, but only a local one for a core. - Only take the global lock when the timeout of the broadcast device is set earlier.
Longer term the global lock likely still needs to be eliminated, but this at least makes it less pressing.
Comments/testing welcome. I didn't do a lot of scalability testing so far, just ran a stress tester to make sure I didn't miss some case.
-Andi
| |