RE: [PATCH][RFC] cpufreq: intel_pstate: Avoid time-costly synchronization if schedutil is not enabled
From: Chen, Yu C
Date: Tue May 10 2016 - 20:17:15 EST
Hi,
> -----Original Message-----
> From: rjwysocki@xxxxxxxxx [mailto:rjwysocki@xxxxxxxxx] On Behalf Of
> Rafael J. Wysocki
> Sent: Wednesday, May 11, 2016 3:07 AM
> To: Chen, Yu C
> Cc: linux-pm@xxxxxxxxxxxxxxx; Srinivas Pandruvada; Rafael J. Wysocki; Len
> Brown; Viresh Kumar; Zhang, Rui; Linux Kernel Mailing List
> Subject: Re: [PATCH][RFC] cpufreq: intel_pstate: Avoid time-costly
> synchronization if schedutil is not enabled
>
> On Tue, May 10, 2016 at 11:24 AM, <yu.c.chen@xxxxxxxxx> wrote:
> > From: Chen Yu <yu.c.chen@xxxxxxxxx>
>
> First, the subject. It doesn't have anything to do with schedutil, so I'd just use
> something like "Avoid unnecessary synchronize_sched() during initialization".
OK.
>
> > Commit bb6ab52f2bef ("intel_pstate: Do not set utilization update hook
> > too early") moved the assignment of utilization update hook from
> > intel_pstate_init_cpu to intel_pstate_set_policy(), however after
> > moving, we need to leverage synchronize_sched() to deal with
> > synchronization, which is time-costly because it needs to wait for all
> > the CPUs to go through a grace period.
> >
> > Actuall we don't need to synchronize_sched if schedutil has not been
> > enabled, which also can address the problem in our case, thus bypass
> > the synchronize_sched during bootup.
>
> "Actually, the synchronize_sched() is not necessary if the utilization update hook
> has not been set for the given CPU yet, so make the driver check if that's the
> case and avoid the synchronize_sched() call in that case."
OK.
>
> > Fixes: bb6ab52f2bef "intel_pstate: Do not set utilization update hook too
> early"
>
> I'm not sure I'd call it a fix, unless there is a significant difference in the system
> boot time or similar. If that's not the case, this simply is an optimization on top
> of the above commit.
The time of increment is small, and the drivers are running parallelly, so this
does not affect the system boot time significantly. Will resend the patch, thanks!
Yu