rcu_preempt detected stalls on CPUs/tasks

ng-4.log:

[2019/10/18 10:31:50] [  360.742956] INFO: rcu_preempt detected stalls on CPUs/tasks:

[2019/10/18 10:31:50] [r data: Addr failu r 360.743000e, 0

[2019/10/18 10:31:51] ] 0-...: (1 GPs behind) idle=2c3/140000000000001/0 softirq=2030/2031 fqs=0

[2019/10/18 10:31:52] [  360.743009]    (detected by 3, t=12546 jiffies, g=353, c=352, q=107)

[2019/10/18 10:31:54] [  360.743023] Task dump for CPU 0:

[2019/10/18 10:32:03] [  360.743030] mmcqd/0         R  running task        0   899      2 0x00000000

[2019/10/18 10:32:03] [  360.743047] Call trace:

[2019/10/18 10:32:08] [  360.743068] [<ffffff8b11086318>] __switch_to+0xdc/0xe8

[2019/10/18 10:32:09] [  360.743082] [<ffffff8b115537c8>] msdc_ops_request+0x78/0x88

[2019/10/18 10:32:11] [  360.743093] [<ffffff8b1153bf40>] __mmc_start_request+0x10c/0x168

[2019/10/18 10:32:15] [  360.743102] [<ffffff8b1153c088>] mmc_start_request+0xec/0x104

[2019/10/18 10:32:18] [  360.743111] [<ffffff8b1153ddd4>] mmc_start_req+0x2f0/0x3ac

[2019/10/18 10:32:25] [  360.743121] [<ffffff8b1154e10c>] mmc_blk_issue_rw_rq+0x390/0x8dc

[2019/10/18 10:32:34] [  360.743130] [<ffffff8b1154ff0c>] mmc_blk_issue_rq+0x3e8/0x478

[2019/10/18 10:32:39] [  360.743140] [<ffffff8b11550084>] mmc_queue_thread+0xe8/0x198

[2019/10/18 10:32:43] [  360.743152] [<ffffff8b110ccb84>] kthread+0xf0/0xf8

[2019/10/18 10:32:49] [  360.743162] [<ffffff8b11083180>] ret_from_fork+0x10/0x50

上述的CPU stall call trace,据我初步了解,发生这个cpu stall的原因是mmcqd/0线程在一个RCU grace period内没有call rcu_read_unlock(),并且这个线程一直占用着CPU 0

猜你喜欢

转载自www.cnblogs.com/aspirs/p/12633138.html
RCU