[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <trinity-925e197b-4c6a-49f7-b8c8-5b44e596d291-1769898129741@3c-app-mailcom-bs05>
Date: Sat, 31 Jan 2026 23:22:09 +0100
From: ysard <ysard_git@....fr>
To: Petr Mladek <pmladek@...e.com>
Cc: John Ogness <john.ogness@...utronix.de>, linux-kernel@...r.kernel.org,
senozhatsky@...omium.org
Subject: Re: Regression: system freeze on resume from suspend introduced by
printk per-console suspended state
Here are the logs, debug_console_lock is disabled 4 seconds after each test
to avoid consuming the 100 reports (kworker events are frequent here).
> It would be nice to provide three logs with this patch:
>
> 1. console_lock() API called by
> echo suspend >/proc/driver/nvidia/suspend
[ 65.417500] [ T88] printk: console lock API call [1]: console_lock() by pid=88, comm=kworker/4:1+events
[ 65.417581] [ T88] printk: console lock API call [2]: console_unlock() by pid=88, comm=kworker/4:1+events
[ 74.984380] [ T88] printk: console lock API call [3]: console_lock() by pid=88, comm=kworker/4:1+events
[ 74.984450] [ T88] printk: console lock API call [4]: console_unlock() by pid=88, comm=kworker/4:1+events
[ 75.134088] [ T88] printk: console lock API call [5]: console_lock() by pid=88, comm=kworker/4:1+events
[ 75.134289] [ T88] printk: console lock API call [6]: console_unlock() by pid=88, comm=kworker/4:1+events
> 2. console_lock() API called by the suspend test
>
> No freeze (expected):
> $ sudo sh -c "
> mkdir -p /var/run/nvidia-sleep \
> && echo 2 > /var/run/nvidia-sleep/Xorg.vt_number \
> && chvt 63 \
> && systemctl suspend"
[ 325.592510] [ T3023] printk: console lock API call [25]: console_lock() by pid=3023, comm=chvt
[ 325.592594] [ T3023] printk: console lock API call [26]: console_unlock() by pid=3023, comm=chvt
[ 325.592656] [ T200] printk: console lock API call [27]: console_lock() by pid=200, comm=kworker/7:2+events
[ 325.592698] [ T200] printk: console lock API call [28]: console_unlock() by pid=200, comm=kworker/7:2+events
[ 325.709430] [ T11] printk: console lock API call [29]: console_lock() by pid=11, comm=kworker/0:1+events
[ 325.709483] [ T11] printk: console lock API call [30]: console_unlock() by pid=11, comm=kworker/0:1+events
[ 326.592523] [ T3023] printk: console lock API call [31]: console_lock() by pid=3023, comm=chvt
[ 326.592620] [ T3023] printk: console lock API call [32]: console_unlock() by pid=3023, comm=chvt
[ 326.592709] [ T200] printk: console lock API call [33]: console_lock() by pid=200, comm=kworker/7:2+events
[ 326.592757] [ T200] printk: console lock API call [34]: console_unlock() by pid=200, comm=kworker/7:2+events
[ 327.151095] [ T1428] printk: console lock API call [35]: console_lock() by pid=1428, comm=Xorg
[ 327.152983] [ T1428] printk: console lock API call [36]: console_unlock() by pid=1428, comm=Xorg
[ 327.204795] [ T3050] printk: console lock API call [37]: console_lock() by pid=3050, comm=9
[ 327.204939] [ T3050] printk: console lock API call [38]: console_unlock() by pid=3050, comm=9
[ 327.205051] [ T3050] printk: console lock API call [39]: console_lock() by pid=3050, comm=9
[ 327.205158] [ T3050] printk: console lock API call [40]: console_unlock() by pid=3050, comm=9
[ 327.205335] [ T3050] printk: console lock API call [41]: console_lock() by pid=3050, comm=9
[ 327.205398] [ T3050] printk: console lock API call [42]: console_unlock() by pid=3050, comm=9
[ 327.517379] [ T3065] printk: console lock API call [43]: console_lock() by pid=3065, comm=9
[ 327.517483] [ T3065] printk: console lock API call [44]: console_unlock() by pid=3065, comm=9
[ 327.517567] [ T3065] printk: console lock API call [45]: console_lock() by pid=3065, comm=9
[ 327.517644] [ T3065] printk: console lock API call [46]: console_unlock() by pid=3065, comm=9
[ 327.517805] [ T3065] printk: console lock API call [47]: console_lock() by pid=3065, comm=9
[ 327.517890] [ T3065] printk: console lock API call [48]: console_unlock() by pid=3065, comm=9
[ 327.558752] [ T3073] printk: console lock API call [49]: console_lock() by pid=3073, comm=9
[ 327.558877] [ T3073] printk: console lock API call [50]: console_unlock() by pid=3073, comm=9
[ 327.558963] [ T3073] printk: console lock API call [51]: console_lock() by pid=3073, comm=9
[ 327.559043] [ T3073] printk: console lock API call [52]: console_unlock() by pid=3073, comm=9
[ 327.559197] [ T3073] printk: console lock API call [53]: console_lock() by pid=3073, comm=9
[ 327.559247] [ T3073] printk: console lock API call [54]: console_unlock() by pid=3073, comm=9
[ 327.585818] [ T3073] printk: console lock API call [55]: console_lock() by pid=3073, comm=systemd-sleep
[ 327.585937] [ T3073] printk: console lock API call [56]: console_unlock() by pid=3073, comm=systemd-sleep
[ 327.586127] [ T95] printk: console lock API call [57]: console_lock() by pid=95, comm=kworker/6:1+events
[ 327.586168] [ T95] printk: console lock API call [58]: console_unlock() by pid=95, comm=kworker/6:1+events
[ 327.591067] [ T3073] printk: Suspending console(s) (use no_console_suspend to debug)
[ 327.591069] [ T3073] printk: console lock API call [59]: console_lock() by pid=3073, comm=systemd-sleep
[ 327.591084] [ T3073] ? _printk+0x54/0x60
[ 327.591163] [ T3073] printk: console lock API call [60]: console_unlock() by pid=3073, comm=systemd-sleep
[ 327.591175] [ T3073] ? _printk+0x54/0x60
[ 327.591242] [ T3073] printk: console lock API call [61]: console_lock() by pid=3073, comm=systemd-sleep
[ 327.591253] [ T3073] ? _printk+0x54/0x60
[ 327.591322] [ T3073] printk: console lock API call [62]: console_unlock() by pid=3073, comm=systemd-sleep
[ 327.591332] [ T3073] ? _printk+0x54/0x60
[ 327.591396] [ T3073] printk: console lock API call [63]: console_lock() by pid=3073, comm=systemd-sleep
[ 327.591470] [ T3073] printk: console_suspend_all
[ 328.652581] [ T89] printk: console lock API call [64]: console_lock() by pid=89, comm=kworker/1:1+events
[ 328.652639] [ T89] printk: console lock API call [65]: console_unlock() by pid=89, comm=kworker/1:1+events
[ 330.313166] [ T3073] printk: console_resume_all
[ 330.313173] [ T3073] printk: console lock API call [66]: console_unlock() by pid=3073, comm=systemd-sleep
[ 330.313319] [ T3073] printk: console lock API call [67]: console_lock() by pid=3073, comm=systemd-sleep
[ 330.313425] [ T3073] printk: console lock API call [68]: console_unlock() by pid=3073, comm=systemd-sleep
[ 330.313521] [ T3073] printk: console lock API call [69]: console_lock() by pid=3073, comm=systemd-sleep
[ 330.313621] [ T3073] printk: console lock API call [70]: console_unlock() by pid=3073, comm=systemd-sleep
[ 331.198632] [ T3073] printk: console lock API call [71]: console_lock() by pid=3073, comm=systemd-sleep
[ 331.198909] [ T3073] printk: console lock API call [72]: console_unlock() by pid=3073, comm=systemd-sleep
[ 331.199418] [ T89] printk: console lock API call [73]: console_lock() by pid=89, comm=kworker/1:1+events
[ 331.199564] [ T89] printk: console lock API call [74]: console_unlock() by pid=89, comm=kworker/1:1+events
[ 331.222975] [ T3150] printk: console lock API call [75]: console_lock() by pid=3150, comm=chvt
[ 331.223105] [ T3150] printk: console lock API call [76]: console_unlock() by pid=3150, comm=chvt
[ 331.223221] [ T3150] printk: console lock API call [77]: console_lock() by pid=3150, comm=chvt
[ 331.223265] [ T3150] printk: console lock API call [78]: console_unlock() by pid=3150, comm=chvt
[ 331.223309] [ T88] printk: console lock API call [79]: console_lock() by pid=88, comm=kworker/7:1+events
[ 331.223366] [ T88] printk: console lock API call [80]: console_unlock() by pid=88, comm=kworker/7:1+events
[ 331.223394] [ T1428] printk: console lock API call [81]: console_lock() by pid=1428, comm=Xorg
[ 331.223491] [ T1428] printk: console lock API call [82]: console_unlock() by pid=1428, comm=Xorg
[ 331.223526] [ T3150] printk: console lock API call [83]: console_lock() by pid=3150, comm=chvt
[ 331.223605] [ T3150] printk: console lock API call [84]: console_unlock() by pid=3150, comm=chvt
[ 331.230047] [ T1164] printk: console lock API call [85]: console_lock() by pid=1164, comm=systemd-logind
[ 331.230191] [ T1164] printk: console lock API call [86]: console_unlock() by pid=1164, comm=systemd-logind
[ 331.230333] [ T1164] printk: console lock API call [87]: console_lock() by pid=1164, comm=systemd-logind
[ 331.230416] [ T1164] printk: console lock API call [88]: console_unlock() by pid=1164, comm=systemd-logind
[ 331.230495] [ T1164] printk: console lock API call [89]: console_lock() by pid=1164, comm=systemd-logind
[ 331.230579] [ T1164] printk: console lock API call [90]: console_unlock() by pid=1164, comm=systemd-logind
> 3. No freeze with the 1st patch and uncommented synchronize_srcu() calls.:
> $ sudo sh -c "
> mkdir -p /var/run/nvidia-sleep \
> && echo 2 > /var/run/nvidia-sleep/Xorg.vt_number \
> && chvt 63 \
> && echo suspend >/proc/driver/nvidia/suspend \
> && systemctl suspend"
[ 91.535688] [ T2576] printk: console lock API call [1]: console_lock() by pid=2576, comm=chvt
[ 91.536179] [ T2576] printk: console lock API call [2]: console_unlock() by pid=2576, comm=chvt
[ 91.536254] [ T281] printk: console lock API call [3]: console_lock() by pid=281, comm=kworker/3:2+events
[ 91.536309] [ T281] printk: console lock API call [4]: console_unlock() by pid=281, comm=kworker/3:2+events
[ 91.547297] [ T2580] printk: console lock API call [5]: console_lock() by pid=2580, comm=cached_setup_te
[ 91.547433] [ T2580] printk: console lock API call [6]: console_unlock() by pid=2580, comm=cached_setup_te
[ 91.547567] [ T2580] printk: console lock API call [7]: console_lock() by pid=2580, comm=cached_setup_te
[ 91.547653] [ T2580] printk: console lock API call [8]: console_unlock() by pid=2580, comm=cached_setup_te
[ 91.547729] [ T2580] printk: console lock API call [9]: console_lock() by pid=2580, comm=cached_setup_te
[ 91.547802] [ T2580] printk: console lock API call [10]: console_unlock() by pid=2580, comm=cached_setup_te
[ 91.547871] [ T2580] printk: console lock API call [11]: console_lock() by pid=2580, comm=cached_setup_te
[ 91.547945] [ T2580] printk: console lock API call [12]: console_unlock() by pid=2580, comm=cached_setup_te
[ 91.548022] [ T2580] printk: console lock API call [13]: console_lock() by pid=2580, comm=cached_setup_te
[ 91.548104] [ T2580] printk: console lock API call [14]: console_unlock() by pid=2580, comm=cached_setup_te
[ 91.559988] [ T900] printk: console lock API call [15]: console_lock() by pid=900, comm=kworker/4:2+events
[ 91.560049] [ T900] printk: console lock API call [16]: console_unlock() by pid=900, comm=kworker/4:2+events
[ 92.535710] [ T2576] printk: console lock API call [17]: console_lock() by pid=2576, comm=chvt
[ 92.535796] [ T2576] printk: console lock API call [18]: console_unlock() by pid=2576, comm=chvt
[ 92.535857] [ T281] printk: console lock API call [19]: console_lock() by pid=281, comm=kworker/3:2+events
[ 92.535901] [ T281] printk: console lock API call [20]: console_unlock() by pid=281, comm=kworker/3:2+events
[ 93.115410] [ T1426] printk: console lock API call [21]: console_lock() by pid=1426, comm=Xorg
[ 93.123140] [ T1426] printk: console lock API call [22]: console_unlock() by pid=1426, comm=Xorg
[ 94.008771] [ T2604] printk: console lock API call [23]: console_lock() by pid=2604, comm=9
[ 94.008866] [ T2604] printk: console lock API call [24]: console_unlock() by pid=2604, comm=9
[ 94.008940] [ T2604] printk: console lock API call [25]: console_lock() by pid=2604, comm=9
[ 94.009007] [ T2604] printk: console lock API call [26]: console_unlock() by pid=2604, comm=9
[ 94.009149] [ T2604] printk: console lock API call [27]: console_lock() by pid=2604, comm=9
[ 94.009210] [ T2604] printk: console lock API call [28]: console_unlock() by pid=2604, comm=9
[ 94.296534] [ T2619] printk: console lock API call [29]: console_lock() by pid=2619, comm=9
[ 94.296640] [ T2619] printk: console lock API call [30]: console_unlock() by pid=2619, comm=9
[ 94.296724] [ T2619] printk: console lock API call [31]: console_lock() by pid=2619, comm=9
[ 94.296801] [ T2619] printk: console lock API call [32]: console_unlock() by pid=2619, comm=9
[ 94.296955] [ T2619] printk: console lock API call [33]: console_lock() by pid=2619, comm=9
[ 94.297033] [ T2619] printk: console lock API call [34]: console_unlock() by pid=2619, comm=9
[ 94.346111] [ T76] kauditd_printk_skb: 2 callbacks suppressed
[ 94.346957] [ C2] printk: console lock API call [35]: console_trylock() by pid=0, comm=swapper/2
[ 94.347059] [ C2] printk: console lock API call [36]: console_unlock() by pid=0, comm=swapper/2
[ 94.360483] [ T2628] printk: console lock API call [37]: console_lock() by pid=2628, comm=9
[ 94.360603] [ T2628] printk: console lock API call [38]: console_unlock() by pid=2628, comm=9
[ 94.360697] [ T2628] printk: console lock API call [39]: console_lock() by pid=2628, comm=9
[ 94.360786] [ T2628] printk: console lock API call [40]: console_unlock() by pid=2628, comm=9
[ 94.360939] [ T2628] printk: console lock API call [41]: console_lock() by pid=2628, comm=9
[ 94.361007] [ T2628] printk: console lock API call [42]: console_unlock() by pid=2628, comm=9
[ 94.417313] [ T2628] printk: console lock API call [43]: console_lock() by pid=2628, comm=systemd-sleep
[ 94.417405] [ T2628] printk: console lock API call [44]: console_unlock() by pid=2628, comm=systemd-sleep
[ 94.417562] [ T97] printk: console lock API call [45]: console_lock() by pid=97, comm=kworker/2:1+events
[ 94.417601] [ T97] printk: console lock API call [46]: console_unlock() by pid=97, comm=kworker/2:1+events
[ 94.420174] [ T2628] printk: Suspending console(s) (use no_console_suspend to debug)
[ 94.420176] [ T2628] printk: console lock API call [47]: console_lock() by pid=2628, comm=systemd-sleep
[ 94.420191] [ T2628] ? _printk+0x54/0x60
[ 94.420250] [ T2628] printk: console lock API call [48]: console_unlock() by pid=2628, comm=systemd-sleep
[ 94.420262] [ T2628] ? _printk+0x54/0x60
[ 94.420310] [ T2628] printk: console lock API call [49]: console_lock() by pid=2628, comm=systemd-sleep
[ 94.420321] [ T2628] ? _printk+0x54/0x60
[ 94.420371] [ T2628] printk: console lock API call [50]: console_unlock() by pid=2628, comm=systemd-sleep
[ 94.420381] [ T2628] ? _printk+0x54/0x60
[ 94.420427] [ T2628] printk: console lock API call [51]: console_lock() by pid=2628, comm=systemd-sleep
[ 94.420482] [ T2628] printk: console_suspend_all
[ 95.220250] [ T97] printk: console lock API call [52]: console_lock() by pid=97, comm=kworker/2:1+events
[ 95.220331] [ T97] printk: console lock API call [53]: console_unlock() by pid=97, comm=kworker/2:1+events
[ 96.879223] [ T2628] printk: console_resume_all
[ 96.879230] [ T2628] printk: console lock API call [54]: console_unlock() by pid=2628, comm=systemd-sleep
[ 96.879385] [ T2628] printk: console lock API call [55]: console_lock() by pid=2628, comm=systemd-sleep
[ 96.879543] [ T2628] printk: console lock API call [56]: console_unlock() by pid=2628, comm=systemd-sleep
[ 96.879686] [ T2628] printk: console lock API call [57]: console_lock() by pid=2628, comm=systemd-sleep
[ 96.879836] [ T2628] printk: console lock API call [58]: console_unlock() by pid=2628, comm=systemd-sleep
[ 97.789766] [ T2628] printk: console lock API call [59]: console_lock() by pid=2628, comm=systemd-sleep
[ 97.789850] [ T2628] printk: console lock API call [60]: console_unlock() by pid=2628, comm=systemd-sleep
[ 97.789987] [ T293] printk: console lock API call [61]: console_lock() by pid=293, comm=kworker/2:2+events
[ 97.790045] [ T293] printk: console lock API call [62]: console_unlock() by pid=293, comm=kworker/2:2+events
[ 98.464634] [ T2863] printk: console lock API call [63]: console_lock() by pid=2863, comm=chvt
[ 98.464756] [ T2863] printk: console lock API call [64]: console_unlock() by pid=2863, comm=chvt
[ 98.464870] [ T2863] printk: console lock API call [65]: console_lock() by pid=2863, comm=chvt
[ 98.464953] [ T2863] printk: console lock API call [66]: console_unlock() by pid=2863, comm=chvt
[ 98.465031] [ T281] printk: console lock API call [67]: console_lock() by pid=281, comm=kworker/3:2+events
[ 98.465105] [ T281] printk: console lock API call [68]: console_unlock() by pid=281, comm=kworker/3:2+events
[ 98.465152] [ T1426] printk: console lock API call [69]: console_lock() by pid=1426, comm=Xorg
[ 98.465244] [ T2863] printk: console lock API call [70]: console_lock() by pid=2863, comm=chvt
[ 98.465284] [ T1426] printk: console lock API call [71]: console_unlock() by pid=1426, comm=Xorg
[ 98.465388] [ T2863] printk: console lock API call [72]: console_unlock() by pid=2863, comm=chvt
Cheers
Powered by blists - more mailing lists