[PATCHES] semaphore rewrite

Matthew Wilcox
2008-02-27T00:36:49Z

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."