Low level retries are used in lots of places, but if you are talking about those done by backends, then the initial value is cached by the Pacer that is in use when the backend is started.
Thanks for the detailed answer. Yes, it's relatively important (I'm in the middle of a hundred-million-files rclone copy from my old Google EDU account -- which is being deactivated, and I need to change this and other parameters while rclone is running -- restarting it costs me days in time for it to begin again from the start).
Why the caching? Why not have everything (command-line parsing, rc setting, etc) changing a global variable, and then Pacer etc getting it straight from there? The former would be read-write but the latter would be read-only, so no major contention and/or locking issues, right?
Rclone does have a system of global config which is overridable per request using context variables.
We don't currently pass context variables into the pacer so that would need to change. That is lengthy (50 backends to change!) but straight forward.
I guess the other thing to consider would be what happens to the pacer if the number of low level retries changes while it is actually doing low level retries. Probably not too hard but would need consideration.
So, yes, perfectly possible, but a reasonable amount of work, alas.