Make __queue_work inlined. It just takes spinlock and calls another function. Signed-off-by: Mikulas Patocka --- kernel/workqueue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Index: linux-2.6.26-rc8/kernel/workqueue.c =================================================================== --- linux-2.6.26-rc8.orig/kernel/workqueue.c 2008-06-25 03:58:20.000000000 +0200 +++ linux-2.6.26-rc8/kernel/workqueue.c 2008-07-01 17:42:49.000000000 +0200 @@ -141,8 +141,8 @@ static void insert_work(struct cpu_workq } /* Preempt must be disabled. */ -static void __queue_work(struct cpu_workqueue_struct *cwq, - struct work_struct *work) +static __always_inline void __queue_work(struct cpu_workqueue_struct *cwq, + struct work_struct *work) { unsigned long flags;