Re: [patch] Real-Time Preemption, -RT-2.6.12-rc6-V0.7.47-29
From: Daniel Walker
Date: Tue Jun 07 2005 - 15:32:40 EST
On Tue, 2005-06-07 at 21:41 +0200, Ingo Molnar wrote:
> ere are more microoptimizations to the spin_lock/unlock hotpath:
>
> - the caching of mutex_getprio() priority in p->normal_prio
>
> - the mutex lock/unlock paths are now all fall-through. (Found a gcc
> bug, it mishandles __builtin_expect() in certain cases and produces
> correct but suboptimal code - we are working it around now.)
>
> - reduced the amount of recursive preemption-counter bumps via the use
> of raw spinlocks
>
> - rely on the preemption-counter instead of IRQs-off sections
There is a local_irq_enable missing someplace in UP ..
BUG: scheduling with irqs disabled: khelper/0x00000000/5
caller is __down_mutex+0x276/0x440
[<c03a88d6>] __down_mutex+0x276/0x440 (4)
[<c03a75cc>] schedule+0xec/0x100 (4)
[<c03a88d6>] __down_mutex+0x276/0x440 (12)
[<c012b290>] remove_wait_queue+0x10/0x40 (64)
[<c0130e02>] __spin_lock+0x22/0x40 (32)
[<c012b290>] remove_wait_queue+0x10/0x40 (8)
[<c0130e8c>] _spin_lock_irqsave+0xc/0x20 (12)
[<c012b290>] remove_wait_queue+0x10/0x40 (8)
[<c012b290>] remove_wait_queue+0x10/0x40 (4)
[<c0126a2b>] worker_thread+0x14b/0x280 (20)
[<c01265a0>] __call_usermodehelper+0x0/0x60 (16)
[<c0112d20>] default_wake_function+0x0/0x40 (28)
[<c0112d20>] default_wake_function+0x0/0x40 (32)
[<c01268e0>] worker_thread+0x0/0x280 (36)
[<c012af24>] kthread+0x84/0xc0 (4)
[<c012aea0>] kthread+0x0/0xc0 (20)
[<c010132d>] kernel_thread_helper+0x5/0x18 (16)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/