[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140319120251.GC7277@localhost>
Date: Wed, 19 Mar 2014 20:02:51 +0800
From: Fengguang Wu <fengguang.wu@...el.com>
To: linux-pm@...r.kernel.org
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Linux Memory Management List <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>, lkp@...org
Subject: [cpuidle] BUG: sleeping function called from invalid context at
/c/kernel-tests/src/lkp/mm/vmalloc.c:74
Greetings,
FYI, the below debug patch triggers a warning on cpuidle code path
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
commit 3d693a5127e79e79da7c34dc0c776bc620697ce5
Author: Andrew Morton <akpm@...ux-foundation.org>
AuthorDate: Mon Mar 17 11:23:56 2014 +1100
Commit: Stephen Rothwell <sfr@...b.auug.org.au>
CommitDate: Mon Mar 17 11:23:56 2014 +1100
mm-vmalloc-avoid-soft-lockup-warnings-when-vunmaping-large-ranges-fix
add a might_sleep() to catch atomic callers more promptly
Cc: David Vrabel <david.vrabel@...rix.com>
Cc: Dietmar Hahn <dietmar.hahn@...fujitsu.com>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
[ 26.028136] BUG: sleeping function called from invalid context at /c/kernel-tests/src/lkp/mm/vmalloc.c:74
[ 26.040078] in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/0
[ 26.040080] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.0-rc6-next-20140317 #1
[ 26.040081] Hardware name: Intel Corporation S5520UR/S5520UR, BIOS S5500.86B.01.00.0050.050620101605 05/06/2010
[ 26.040083] 0000000000000000 ffff8801e9c06d00 ffffffff81a3ae8a ffffc90001870000
[ 26.040084] ffff8801e9c06d10 ffffffff81101256 ffff8801e9c06d88 ffffffff811b1540
[ 26.040089] ffffc90001870fff ffffc90001870fff 0000000000000001 000037008ddb0000
[ 26.040089] Call Trace:
[ 26.040094] <NMI> [<ffffffff81a3ae8a>] dump_stack+0x4d/0x66
[ 26.040098] [<ffffffff81101256>] __might_sleep+0x10a/0x10c
[ 26.040101] [<ffffffff811b1540>] vunmap_page_range+0x143/0x2b2
[ 26.040102] [<ffffffff811b16c0>] unmap_kernel_range_noflush+0x11/0x13
[ 26.040105] [<ffffffff8156f578>] ghes_copy_tofrom_phys+0x11f/0x189
[ 26.040106] [<ffffffff8156f66a>] ghes_read_estatus+0x88/0x134
[ 26.040108] [<ffffffff81570379>] ghes_notify_nmi+0x53/0x1e7
[ 26.040110] [<ffffffff81a4370c>] nmi_handle.isra.4+0x68/0x113
[ 26.040112] [<ffffffff81a43e51>] ? perf_ibs_nmi_handler+0x3d/0x3d
[ 26.040113] [<ffffffff81a43867>] do_nmi+0xb0/0x2de
[ 26.040114] [<ffffffff81a42e91>] end_repeat_nmi+0x1e/0x2e
[ 26.040118] [<ffffffff81066ac0>] ? native_write_msr_safe+0xa/0xe
[ 26.040119] [<ffffffff81066ac0>] ? native_write_msr_safe+0xa/0xe
[ 26.040120] [<ffffffff81066ac0>] ? native_write_msr_safe+0xa/0xe
[ 26.040124] <<EOE>> <IRQ> [<ffffffff8104e597>] intel_pmu_enable_all+0x4c/0x9b
[ 26.040125] [<ffffffff8104e607>] intel_pmu_nhm_enable_all+0x21/0x152
[ 26.040127] [<ffffffff81049b00>] x86_pmu_enable+0x134/0x273
[ 26.040129] [<ffffffff81176942>] perf_pmu_enable+0x22/0x24
[ 26.040130] [<ffffffff81048268>] x86_pmu_commit_txn+0x7b/0x98
[ 26.040132] [<ffffffff81112a66>] ? __wake_up+0x44/0x4b
[ 26.040135] [<ffffffff81579c81>] ? tty_wakeup+0x5b/0x60
[ 26.040137] [<ffffffff81593d02>] ? uart_write_wakeup+0x20/0x22
[ 26.040139] [<ffffffff81596c7d>] ? serial8250_tx_chars+0xd9/0x142
[ 26.040140] [<ffffffff81a42396>] ? _raw_spin_unlock_irqrestore+0x25/0x41
[ 26.040141] [<ffffffff81a4220b>] ? _raw_spin_lock_irqsave+0x25/0x56
[ 26.040142] [<ffffffff81a42396>] ? _raw_spin_unlock_irqrestore+0x25/0x41
[ 26.040144] [<ffffffff810fb494>] ? hrtimer_get_next_event+0x83/0x98
[ 26.040145] [<ffffffff81177ad6>] ? event_sched_in+0x133/0x143
[ 26.040146] [<ffffffff81177b79>] group_sched_in+0x93/0x13c
[ 26.040149] [<ffffffff8103edc7>] ? native_sched_clock+0x31/0x93
[ 26.040150] [<ffffffff81178a83>] __perf_event_enable+0x1ad/0x1ea
[ 26.040151] [<ffffffff81175275>] remote_function+0x17/0x40
[ 26.040154] [<ffffffff8113786f>] generic_smp_call_function_single_interrupt+0x74/0xdb
[ 26.040156] [<ffffffff8105bb9e>] smp_call_function_single_interrupt+0x27/0x36
[ 26.040158] [<ffffffff81a4ae32>] call_function_single_interrupt+0x72/0x80
[ 26.040161] <EOI> [<ffffffff818e7546>] ? cpuidle_enter_state+0x59/0xb5
[ 26.040162] [<ffffffff818e7542>] ? cpuidle_enter_state+0x55/0xb5
[ 26.040164] [<ffffffff818e75ce>] cpuidle_enter+0x17/0x19
[ 26.040165] [<ffffffff81113271>] cpu_startup_entry+0x227/0x3b8
[ 26.040167] [<ffffffff81a2ca43>] rest_init+0x87/0x89
[ 26.040169] [<ffffffff82353dda>] start_kernel+0x401/0x40c
[ 26.040170] [<ffffffff823537e7>] ? repair_env_string+0x58/0x58
[ 26.040171] [<ffffffff82353120>] ? early_idt_handlers+0x120/0x120
[ 26.040173] [<ffffffff823534a2>] x86_64_start_reservations+0x2a/0x2c
[ 26.040174] [<ffffffff823535df>] x86_64_start_kernel+0x13b/0x148
[ 26.463198] perf interrupt took too long (2503 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
Thanks,
Fengguang
View attachment "dmesg" of type "text/plain" (189441 bytes)
Powered by blists - more mailing lists