[v5,0/6] Initialise thermal framework and cpufreq earlier during boot
mbox series

Message ID cover.1571656014.git.amit.kucheria@linaro.org
Headers show
Series
  • Initialise thermal framework and cpufreq earlier during boot
Related show

Message

Amit Kucheria Oct. 21, 2019, 12:15 p.m. UTC
Changes since v4:
- Collect Acks
- Pick the US spelling for 'initialis^Hze' consistently.

Changes since v3:
- Init schedutil governor earlier too
- Simplified changes to thermal_init() error path
- Collects Acks

Changes since v2:
- Missed one patch when posting v2. Respinning.

Changes since v1:
- Completely get rid of netlink support in the thermal framework.
- This changes the early init patch to a single line - change to
  core_initcall. Changed authorship of patch since it is nothing like the
  original. Lina, let me know if you feel otherwise.
- I've tested to make sure that the qcom-cpufreq-hw driver continues to
  work correctly as a module so this won't impact Android's GKI plans.
- Collected Acks

Device boot needs to be as fast as possible while keeping under the thermal
envelope. Now that thermal framework is built-in to the kernel, we can
initialize it earlier to enable thermal mitigation during boot.

We also need the cpufreq HW drivers to be initialised earlier to act as the
cooling devices. This series only converts over the qcom-hw driver to
initialize earlier but can be extended to other platforms as well.

Amit Kucheria (6):
  thermal: Remove netlink support
  thermal: Initialize thermal subsystem earlier
  cpufreq: Initialize the governors in core_initcall
  cpufreq: Initialize cpufreq-dt driver earlier
  clk: qcom: Initialize clock drivers earlier
  cpufreq: qcom-hw: Move driver initialization earlier

 .../driver-api/thermal/sysfs-api.rst          |  26 +----
 drivers/clk/qcom/clk-rpmh.c                   |   2 +-
 drivers/clk/qcom/gcc-qcs404.c                 |   2 +-
 drivers/clk/qcom/gcc-sdm845.c                 |   2 +-
 drivers/cpufreq/cpufreq-dt-platdev.c          |   2 +-
 drivers/cpufreq/cpufreq_conservative.c        |   2 +-
 drivers/cpufreq/cpufreq_ondemand.c            |   2 +-
 drivers/cpufreq/cpufreq_performance.c         |   2 +-
 drivers/cpufreq/cpufreq_powersave.c           |   2 +-
 drivers/cpufreq/cpufreq_userspace.c           |   2 +-
 drivers/cpufreq/qcom-cpufreq-hw.c             |   2 +-
 drivers/thermal/thermal_core.c                | 103 +-----------------
 include/linux/thermal.h                       |  11 --
 kernel/sched/cpufreq_schedutil.c              |   2 +-
 14 files changed, 19 insertions(+), 143 deletions(-)

Comments

Zhang, Rui Oct. 31, 2019, 2:42 a.m. UTC | #1
Hi,

Given that all the patches in this series have got the ACK from the
subsystem maintainers, I suppose we can take all the patches through
thermal tree, right?

thanks,
rui

On Mon, 2019-10-21 at 17:45 +0530, Amit Kucheria wrote:
> Changes since v4:
> - Collect Acks
> - Pick the US spelling for 'initialis^Hze' consistently.
> 
> Changes since v3:
> - Init schedutil governor earlier too
> - Simplified changes to thermal_init() error path
> - Collects Acks
> 
> Changes since v2:
> - Missed one patch when posting v2. Respinning.
> 
> Changes since v1:
> - Completely get rid of netlink support in the thermal framework.
> - This changes the early init patch to a single line - change to
>   core_initcall. Changed authorship of patch since it is nothing like
> the
>   original. Lina, let me know if you feel otherwise.
> - I've tested to make sure that the qcom-cpufreq-hw driver continues
> to
>   work correctly as a module so this won't impact Android's GKI
> plans.
> - Collected Acks
> 
> Device boot needs to be as fast as possible while keeping under the
> thermal
> envelope. Now that thermal framework is built-in to the kernel, we
> can
> initialize it earlier to enable thermal mitigation during boot.
> 
> We also need the cpufreq HW drivers to be initialised earlier to act
> as the
> cooling devices. This series only converts over the qcom-hw driver to
> initialize earlier but can be extended to other platforms as well.
> 
> Amit Kucheria (6):
>   thermal: Remove netlink support
>   thermal: Initialize thermal subsystem earlier
>   cpufreq: Initialize the governors in core_initcall
>   cpufreq: Initialize cpufreq-dt driver earlier
>   clk: qcom: Initialize clock drivers earlier
>   cpufreq: qcom-hw: Move driver initialization earlier
> 
>  .../driver-api/thermal/sysfs-api.rst          |  26 +----
>  drivers/clk/qcom/clk-rpmh.c                   |   2 +-
>  drivers/clk/qcom/gcc-qcs404.c                 |   2 +-
>  drivers/clk/qcom/gcc-sdm845.c                 |   2 +-
>  drivers/cpufreq/cpufreq-dt-platdev.c          |   2 +-
>  drivers/cpufreq/cpufreq_conservative.c        |   2 +-
>  drivers/cpufreq/cpufreq_ondemand.c            |   2 +-
>  drivers/cpufreq/cpufreq_performance.c         |   2 +-
>  drivers/cpufreq/cpufreq_powersave.c           |   2 +-
>  drivers/cpufreq/cpufreq_userspace.c           |   2 +-
>  drivers/cpufreq/qcom-cpufreq-hw.c             |   2 +-
>  drivers/thermal/thermal_core.c                | 103 +---------------
> --
>  include/linux/thermal.h                       |  11 --
>  kernel/sched/cpufreq_schedutil.c              |   2 +-
>  14 files changed, 19 insertions(+), 143 deletions(-)
>
Amit Kucheria Oct. 31, 2019, 4:43 a.m. UTC | #2
Hi Rui,

I'm assuming that since Rafael acked it, he is ok with this going thru
the thermal tree.

Regards,
Amit

On Thu, Oct 31, 2019 at 8:12 AM Zhang Rui <rui.zhang@intel.com> wrote:
>
> Hi,
>
> Given that all the patches in this series have got the ACK from the
> subsystem maintainers, I suppose we can take all the patches through
> thermal tree, right?
>
> thanks,
> rui
>
> On Mon, 2019-10-21 at 17:45 +0530, Amit Kucheria wrote:
> > Changes since v4:
> > - Collect Acks
> > - Pick the US spelling for 'initialis^Hze' consistently.
> >
> > Changes since v3:
> > - Init schedutil governor earlier too
> > - Simplified changes to thermal_init() error path
> > - Collects Acks
> >
> > Changes since v2:
> > - Missed one patch when posting v2. Respinning.
> >
> > Changes since v1:
> > - Completely get rid of netlink support in the thermal framework.
> > - This changes the early init patch to a single line - change to
> >   core_initcall. Changed authorship of patch since it is nothing like
> > the
> >   original. Lina, let me know if you feel otherwise.
> > - I've tested to make sure that the qcom-cpufreq-hw driver continues
> > to
> >   work correctly as a module so this won't impact Android's GKI
> > plans.
> > - Collected Acks
> >
> > Device boot needs to be as fast as possible while keeping under the
> > thermal
> > envelope. Now that thermal framework is built-in to the kernel, we
> > can
> > initialize it earlier to enable thermal mitigation during boot.
> >
> > We also need the cpufreq HW drivers to be initialised earlier to act
> > as the
> > cooling devices. This series only converts over the qcom-hw driver to
> > initialize earlier but can be extended to other platforms as well.
> >
> > Amit Kucheria (6):
> >   thermal: Remove netlink support
> >   thermal: Initialize thermal subsystem earlier
> >   cpufreq: Initialize the governors in core_initcall
> >   cpufreq: Initialize cpufreq-dt driver earlier
> >   clk: qcom: Initialize clock drivers earlier
> >   cpufreq: qcom-hw: Move driver initialization earlier
> >
> >  .../driver-api/thermal/sysfs-api.rst          |  26 +----
> >  drivers/clk/qcom/clk-rpmh.c                   |   2 +-
> >  drivers/clk/qcom/gcc-qcs404.c                 |   2 +-
> >  drivers/clk/qcom/gcc-sdm845.c                 |   2 +-
> >  drivers/cpufreq/cpufreq-dt-platdev.c          |   2 +-
> >  drivers/cpufreq/cpufreq_conservative.c        |   2 +-
> >  drivers/cpufreq/cpufreq_ondemand.c            |   2 +-
> >  drivers/cpufreq/cpufreq_performance.c         |   2 +-
> >  drivers/cpufreq/cpufreq_powersave.c           |   2 +-
> >  drivers/cpufreq/cpufreq_userspace.c           |   2 +-
> >  drivers/cpufreq/qcom-cpufreq-hw.c             |   2 +-
> >  drivers/thermal/thermal_core.c                | 103 +---------------
> > --
> >  include/linux/thermal.h                       |  11 --
> >  kernel/sched/cpufreq_schedutil.c              |   2 +-
> >  14 files changed, 19 insertions(+), 143 deletions(-)
> >
>
Daniel Lezcano Oct. 31, 2019, 6 a.m. UTC | #3
Hi Zhang,

On 31/10/2019 03:42, Zhang Rui wrote:
> Hi,
> 
> Given that all the patches in this series have got the ACK from the
> subsystem maintainers, I suppose we can take all the patches through
> thermal tree, right?

Right