introducing new delayable work API

Peter A. Bigot

I've been asked to request input on "kernel: workq: introduce delayable work" (#28891), which introduces a new API for supporting delayable work queue submission that cleans up some of the difficulty with correctly using the existing delayed work API.

"cleanup of work queue APIs and behavior" (#28579) (already merged) documented the problems with the existing API and states an intent that it be deprecated.  The problems with that API are not in dispute, only whether existing use in-tree meets the fairly strict requirements necessary for it to behave in a predictable matter.  For the cases I looked at it's not clear that they do.

The existing version of #28891 includes some deprecation commits intended as examples and verification.  These are intended as demonstration, and if there are concerns they don't meet the specific needs of those uses will be extracted and submitted as new PRs when the core functionality is integrated.

Please provide feedback on issue 28891 on github.