I thought this may useful to people that are having multipathd and udev-worker deadlocking issues.
My Environment
- Proxmox 9.1.1
- Purestorage ISCSI server
Purestorage requires device queue limits, and scheduling attributes to be changed via udev.
https://support.purestorage.com/bun.../library/common_content/c_queue_settings.html
The udev rules trigger when a device is added, and freezes the blk_mq queue waiting for it to drain, but never does, hence the deadlock.
I've applied two patches which are not applied to the ubuntu upstream kernel:
1. linux kernel upstream patch(935a20d1bebf6236076785fac3ff81e3931834e9) which affects following attributes
* io_poll_delay
* io_timeout
* nomerges
* read_ahead_kb
* rq_affinity
2. patch written by myself to fix attribute add_random, not really needed because you don't need a add_random rule on current kernel versions with flash based devices and multipath backed flash devices.
https://github.com/proxmox/pve-kern...mymcguiver:pve-kernel:blk-queue-freezing-udev
Custom kernel can be installed from here:
https://github.com/tommymcguiver/pve-kernel/releases/tag/v6.17.13-ken
It would be great if the first patch could be added to the pve-kernel repo. I've been running this kernel and testing live migrations for the past week with 0 issues.
My Environment
- Proxmox 9.1.1
- Purestorage ISCSI server
Purestorage requires device queue limits, and scheduling attributes to be changed via udev.
https://support.purestorage.com/bun.../library/common_content/c_queue_settings.html
The udev rules trigger when a device is added, and freezes the blk_mq queue waiting for it to drain, but never does, hence the deadlock.
I've applied two patches which are not applied to the ubuntu upstream kernel:
1. linux kernel upstream patch(935a20d1bebf6236076785fac3ff81e3931834e9) which affects following attributes
* io_poll_delay
* io_timeout
* nomerges
* read_ahead_kb
* rq_affinity
2. patch written by myself to fix attribute add_random, not really needed because you don't need a add_random rule on current kernel versions with flash based devices and multipath backed flash devices.
https://github.com/proxmox/pve-kern...mymcguiver:pve-kernel:blk-queue-freezing-udev
Custom kernel can be installed from here:
https://github.com/tommymcguiver/pve-kernel/releases/tag/v6.17.13-ken
It would be great if the first patch could be added to the pve-kernel repo. I've been running this kernel and testing live migrations for the past week with 0 issues.