summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorRoss Lagerwall <ross.lagerwall@citrix.com>2026-10-06 17:34:07 +0100
committerJuergen Gross <jgross@suse.com>2026-10-09 17:16:16 +0200
commit61b6d1df1d6234c38a6ea7e4f58e7da035ef6ab4 (patch)
tree43ed3c706902cf49dfba25bb99b20af15e93355b /tools/perf/scripts/python/stackcollapse.py
parentcfaf31becde901f7a2376d36db628f8be0bc7283 (diff)
downloadlinux-61b6d1df1d6234c38a6ea7e4f58e7da035ef6ab4.tar.gz
linux-61b6d1df1d6234c38a6ea7e4f58e7da035ef6ab4.zip
xen-blkfront: Fix IO race during unplug
During unplug, blkfront stops the hw queues and marks the disk as dead, then later during removal calls del_gendisk(). However, IO issued after the hw queues are stopped but before the call to del_gendisk() will be queued but never handled. This causes del_gendisk() to hang forever waiting for the queue refcount to drop to zero. This can be reproduced by issuing IO during an artificial delay after stopping the hw queues. Fix this by simply not stopping the hw queues directly. Marking the disk as dead already freezes the queue which prevents new requests being added and it synchronously runs the hw queues to clear anything pending. If the hw queues are stopped when calling blk_mark_disk_dead(), running the hw queues is a no-op and can leave queued requests unprocessed. Cc: stable@vger.kernel.org Assisted-by: LLM Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com> Acked-by: Roger Pau Monné <roger@xenproject.org> Signed-off-by: Juergen Gross <jgross@suse.com> Message-ID: <20261006163411.2583538-1-ross.lagerwall@citrix.com>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions