Линейный вызов

В настоящее время я сталкиваюсь с проблемой, когда в последовательности загрузки компьютер перестает загружаться. Это происходит случайным образом! Он всегда застревает в одном и том же месте (ниже). Я не могу понять, что это говорит мне. У кого-нибудь есть идея, как я могу исправить эту проблему? Я готов следовать инструкциям, чтобы дать вам больше информации о моей проблеме :)

[ 2.784010] ACPI: Power Button [PWRB] [ 2.787744] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2 [ 2.795219] ACPI: Power Button [PWRF] [ 23.635987] INFO: rcu_preempt detected stalls on CPUs/tasks: [ 23.641708] 2-...: (2 GPs behind) idle=e14/0/0 softirq=14/14 fqs=0 [ 23.648102] 4-...: (5 GPs behind) idle=ac8/0/0 softirq=7/9 fqs=0 [ 23.654328] 6-...: (5 GPs behind) idle=8b8/0/0 softirq=9/11 fqs=0 [ 23.660641] 7-...: (0 ticks this GP) idle=860/0/0 softirq=18/18 fqs=0 [ 23.667758] (detected by 5, t=21002 jiffies, g=-291, c=-292, q=42) [ 23.674555] Task dump for CPU 2: [ 23.678303] swapper/2 R running task 0 0 1 0x00200000 [ 23.685929] ffff88046ec91400 ffff88045cb33ed0 ffffffff82092d10 0000000000000001 [ 23.693942] 0000000000000000 ffffffff81f262b8 0000000000000000 ffff88045cb34000 [ 23.701958] 0000000000000000 0000000000000000 ffff88045cb33ed0 ffffffff810250ff [ 23.709965] Call Trace: [ 23.712956] [<ffffffff810250ff>] ? arch_cpu_idle+0xf/0x20 [ 23.719001] [<ffffffff810b6c6a>] ? default_idle_call+0x2a/0x30 [ 23.725489] [<ffffffff810b6f1f>] ? cpu_startup_entry+0x2af/0x310 [ 23.732132] [<ffffffff8103b3df>] ? start_secondary+0xef/0x100 [ 23.738531] Task dump for CPU 4: [ 23.742307] swapper/4 R running task 0 0 1 0x00200000 [ 23.749988] ffff88046ed11400 ffff88045cb3bed0 ffffffff82092d10 0000000000000001 [ 23.758030] 0000000000000000 ffffffff81f262b8 0000000000000000 ffff88045cb3c000 [ 23.766068] 0000000000000000 0000000000000000 ffff88045cb3bed0 ffffffff810250ff [ 23.774102] Call Trace: [ 23.777109] [<ffffffff810250ff>] ? arch_cpu_idle+0xf/0x20 [ 23.783171] [<ffffffff810b6c6a>] ? default_idle_call+0x2a/0x30 [ 23.789681] [<ffffffff810b6f1f>] ? cpu_startup_entry+0x2af/0x310 [ 23.796340] [<ffffffff8103b3df>] ? start_secondary+0xef/0x100 [ 23.802746] Task dump for CPU 6: [ 23.806522] swapper/6 R running task 0 0 1 0x00200000 [ 23.814167] ffff88046ed91400 ffff88045cb4bed0 ffffffff82092d10 0000000000000001 [ 23.822202] 0000000000000000 ffffffff81f262b8 0000000000000000 ffff88045cb4c000 [ 23.830244] 0000000000000000 0000000000000000 ffff88045cb4bed0 ffffffff810250ff [ 23.838274] Call Trace: [ 23.841258] [<ffffffff810250ff>] ? arch_cpu_idle+0xf/0x20 [ 23.847297] [<ffffffff810b6c6a>] ? default_idle_call+0x2a/0x30 [ 23.853769] [<ffffffff810b6f1f>] ? cpu_startup_entry+0x2af/0x310 [ 23.860401] [<ffffffff8103b3df>] ? start_secondary+0xef/0x100 [ 23.866753] Task dump for CPU 7: [ 23.870480] swapper/7 R running task 0 0 1 0x00200000 [ 23.878090] ffff88046edd1400 ffff88045cb4fed0 ffffffff82092d10 0000000000000001 [ 23.886097] 0000000000000000 ffffffff81f262b8 0000000000000000 ffff88045cb50000 [ 23.894122] 0000000000000000 0000000000000000 ffff88045cb4fed0 ffffffff810250ff [ 23.902135] Call Trace: [ 23.905114] [<ffffffff810250ff>] ? arch_cpu_idle+0xf/0x20 [ 23.911148] [<ffffffff810b6c6a>] ? default_idle_call+0x2a/0x30 [ 23.917607] [<ffffffff810b6f1f>] ? cpu_startup_entry+0x2af/0x310 [ 23.924242] [<ffffffff8103b3df>] ? start_secondary+0xef/0x100 [ 23.930598] rcu_preempt kthread starved for 21002 jiffies! g18446744073709551325 c18446744073709551324 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x1 [ 23.944112] rcu_preempt S ffff88045cb13db8 0 7 2 0x00000000 [ 23.951741] ffff88045cb13db8 ffff88046ecceb00 ffff88045ca34c80 ffff88045cb13df0 [ 23.959751] ffff88045cb14000 00000000fffb72e9 ffff88045cb13df0 ffff88046ecceb00 [ 23.967771] 0000000000000000 ffff88045cb13dd0 ffffffff819ca1fc ffff88046ecceb00 [ 23.975791] Call Trace: [ 23.978770] [<ffffffff819ca1fc>] schedule+0x3c/0x90 [ 23.984298] [<ffffffff819cd537>] schedule_timeout+0x177/0x330 [ 23.990689] [<ffffffff810d15f0>] ? del_timer_sync+0x50/0x50 [ 23.996882] [<ffffffff810ccdd0>] rcu_gp_kthread+0x5e0/0x900 [ 24.003081] [<ffffffff810cc7f0>] ? synchronize_sched_expedited+0xa0/0xa0 [ 24.010415] [<ffffffff81098239>] kthread+0xc9/0xe0 [ 24.015819] [<ffffffff819ce7cf>] ret_from_fork+0x1f/0x40 [ 24.021759] [<ffffffff81098170>] ? kthread_worker_fn+0x170/0x170
0
задан 27 July 2017 в 00:22

2 ответа

Следующие проблемы могут приводить к предупреждениям о блокировке CPU RCU:

Задача реального времени, связанная с процессором, в ядре CONFIG_PREEMPT, что может привести к тому, что в середине RCU будет выполняться задача с низким приоритетом критический раздел на стороне чтения. Это особенно опасно, если эта задача с низким приоритетом не разрешена для запуска на любом другом процессоре, и в этом случае следующий период льгот RCU никогда не может завершиться, что в конечном итоге приведет к тому, что система исчерпает память и повесится. Задача реального времени, связанная с процессором, в ядре CONFIG_PREEMPT_RT, работающем с более высоким приоритетом, чем потоки RCU softirq. Это предотвратит вызов обратных вызовов RCU, и ядро ​​CONFIG_PREEMPT_RCU еще больше предотвратит завершение периодов льгот RCU. В любом случае система в конечном итоге исчерпает память и повесит.

В вашем случае это происходит в начале процесса загрузки. В зависимости от вашего MOBO / BIOS может быть установка для отключения или установки автоматической функции, которая не позволит потоку с высоким приоритетом подавлять CPU (ы) и вызывать жизненно важные процессы, когда они ожидают циклы CPU.

0
ответ дан 18 July 2018 в 09:36

Следующие проблемы могут приводить к предупреждениям о блокировке CPU RCU:

Задача реального времени, связанная с процессором, в ядре CONFIG_PREEMPT, что может привести к тому, что в середине RCU будет выполняться задача с низким приоритетом критический раздел на стороне чтения. Это особенно опасно, если эта задача с низким приоритетом не разрешена для запуска на любом другом процессоре, и в этом случае следующий период льгот RCU никогда не может завершиться, что в конечном итоге приведет к тому, что система исчерпает память и повесится. Задача реального времени, связанная с процессором, в ядре CONFIG_PREEMPT_RT, работающем с более высоким приоритетом, чем потоки RCU softirq. Это предотвратит вызов обратных вызовов RCU, и ядро ​​CONFIG_PREEMPT_RCU еще больше предотвратит завершение периодов льгот RCU. В любом случае система в конечном итоге исчерпает память и повесит.

В вашем случае это происходит в начале процесса загрузки. В зависимости от вашего MOBO / BIOS может быть установка для отключения или установки автоматической функции, которая не позволит потоку с высоким приоритетом подавлять CPU (ы) и вызывать жизненно важные процессы, когда они ожидают циклы CPU.

0
ответ дан 24 July 2018 в 19:23
  • 1
    Если вы опубликуете, какой MOBO вы используете, я могу проверить, есть ли настройка BIOS, которая исправит вашу проблему. – jones0610 27 July 2017 в 00:56

Другие вопросы по тегам:

Похожие вопросы: