Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [RFC PATCH v2 07/13] firmware: arm_scmi: Add notification dispatch and delivery | From | Cristian Marussi <> | Date | Fri, 21 Feb 2020 19:01:16 +0000 |
| |
Hi Lukasz
Thanks for your feedback !
On 21/02/2020 13:25, Lukasz Luba wrote: > Hi Cristian, > > I didn't want to jump into your discussion with Jim in other broader > thread with this small thought, so I added a comment below. > > On 2/14/20 3:35 PM, Cristian Marussi wrote: >> Add core SCMI Notifications dispatch and delivery support logic which is > [snip] > >> >> @@ -840,6 +1071,11 @@ static struct scmi_notify_ops notify_ops = { >> */ >> int scmi_notification_init(struct scmi_handle *handle) >> { >> + scmi_notify_wq = alloc_workqueue("scmi_notify", >> + WQ_UNBOUND | WQ_FREEZABLE, 0); > > I think it might limit some platforms. It depends on their workload. > If they have some high priority workloads which rely on this mechanisms, > they might need a RT task here. The workqueues would be scheduled in > CFS, so it depends on workload in there (we might even see 10s ms delays > in scheduling-up them). If we use RT we would grab the CPU from CFS. > > It would be good if it is a customization option: which mechanism > to use based on some a parameter. Then we could create: > a) workqueue with the flags above > b) workqueue with WQ_HIGHPRI (limited by minimum nice) > c) kthread_create_worker() with RT/DL/FIFO sched policy > (with also a parameterized priority) > In default clients might use a) but when they want to tune their > platform, they might change only a parameter in their scmi code, > not maintaining a patch for the RT function out of tree.
In this series, I have not addressed configurability issues at all (as noted in the cover): in fact I was thinking that stuff like WQ_HIGHPRI flags and per-protocol queue sizes could be beneficial to be customizable depending on the specific platform, but I had not gone to the extreme of thinking of adopting a dedicated RT kthread as a worker...good point...it makes surely sense to have this configurable option to try to reduce the latency where possible.
I think it's important to give the user the possibility to configure the deferred worker as you suggested, if the user decides to rely on Linux to handle a critical notification, but I'd prefer queuing up this work you suggested on a different series on top of this one. (which is starting to be a little to much voluminous...for being just the core support)
Regards
Cristian
> > Regards, > Lukasz >
| ![\](/images/icornerr.gif) |