Messages in this thread | | | From | Harald Geyer <> | Subject | Re: [PATCH 1/2] workqueue: Add new function mod_fwd_delayed_work() | Date | Fri, 24 Feb 2017 00:22:37 +0100 |
| |
Mark Brown writes: > > > The obvious question here, especially in the case of > > > mod_delayed_work(), is why not fix the existing functions to have > > > the expected behaviour? > > > AFAICS the existing functions behave as documented. I don't feel > > to be an authority to decide that the documented behaviour is not > > right. Actually I think that what mod_delayed_work() does, is a valid > > operation, even if many current users probably don't want it. > > It is *very* non-obvious that mod_delayed_work() will have a problem > from the documentation, there's "mod_delayed_work_on() on local CPU" > as the body of the description but honestly I'm struggling to tell if > that's even there intentionally or anything other than an implementation > detail. I'd expect to see some words describing the situations where it > can be used or something, both the name and the lack of any information > about issues suggest it's the default thing and will work safely.
It was obvious enough for me, so that I proposed a new function instead of just switching the regulator code from queue_delayed_work() to mod_delayed_work(). If it's not obvious to you, I suggest that you supply a patch improving the documentation.
> > I was suprised when I found that no function like > > mod_fwd_delayed_work() existed, so you have a point there. > > I suspect people are just using mod_delayed_work(), not realising that > there are restrictions. I'm thinking that perhaps it should be fixed to > be safe for calling from different contexts and a new function with the > existing behaviour added, that seems less error prone.
As I already wrote in my last message: To go that path means to review 107 uses of mod_delayed_work(). Maybe you have somebody you can assign that task to?
Harald -- If you want to support my work: see http://friends.ccbib.org/harald/supporting/ or donate via CLAM to xASPBtezLNqj4cUe8MT5nZjthRSEjrRQXN or via peercoin to P98LRdhit3gZbHDBe7ta5jtXrMJUms4p7w
| |