On Thu, Jun 30, 2022 at 08:36:21AM -0700, Lucas De Marchi wrote:
- modprobe learned a --wait <MSEC> option to be used together with -r
when removing a module. This allows modprobe to keep trying the
removal if it fails because the module is still in use. An exponential backoff
time is used for further retries.
The wait behavior provided by the kernel when not passing O_NONBLOCK
to delete_module() was removed in v3.13 due to not be used and the
consequences of having to support it in the kernel. However there may
be some users, particularly on testsuites for individual susbsystems, that
would want that. So provide a userspace implementation inside modprobe for
such users. "rmmod" doesn't have a --wait as it remains a bare minimal over
the API provided by the kernel. In future the --wait behavior can be added
to libkmod for testsuites not exec'ing modprobe for module removal.
Sorry for the super late review, I was swamped. OK so the only issue
I can think of is that rmmod *used* to support the kernel wait support
with $(rmmod --wait) so wouldn't this be odd?
It is why I had gone with:
-p | --remove-patiently patiently removes the module
-t | --timeout timeout in ms to remove the module
You would know better though.
Also just curious, is it really terrible to just support waiting
forever?
Luis