[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120506153814.GA25681@linux.vnet.ibm.com>
Date: Sun, 6 May 2012 08:38:14 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: linux-kernel@...r.kernel.org
Cc: tj@...nel.org
Subject: Warning in worker_enter_idle()
Hello!
The worker_enter_idle() is complaining that there all workers are idle,
but that there is work remaining:
/* sanity check nr_running */
WARN_ON_ONCE(gcwq->nr_workers == gcwq->nr_idle &&
atomic_read(get_gcwq_nr_running(gcwq->cpu)));
This is running on Power, .config attached. I must confess that I don't
see any sort of synchronization or memory barriers that would keep the
counts straight on a weakly ordered system. Or is there some clever
design constraint that prevents worker_enter_idle() from accessing other
CPUs' gcwq_nr_running variables?
Thanx, Paul
[ 1773.881934] ------------[ cut here ]------------
[ 1773.881954] WARNING: at kernel/workqueue.c:1215
[ 1773.881963] Modules linked in: rcutorture ipv6 dm_mirror dm_region_hash dm_log ses enclosure ehea ext3 jbd mbcache sg sd_mod crc_t10dif ipr radeon drm_kms_helper ttm drm hwmon i2c_algo_bit i2c_core power_supply dm_mod [last unloaded: scsi_wait_scan]
[ 1773.882068] NIP: c00000000009b0f8 LR: c00000000009b124 CTR: c0000000000621b0
[ 1773.882083] REGS: c0000003cacf7b00 TRAP: 0700 Not tainted (3.4.0-rc4-autokern1)
[ 1773.882095] MSR: 8000000000029032 <SF,EE,ME,IR,DR,RI> CR: 28000044 XER: 00000020
[ 1773.882135] SOFTE: 0
[ 1773.882142] CFAR: c00000000009b068
[ 1773.882151] TASK = c0000003c6fdcff0[30348] 'kworker/5:1' THREAD: c0000003cacf4000 CPU: 5
[ 1773.882166] GPR00: 0000000000000001 c0000003cacf7d80 c000000000e7e7e8 0000000000000000
[ 1773.882193] GPR04: 0000000000000000 c0000001d609f798 0000000000000000 0000000000000000
[ 1773.882220] GPR08: 0000000000000000 c000000000dc6c04 0000000000000002 c0000000011b5b00
[ 1773.882247] GPR12: 0000000000000002 c00000000f550f00 0000000001a5fa78 00000000020c9400
[ 1773.882274] GPR16: 0000000003300000 000000000021eeef 000000000021f19b 000000000021f064
[ 1773.882301] GPR20: 0000000000220000 c0000003c94cfbd0 0000000000000000 0000000000000000
[ 1773.882327] GPR24: 0000000000000001 0000000000000001 0000000000000000 c0000000011a4208
[ 1773.882354] GPR28: c000000000ec2580 c0000003c9fe4900 c000000000e09430 c0000000011a4200
[ 1773.882391] NIP [c00000000009b0f8] .worker_enter_idle+0x158/0x1b0
[ 1773.882404] LR [c00000000009b124] .worker_enter_idle+0x184/0x1b0
[ 1773.882415] Call Trace:
[ 1773.882424] [c0000003cacf7d80] [c00000000009b124] .worker_enter_idle+0x184/0x1b0 (unreliable)
[ 1773.882444] [c0000003cacf7e10] [c00000000009fb08] .worker_thread+0x238/0x460
[ 1773.882462] [c0000003cacf7ed0] [c0000000000a992c] .kthread+0xbc/0xd0
[ 1773.882479] [c0000003cacf7f90] [c0000000000216e4] .kernel_thread+0x54/0x70
[ 1773.882493] Instruction dump:
[ 1773.882502] e97e8010 78091f24 e81e8008 7d2b482a 7c004a14 7c0b0378 800b0000 2f800000
[ 1773.882536] 419eff88 e93e8030 88090003 68000001 <0b000000> 2fa00000 41feff70 38000001
[ 1773.882569] ---[ end trace 5e41f99db128c10a ]---
View attachment ".config" of type "text/plain" (86246 bytes)
Powered by blists - more mailing lists