Ah, I didn't notice that as I've not reached the point of merging
everything into a working build -- I'd like to get some feedback
and comments on the mergable units as they become available, since
I'm rewriting a few portions to fix problems that experience with
the code revealed. Anyways, the patch below changes add_wait_queue_cond
to use spin_locks directly.
-ben
diff -urN wq-func-v2.5.22.diff/include/linux/wait.h wq-func-v2.5.22-b.diff/include/linux/wait.h
--- wq-func-v2.5.22.diff/include/linux/wait.h Mon Jun 17 15:53:25 2002
+++ wq-func-v2.5.22-b.diff/include/linux/wait.h Mon Jun 17 16:46:23 2002
@@ -106,7 +106,7 @@
({ \
unsigned long flags; \
int _raced = 0; \
- wq_write_lock_irqsave(&(q)->lock, flags); \
+ spin_lock_irqsave(&(q)->lock, flags); \
(wait)->flags = 0; \
__add_wait_queue((q), (wait)); \
rmb(); \
@@ -114,7 +114,7 @@
_raced = 1; \
__remove_wait_queue((q), (wait)); \
} \
- wq_write_unlock_irqrestore(&(q)->lock, flags); \
+ spin_lock_irqrestore(&(q)->lock, flags); \
_raced; \
})
-
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/