Skip to content

Option to forcibly exit fio when stuck #2065

Description

@jsemric

When running workload against NFS where the server crashes or there is network
outage, fio hangs on blocking syscalls (like close or uncompleted IOs).
fio will not be interrupted even by sending SIGINT signal multiple times and
requires the user to kill the fio process manually.

To improve the UX, I propose to exit fio forcibly when repeated SIGINT
signals are sent to the program. Not only this behavior is more user-friendly
(giving the opportunity to the user to actually exit fio) but if there are multiple fio workloads,
the user does not need to figure out which exact processes to kill.

This behavior could resolve #1934 and
partially address #2012 without introducing
a new command line argument. On the cons side, the resources acquired by processes
would not be cleaned up, but this would not be done anyway if the process is stuck.

As for the implementation (poc), for the multi-threaded runs the main thread could simply
exit (once a timeout expires or multiple SIGINT are received). For multiprocess
workloads, the child-processes would need to be exited forcefully as they are
likely hung on blocking syscalls.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions