LWN.net Logo

RFC: Lower broadcast timer idle path lock contention

From:  Andi Kleen <andi@firstfloor.org>
To:  Thomas Gleixner <tglx@linutronix.de>
Subject:  RFC: Lower broadcast timer idle path lock contention
Date:  Fri, 6 May 2011 14:40:52 -0700
Message-ID:  <1304718056-20206-1-git-send-email-andi@firstfloor.org>
Cc:  Chris Mason <chris.mason@oracle.com>, Tim Chen <tim.c.chen@linux.intel.com>, linux-kernel@vger.kernel.org
Archive-link:  Article, Thread

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds