Messages in this thread | | | Date | Tue, 26 Feb 2008 17:36:05 -0700 | From | Matthew Wilcox <> | Subject | [PATCHES] semaphore rewrite |
| |
Here's a series of twelve patches to introduce down_killable(). I expect the first ten to be uncontroversial, and easy to apply. The last two ... I'm still testing. More testers would be welcome, particularly people who have performance test-suites they wouldn't want to see regress.
The way I go about introducing down_killable is to replace all the carefully hand-tuned assembler with a generic C implementation. One of the annoying things about this is that the header file is in asm/semaphore.h instead of linux/semaphore.h. I tackle this by removing all the obsolete inclusions of asm/semaphore.h (around 100 of them). In order for that to work, I actually need to add a couple in places where they were being implicitly included.
Then I replace the per-arch implementations with a generic one. All the <asm/semaphore.h> files become a one-line include of linux/sempahore.h.
Then all remaining users in the tree are converted to use linux/semaphore.h.
I add 'removal of asm/semaphore.h' to features-removal to not inflict extra pain on Andrew during this process.
So, to recap:
Patches 1 - 2: Add missing includes Patches 3 - 10: Remove obsolete includes (split up by top-level directory) Patch 11: Generic semaphore implementation Patch 12: Switch remaining users to linux/semaphore.h
I hope this split causes the least amount of pain.
-- Intel are signing my paycheques ... these opinions are still mine "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step."
| |