[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20bf2b0b-c6bc-1010-0512-e970982f9e79@arm.com>
Date: Thu, 18 Jun 2020 09:37:07 +0100
From: Lukasz Luba <lukasz.luba@....com>
To: Cristian Marussi <cristian.marussi@....com>,
Sudeep Holla <sudeep.holla@....com>
Cc: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
james.quinlan@...adcom.com, Jonathan.Cameron@...wei.com,
dave.martin@....com
Subject: Re: [PATCH v8 3/9] firmware: arm_scmi: Add notification dispatch and
delivery
On 6/18/20 12:31 AM, Cristian Marussi wrote:
> On Mon, Jun 08, 2020 at 06:03:46PM +0100, Sudeep Holla wrote:
>> On Wed, May 20, 2020 at 09:11:12AM +0100, Cristian Marussi wrote:
>>> Add core SCMI Notifications dispatch and delivery support logic which is
>>> able, at first, to dispatch well-known received events from the RX ISR to
>>> the dedicated deferred worker, and then, from there, to final deliver the
>>> events to the registered users' callbacks.
>>>
>>> Dispatch and delivery is just added here, still not enabled.
>>>
>>> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@...wei.com>
>>> Signed-off-by: Cristian Marussi <cristian.marussi@....com>
>>> ---
>>> drivers/firmware/arm_scmi/notify.c | 354 ++++++++++++++++++++++++++++-
>>> drivers/firmware/arm_scmi/notify.h | 10 +
>>> 2 files changed, 362 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/firmware/arm_scmi/notify.c b/drivers/firmware/arm_scmi/notify.c
>>> index 7cf61dbe2a8e..d582f71fde5b 100644
>>> --- a/drivers/firmware/arm_scmi/notify.c
>>> +++ b/drivers/firmware/arm_scmi/notify.c
>>
>> [...]
>>
>>> @@ -1085,6 +1422,12 @@ int scmi_notification_init(struct scmi_handle *handle)
>>> ni->gid = gid;
>>> ni->handle = handle;
>>>
>>> + ni->notify_wq = alloc_workqueue("scmi_notify",
>>> + WQ_UNBOUND | WQ_FREEZABLE | WQ_SYSFS,
>>> + 0);
>>
>> What's the use of WQ_SYSFS for SCMI notifications ? Do we need it ?
>>
>
> Lukasz asked for it, when we were talking about workqueues' priorities configurability.
> (not implemented in this series)
I confirm, I've asked if we can have a mechanism to control these
workqueues. They will be running concurrently with other CFS
tasks which could cause delays for them. They could also be scheduled
on a random core: big or little (depends on its utilization) but maybe
we would like to pin them explicitly to some cores, i.e
little only. We have also discussed a possible mechanism based on RT
threads (which could avoid CFS delays), but that would require a lot of
changes, so this flag here gives us some control.
But if you decide to remove this flag, we would probably find a solution
using uclamp or similar when needed.
Regards,
Lukasz
>
> Thanks
>
> Cristian
>> --
>> Regards,
>> Sudeep
Powered by blists - more mailing lists