Re: [PATCH 1/2] sched/uclamp: Add a new sysctl to control RT default boost value
From: Qais Yousef
Date: Fri May 29 2020 - 12:04:43 EST
On 05/29/20 11:08, Mel Gorman wrote:
> On Thu, May 28, 2020 at 06:11:12PM +0200, Peter Zijlstra wrote:
> > > FWIW, I think you're referring to Mel's notice in OSPM regarding the overhead.
> > > Trying to see what goes on in there.
> >
> > Indeed, that one. The fact that regular distros cannot enable this
> > feature due to performance overhead is unfortunate. It means there is a
> > lot less potential for this stuff.
>
> During that talk, I was a vague about the cost, admitted I had not looked
> too closely at mainline performance and had since deleted the data given
> that the problem was first spotted in early April. If I heard someone
> else making statements like I did at the talk, I would consider it a bit
> vague, potentially FUD, possibly wrong and worth rechecking myself. In
> terms of distributions "cannot enable this", we could but I was unwilling
> to pay the cost for a feature no one has asked for yet. If they had, I
> would endevour to put it behind static branches and disable it by default
> (like what happened for PSI). I was contacted offlist about my comments
> at OSPM and gathered new data to respond properly. For the record, here
> is an editted version of my response;
I had this impression too that's why I had a rather humble attempt.
[...]
> # Event 'cycles:ppp'
> #
> # Baseline Delta Abs Shared Object Symbol
> # ........ ......... ........................ ..............................................
> #
> 9.59% -2.87% [kernel.vmlinux] [k] poll_idle
> 0.19% +1.85% [kernel.vmlinux] [k] activate_task
> +1.17% [kernel.vmlinux] [k] dequeue_task
> +0.89% [kernel.vmlinux] [k] update_rq_clock.part.73
> 3.88% +0.73% [kernel.vmlinux] [k] try_to_wake_up
> 3.17% +0.68% [kernel.vmlinux] [k] __schedule
> 1.16% -0.60% [kernel.vmlinux] [k] __update_load_avg_cfs_rq
> 2.20% -0.54% [kernel.vmlinux] [k] resched_curr
> 2.08% -0.29% [kernel.vmlinux] [k] _raw_spin_lock_irqsave
> 0.44% -0.29% [kernel.vmlinux] [k] cpus_share_cache
> 1.13% +0.23% [kernel.vmlinux] [k] _raw_spin_lock_bh
>
> A lot of the uclamp functions appear to be inlined so it is not be
> particularly obvious from a raw profile but it shows up in the annotated
> profile in activate_task and dequeue_task for example. In the case of
> dequeue_task, uclamp_rq_dec_id() is extremely expensive according to the
> annotated profile.
>
> I'm afraid I did not dig into this deeply once I knew I could just disable
> it even within the distribution.
Could by any chance the vmlinux (with debug symbols hopefully) and perf.dat are
still lying around to share?
I could send you a link to drop them somewhere.
Thanks
--
Qais Yousef