[cpufreq] kernel BUG at kernel/irq_work.c:175!

Message ID CAKohpo=qmJktRviycErY205xo=-MJ1NZG-uGidRXjO+aAEczEg@mail.gmail.com
State New
Headers show

Commit Message

Viresh Kumar June 25, 2014, 9:42 a.m.
On 25 June 2014 15:06, Fengguang Wu <fengguang.wu@intel.com> wrote:
> FYI, we find similar bug message in Viresh's tree, which contains 8
> cpufreq patches based on next-20140625.
>
> tree:   git://git.linaro.org/people/vireshk/linux cpufreq/cpu0-exynos
> head:   d51c9fbdf49983fc3303ec576d02e8ef97da3d8b
> commit: d51c9fbdf49983fc3303ec576d02e8ef97da3d8b [8/8] cpufreq: cpu0: Add support for multiple 'struct cpufreq_policy' instances
>
> +-----------------------------------------------------------------------------+-----------+---------------+------------+
> |                                                                             | v3.16-rc2 | next-20140625 | d51c9fbdf4 |
> +-----------------------------------------------------------------------------+-----------+---------------+------------+
> | boot_successes                                                              | 3         | 3             | 1          |
> | boot_failures                                                               | 0         | 0             | 2          |
> | kernel_BUG_at_kernel/irq_work.c                                             | 0         | 0             | 2          |
> | invalid_opcode                                                              | 0         | 0             | 2          |
> | RIP:irq_work_run                                                            | 0         | 0             | 2          |
> | BUG:sleeping_function_called_from_invalid_context_at_kernel/locking/rwsem.c | 0         | 0             | 2          |
> | backtrace:smpboot_thread_fn                                                 | 0         | 0             | 2          |
> +-----------------------------------------------------------------------------+-----------+---------------+------------+
>
> mount.nfs: access denied by server while mounting bee:/nfsroot/trinity
> run-parts: /etc/kernel-tests/99-trinity exited with return code 32
> [   66.841357] ------------[ cut here ]------------
> [   66.841772] kernel BUG at kernel/irq_work.c:175!
> [   66.842302] invalid opcode: 0000 [#1] SMP
> [   66.842686] Modules linked in:
> [   66.842969] CPU: 1 PID: 10 Comm: migration/1 Not tainted 3.16.0-rc2-next-20140625-00008-gd51c9fb #6
> [   66.843747] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
> [   66.844010] task: ffff88001eb75e60 ti: ffff88001e03c000 task.ti: ffff88001e03c000
> [   66.844010] RIP: 0010:[<ffffffff811820fd>]  [<ffffffff811820fd>] irq_work_run+0xf/0x22
> [   66.844010] RSP: 0018:ffff88001e03fcc0  EFLAGS: 00010046
> [   66.844010] RAX: 0000000080000001 RBX: 0000000000000000 RCX: 0000000000000005
> [   66.844010] RDX: 0000000000000001 RSI: 0000000000000008 RDI: 0000000000000000
> [   66.844010] RBP: ffff88001e03fce0 R08: 0000000000000200 R09: ffffffff82137030
> [   66.844010] R10: 0000000000001c24 R11: 0000000000007c00 R12: ffff88001fd13940
> [   66.844010] R13: 0000000000000000 R14: 0000000000000000 R15: ffffffff82073270
> [   66.844010] FS:  0000000000000000(0000) GS:ffff88001fd00000(0000) knlGS:0000000000000000
> [   66.844010] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> [   66.844010] CR2: 00007f10054a6000 CR3: 0000000000030000 CR4: 00000000000006e0
> [   66.844010] Stack:
> [   66.844010]  ffffffff811412f7 0000000000000001 ffff88001fd13980 ffffffff82055fb0
> [   66.844010]  ffff88001e03fd00 ffffffff811413ea 0000000000000001 00000000fffffff0
> [   66.844010]  ffff88001e03fd48 ffffffff81105027 0000000000000001 0000000000000008
> [   66.844010] Call Trace:
> [   66.844010]  [<ffffffff811412f7>] ? flush_smp_call_function_queue+0xab/0x10e
> [   66.844010]  [<ffffffff811413ea>] hotplug_cfd+0x90/0x97
> [   66.844010]  [<ffffffff81105027>] notifier_call_chain+0x6d/0x93
> [   66.844010]  [<ffffffff811050c5>] __raw_notifier_call_chain+0xe/0x10
> [   66.844010]  [<ffffffff810e5408>] __cpu_notify+0x20/0x37
> [   66.844010]  [<ffffffff810e5432>] cpu_notify+0x13/0x15
> [   66.844010]  [<ffffffff819bd4ab>] take_cpu_down+0x27/0x3a
> [   66.844010]  [<ffffffff81155737>] multi_cpu_stop+0x93/0xed
> [   66.844010]  [<ffffffff811556a4>] ? cpu_stop_park+0x63/0x63
> [   66.844010]  [<ffffffff811559b3>] cpu_stopper_thread+0x92/0x114
> [   66.844010]  [<ffffffff819d1e64>] ? retint_restore_args+0x13/0x13
> [   66.844010]  [<ffffffff819d0bbf>] ? _raw_spin_lock_irqsave+0x25/0x56
> [   66.844010]  [<ffffffff81107069>] smpboot_thread_fn+0x187/0x1a5
> [   66.844010]  [<ffffffff81106ee2>] ? SyS_setgroups+0x10c/0x10c
> [   66.844010]  [<ffffffff81101627>] kthread+0xdb/0xe3
> [   66.844010]  [<ffffffff8110154c>] ? kthread_create_on_node+0x174/0x174
> [   66.844010]  [<ffffffff819d127c>] ret_from_fork+0x7c/0xb0
> [   66.844010]  [<ffffffff8110154c>] ? kthread_create_on_node+0x174/0x174
> [   66.844010] Code: cd 81 e8 dc 31 f6 ff c6 05 46 c3 f8 00 01 eb 05 e8 91 ff ff ff b8 01 00 00 00 5d c3 65 8b 04 25 50 b9 00 00 a9 00 00 0f 00 75 02 <0f> 0b 55 48 89 e5 e8 70 ff ff ff 5d c3 55 48 89 e5 5d c3 55 48
> [   66.844010] RIP  [<ffffffff811820fd>] irq_work_run+0xf/0x22
> [   66.844010]  RSP <ffff88001e03fcc0>
> [   66.844010] ---[ end trace 043717361af3ed47 ]---
> [   66.844010] BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:41

Nothing specific to my tree, its there in linux-next and PeterZ is
already working on it:

https://lkml.org/lkml/2014/6/25/25

Last diff from him:

---
 kernel/irq_work.c |   12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Comments

Fengguang Wu June 25, 2014, 9:54 a.m. | #1
> Nothing specific to my tree, its there in linux-next and PeterZ is
> already working on it:
> 
> https://lkml.org/lkml/2014/6/25/25

That's great! Sorry I should have googled LKML before reporting this error.

Fengguang

> Last diff from him:
> 
> ---
>  kernel/irq_work.c |   12 +-----------
>  1 file changed, 1 insertion(+), 11 deletions(-)
> 
> Index: linux-2.6/kernel/irq_work.c
> ===================================================================
> --- linux-2.6.orig/kernel/irq_work.c
> +++ linux-2.6/kernel/irq_work.c
> @@ -160,21 +160,11 @@ static void irq_work_run_list(struct lli
>         }
>  }
> 
> -static void __irq_work_run(void)
> +static void irq_work_run(void)
>  {
>         irq_work_run_list(&__get_cpu_var(raised_list));
>         irq_work_run_list(&__get_cpu_var(lazy_list));
>  }
> -
> -/*
> - * Run the irq_work entries on this cpu. Requires to be ran from hardirq
> - * context with local IRQs disabled.
> - */
> -void irq_work_run(void)
> -{
> -       BUG_ON(!in_irq());
> -       __irq_work_run();
> -}
>  EXPORT_SYMBOL_GPL(irq_work_run);
--
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/

Patch hide | download patch | download mbox

Index: linux-2.6/kernel/irq_work.c
===================================================================
--- linux-2.6.orig/kernel/irq_work.c
+++ linux-2.6/kernel/irq_work.c
@@ -160,21 +160,11 @@  static void irq_work_run_list(struct lli
        }
 }

-static void __irq_work_run(void)
+static void irq_work_run(void)
 {
        irq_work_run_list(&__get_cpu_var(raised_list));
        irq_work_run_list(&__get_cpu_var(lazy_list));
 }
-
-/*
- * Run the irq_work entries on this cpu. Requires to be ran from hardirq
- * context with local IRQs disabled.
- */
-void irq_work_run(void)
-{
-       BUG_ON(!in_irq());
-       __irq_work_run();
-}
 EXPORT_SYMBOL_GPL(irq_work_run);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org