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