[v2,0/3] Add basic tracing for uclamp and schedutil

Message ID 20230509122246.1702397-1-lukasz.luba@arm.com
Headers
Series Add basic tracing for uclamp and schedutil |

Message

Lukasz Luba May 9, 2023, 12:22 p.m. UTC
  Hi all,

The task scheduler feature: Uclamp, begins to take off. To better understand
the dynamics in the task scheduler and CPU frequency requests we need some
better tracing.
In schedutil (cpufreq governor) we allow to enter the scheduler
and make the frequency change. Although, there is some limit in regards to how
often this can happen. That min period is provided by the cpufreq driver.
Thus, some of the cpufreq requests might be filter out and the frequency won't
be changed (hopefuly will be set a bit later). We would like to know about
those situations, especially in context of the user-space hints made via
Uclamp for particular tasks.
This patch set aims to add base for our toolkits and post-processing trace
analyzes.

Changelog:
v2:
- solved the issue from CI build warning, dropped schedutil.h and re-used
  the sched.h which is available in build_utility.c where cpufreq_schedutil.c
  is included
- added tag for the last patch 3/3 for the CI robot helping hend 
- re-based on top of v6.4-rc1
v1:
- implementation can be found here [1]


Regards,
Lukasz Luba

[1] https://lore.kernel.org/lkml/20230322151843.14390-1-lukasz.luba@arm.com/

Lukasz Luba (3):
  sched/tp: Add new tracepoint to track uclamp set from user-space
  cpufreq: schedutil: Refactor sugov_update_shared() internals
  schedutil: trace: Add tracing to capture filter out requests

 include/trace/events/sched.h     |  8 ++++++++
 kernel/sched/core.c              |  5 +++++
 kernel/sched/cpufreq_schedutil.c | 28 ++++++++++++++++++----------
 3 files changed, 31 insertions(+), 10 deletions(-)
  

Comments

Lukasz Luba May 22, 2023, 1:38 p.m. UTC | #1
Hi Rafael,



On 5/9/23 13:22, Lukasz Luba wrote:
> Hi all,
> 
> The task scheduler feature: Uclamp, begins to take off. To better understand
> the dynamics in the task scheduler and CPU frequency requests we need some
> better tracing.
> In schedutil (cpufreq governor) we allow to enter the scheduler
> and make the frequency change. Although, there is some limit in regards to how
> often this can happen. That min period is provided by the cpufreq driver.
> Thus, some of the cpufreq requests might be filter out and the frequency won't
> be changed (hopefuly will be set a bit later). We would like to know about
> those situations, especially in context of the user-space hints made via
> Uclamp for particular tasks.
> This patch set aims to add base for our toolkits and post-processing trace
> analyzes.
> 
> Changelog:
> v2:
> - solved the issue from CI build warning, dropped schedutil.h and re-used
>    the sched.h which is available in build_utility.c where cpufreq_schedutil.c
>    is included
> - added tag for the last patch 3/3 for the CI robot helping hend
> - re-based on top of v6.4-rc1
> v1:
> - implementation can be found here [1]
> 

I was going to gently ping you, while I've realized that you
are not on CC list :( I don't know what happened, my apologies.

Shell I resend this patch set so you can have it in a proper way
in your mailbox?

Could you have a look at this, please?

This is getting more attention, since in Android we have a
daemon which can now communicate with the kernel and send
those Uclamp values on behalf of an unprivileged app.

Regards,
Lukasz
  
Rafael J. Wysocki May 22, 2023, 2:40 p.m. UTC | #2
Hi Lukasz,

On Mon, May 22, 2023 at 3:38 PM Lukasz Luba <lukasz.luba@arm.com> wrote:
>
> Hi Rafael,
>
>
>
> On 5/9/23 13:22, Lukasz Luba wrote:
> > Hi all,
> >
> > The task scheduler feature: Uclamp, begins to take off. To better understand
> > the dynamics in the task scheduler and CPU frequency requests we need some
> > better tracing.
> > In schedutil (cpufreq governor) we allow to enter the scheduler
> > and make the frequency change. Although, there is some limit in regards to how
> > often this can happen. That min period is provided by the cpufreq driver.
> > Thus, some of the cpufreq requests might be filter out and the frequency won't
> > be changed (hopefuly will be set a bit later). We would like to know about
> > those situations, especially in context of the user-space hints made via
> > Uclamp for particular tasks.
> > This patch set aims to add base for our toolkits and post-processing trace
> > analyzes.
>
> > Changelog:
> > v2:
> > - solved the issue from CI build warning, dropped schedutil.h and re-used
> >    the sched.h which is available in build_utility.c where cpufreq_schedutil.c
> >    is included
> > - added tag for the last patch 3/3 for the CI robot helping hend
> > - re-based on top of v6.4-rc1
> > v1:
> > - implementation can be found here [1]
> >
>
> I was going to gently ping you, while I've realized that you
> are not on CC list :( I don't know what happened, my apologies.

No worries.

> Shell I resend this patch set so you can have it in a proper way
> in your mailbox?

Well, for schedutil you should also CC linux-pm (done now), so please resend it.

> Could you have a look at this, please?

I could, but if I'm to reply, it will be much more convenient for me
if it is there in my inbox.

> This is getting more attention, since in Android we have a
> daemon which can now communicate with the kernel and send
> those Uclamp values on behalf of an unprivileged app.
  
Lukasz Luba May 22, 2023, 2:41 p.m. UTC | #3
On 5/22/23 15:40, Rafael J. Wysocki wrote:
> Hi Lukasz,
> 
> On Mon, May 22, 2023 at 3:38 PM Lukasz Luba <lukasz.luba@arm.com> wrote:
>>
>> Hi Rafael,
>>
>>
>>
>> On 5/9/23 13:22, Lukasz Luba wrote:
>>> Hi all,
>>>
>>> The task scheduler feature: Uclamp, begins to take off. To better understand
>>> the dynamics in the task scheduler and CPU frequency requests we need some
>>> better tracing.
>>> In schedutil (cpufreq governor) we allow to enter the scheduler
>>> and make the frequency change. Although, there is some limit in regards to how
>>> often this can happen. That min period is provided by the cpufreq driver.
>>> Thus, some of the cpufreq requests might be filter out and the frequency won't
>>> be changed (hopefuly will be set a bit later). We would like to know about
>>> those situations, especially in context of the user-space hints made via
>>> Uclamp for particular tasks.
>>> This patch set aims to add base for our toolkits and post-processing trace
>>> analyzes.
>>
>>> Changelog:
>>> v2:
>>> - solved the issue from CI build warning, dropped schedutil.h and re-used
>>>     the sched.h which is available in build_utility.c where cpufreq_schedutil.c
>>>     is included
>>> - added tag for the last patch 3/3 for the CI robot helping hend
>>> - re-based on top of v6.4-rc1
>>> v1:
>>> - implementation can be found here [1]
>>>
>>
>> I was going to gently ping you, while I've realized that you
>> are not on CC list :( I don't know what happened, my apologies.
> 
> No worries.
> 
>> Shell I resend this patch set so you can have it in a proper way
>> in your mailbox?
> 
> Well, for schedutil you should also CC linux-pm (done now), so please resend it.
> 
>> Could you have a look at this, please?
> 
> I could, but if I'm to reply, it will be much more convenient for me
> if it is there in my inbox.
> 

Thanks Rafael for instant response. I'll resend it with the proper CC
list this time.