lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 24 Feb 2020 14:33:29 +0000
From:   Cristian Marussi <cristian.marussi@....com>
To:     Lukasz Luba <lukasz.luba@....com>, linux-kernel@...r.kernel.org,
        linux-arm-kernel@...ts.infradead.org
Cc:     sudeep.holla@....com, james.quinlan@...adcom.com,
        Jonathan.Cameron@...wei.com
Subject: Re: [RFC PATCH v2 07/13] firmware: arm_scmi: Add notification
 dispatch and delivery

On 24/02/2020 09:59, Lukasz Luba wrote:
> 
> 
> On 2/21/20 7:11 PM, Lukasz Luba wrote:
>>
>>
>> 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.
> 
> Although, a WQ_SYSFS flag wouldn't harm too much this version and might
> give possibility to tune/experiment with it.
> 

True. Added in v3.

Thanks

Cristian
>>
>> Regards,
>> Lukasz
>>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ