使用 lp 命令触发 CPU 上的 rcu_sched 自检测停顿

使用 lp 命令触发 CPU 上的 rcu_sched 自检测停顿

当我通过 lp 模块使用旧打印机时,加载模块后modprobe lp,如果我向 lp0 模块输出字符,echo 1>lp0我的电脑桌面会卡住,(但远程连接到我的电脑不是问题)

这是我的 dmesg 日志:

lp0: using parport0 (interrupt-driven).
rcu: INFO: rcu_sched self-detected stall on CPU
rcu:    0-....: (1 GPs behind) idle=866/0/0x7 softirq=37271/37271 fqs=6350 
    (t=15000 jiffies g=56737 q=16517)
Task dump for CPU 0:
task:swapper/0       state:R  running task     stack:    0 pid:    0 ppid:     0 flags:0x0000002a
Call trace:
 dump_backtrace+0x0/0x1e8
 show_stack+0x18/0x28
 sched_show_task.part.110+0xdc/0xf4
 sched_show_task+0xc4/0xd0
 dump_cpu_task+0x44/0x54
 rcu_dump_cpu_stacks+0xc0/0x104
 rcu_sched_clock_irq+0x870/0xa80
 update_process_times+0x60/0xa0
 tick_sched_handle.isra.20+0x40/0x58
 tick_sched_timer+0x4c/0xa8
 __hrtimer_run_queues+0x104/0x348
 hrtimer_interrupt+0x114/0x328
 arch_timer_handler_phys+0x30/0x40
 handle_percpu_devid_irq+0x88/0x210
 generic_handle_irq+0x30/0x48
 __handle_domain_irq+0x64/0xc0
 gic_handle_irq+0xc0/0x138
 el1_irq+0xc8/0x180
 efi_header_end+0x9c/0x35c
 irq_exit+0xa4/0xc0
 __handle_domain_irq+0x68/0xc0
 gic_handle_irq+0xc0/0x138
 el1_irq+0xc8/0x180
 arch_cpu_idle+0x18/0x28
 default_idle_call+0x54/0x17c
 do_idle+0x204/0x278
 cpu_startup_entry+0x24/0x58
 rest_init+0xbc/0xcc
 arch_call_rest_init+0x10/0x1c
 start_kernel+0x4f4/0x528

当我 时top,终端显示 CPU 0 运行在 100%

所以我想知道为什么会出现这个问题,我没有任何线索

相关内容