lkml.org 
[lkml]   [2020]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC PATCH v2 07/13] firmware: arm_scmi: Add notification dispatch and delivery
From
Date


On 2/21/20 7:01 PM, Cristian Marussi wrote:
> 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)

Agree, you can build these features incrementally.

Regards,
Lukasz

\
 
 \ /
  Last update: 2020-02-21 20:12    [W:0.054 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site