Re: [PATCH v3 6/6] freezer,sched: Rewrite core freezer logic

From: Christian Borntraeger
Date: Mon Sep 26 2022 - 04:09:16 EST




Am 23.09.22 um 09:53 schrieb Christian Borntraeger:
Am 23.09.22 um 09:21 schrieb Christian Borntraeger:
Peter,

as a heads-up. This commit (bisected and verified) triggers a
regression in our KVM on s390x CI. The symptom is that a specific
testcase (start a guest with next kernel and a poky ramdisk,
then ssh via vsock into the guest and run the reboot command) now
takes much longer (300 instead of 20 seconds). From a first look
it seems that the sshd takes very long to end during shutdown
but I have not looked into that yet.
Any quick idea?

Christian

the sshd seems to hang in virtio-serial (not vsock).

FWIW, sshd does not seem to hang, instead it seems to busy loop in
wait_port_writable calling into the scheduler over and over again.



PID: 237      TASK: 81d1a100          CPU: 1    COMMAND: "sshd"
 LOWCORE INFO:
  -psw      : 0x0404e00180000000 0x0000000131ceb136
  -function : __list_add_valid at 131ceb136
  -prefix   : 0x00410000
  -cpu timer: 0x7fffffd3ec4f33d4
  -clock cmp: 0x2639f08006283e00
  -general registers:
     0x00000008dcea2dce 0x00000001387d44b8
     0x0000000081d1a228 0x00000001387d44b8
     0x00000001387d44b8 0x00000001387d44b8
     0x00000001387d3800 0x00000001387d3700
     0x0000000081d1a100 0x00000001387d44b8
     0x00000001387d44b8 0x0000000081d1a228
     0x0000000081d1a100 0x0000000081d1a100
     0x0000000131608b32 0x00000380004b7aa8
  -access registers:
     0x000003ff 0x8fff5870 0000000000 0000000000
     0000000000 0000000000 0000000000 0000000000
     0000000000 0000000000 0000000000 0000000000
     0000000000 0000000000 0000000000 0000000000
  -control registers:
     0x00a0000014966a10 0x0000000133348007
     0x00000000028c6140 000000000000000000
     0x000000000000ffff 0x00000000028c6140
     0x0000000033000000 0x0000000081f001c7
     0x0000000000008000 000000000000000000
     000000000000000000 000000000000000000
     000000000000000000 0x0000000133348007
     0x00000000db000000 0x00000000028c6000
  -floating point registers:
     0x000003ffb82a9761 0x0000006400000000
     0x000003ffb82a345c 000000000000000000
     0x0000000000007fff 0x000003ffe22fe000
     000000000000000000 0x000003ffe22fa51c
     0x000003ffb81889c0 000000000000000000
     0x000002aa3ce2b470 000000000000000000
     000000000000000000 000000000000000000
     000000000000000000 000000000000000000

 #0 [380004b7b00] pick_next_task at 1315f2088
 #1 [380004b7b98] __schedule at 13215e954
 #2 [380004b7c08] schedule at 13215eeea
 #3 [380004b7c38] wait_port_writable at 3ff80149b2e [virtio_console]
 #4 [380004b7cc0] port_fops_write at 3ff8014a282 [virtio_console]
 #5 [380004b7d40] vfs_write at 131889e3c
 #6 [380004b7e00] ksys_write at 13188a2e8
 #7 [380004b7e50] __do_syscall at 13215761c
 #8 [380004b7e98] system_call at 132166332
 PSW:  0705000180000000 000003ff8f8f3a2a (user space)
 GPRS: 0000000000000015 000003ff00000000 ffffffffffffffda 000002aa02fc68a0
       0000000000000015 0000000000000015 0000000000000000 000002aa02fc68a0
       0000000000000004 000003ff8f8f3a08 0000000000000015 0000000000000000
       000003ff8ffa9f58 0000000000000000 000002aa02365b20 000003ffdf4798d0