All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/8] Add support for devices in the Energy Model
@ 2020-05-27  9:58 ` Lukasz Luba
  0 siblings, 0 replies; 127+ messages in thread
From: Lukasz Luba @ 2020-05-27  9:58 UTC (permalink / raw)
  To: linux-kernel, linux-pm, linux-arm-kernel, dri-devel, linux-omap,
	linux-mediatek, linux-arm-msm, linux-imx
  Cc: Dietmar.Eggemann, cw00.choi, b.zolnierkie, rjw, sudeep.holla,
	viresh.kumar, nm, sboyd, rui.zhang, amit.kucheria,
	daniel.lezcano, mingo, peterz, juri.lelli, vincent.guittot,
	rostedt, qperret, bsegall, mgorman, shawnguo, s.hauer, festevam,
	kernel, khilman, agross, bjorn.andersson, robh, matthias.bgg,
	steven.price, tomeu.vizoso, alyssa.rosenzweig, airlied, daniel,
	liviu.dudau, lorenzo.pieralisi, lukasz.luba, patrick.bellasi,
	orjan.eide, rdunlap, mka

Hi all,

Background of this version:
This is the v8 of the patch set and is has smaller scope. I had to split
the series into two: EM changes and thermal changes due to devfreq
dependencies. The patches from v7 9-14 which change devfreq cooling are
going to be sent in separate patch series, just after this set get merged
into mainline. These patches related to EM got acks and hopefully can go
through linux-pm tree. The later thermal patches will go through thermal
tree.

The idea and purpose of the Energy Model framework changes:
This patch set introduces support for devices in the Energy Model (EM)
framework. It will unify the power model for thermal subsystem. It will
make simpler to add support for new devices willing to use more
advanced features (like Intelligent Power Allocation). Now it should
require less knowledge and effort for driver developer to add e.g.
GPU driver with simple energy model. A more sophisticated energy model
in the thermal framework is also possible, driver needs to provide
a dedicated callback function. More information can be found in the
updated documentation file.

First 7 patches are refactoring Energy Model framework to add support
of other devices that CPUs. They change:
- naming convention from 'capacity' to 'performance' state,
- API arguments adding device pointer and not rely only on cpumask,
- change naming when 'cpu' was used, now it's a 'device'
- internal structure to maintain registered devices
- update users to the new API
Patch 8 updates OPP framework helper function to be more generic, not
CPU specific.

The patch set is based on linux-pm branch linux-next 813946019dfd.

Changes:
v8:
- split the patch set in two: EM changes and thermal changes
- re-based on top of linux-pm branch linux-next (asked by Daniel)
- EM: changed comments content pointed out by Quentin
- added Acked-by from Quentin to almost all EM patches
v7 [7]:
- EM: added em_perf_domain structure into struct device in order to simplify
  code (suggested by Daniel)
- EM: removed kref, em_pd, debug_dir from em_device (suggested by Daniel)
- EM: refactored code and removed unsed functions
- EM: refactored checking if EM exists for a CPU and deleted em_cpus_pd_exist()
- EM: simplified em_pd_get() and em_cpu_get()
- EM: removed em_debug_type_show()
- EM: removed a few unused debug prints
- EM: changed debug dir name in order to remove em_debug_type_show() and
  em_debug_dev_show() functions
- EM: removed em_dev_list and em_device since it is now possible to use
  struct device
- thermal: split patch 9/10 from v6 as requested by Daniel and created 5 new:
-- patch v7 9/15 with only tracing change - exactly the same code so I keep
   'Reviewed-by # for tracing code' from Steven Rostedt
-- patch 10/15 and 11/14 takes more consistent state of devfreq device
-- patch 12/15 which adds Energy Model register/unregister functions
-- patch 13/15 adjust headers license into ne SPDX
v6 [6]:
- split patch 1/5 from v5 into smaller patches as requested by Daniel
  and dropped ACK from Quentin which was in the old there
- added function em_dev_register_perf_domain as suggested by Daniel, which
  would help transition into the new API
- changed 'cs' (capacity state) in different places into 'ps' (performance state),
  since now there are many smaller patches (previously skipped because
  of too big size of the patch with main features and left to do later)
- changed cpumask_equal() to cpumask_intersects() when checking if 'cpus' coming
  as an argument to registration function might overlap with already known;
  this shouldn't be an issue when cpufreq policy is OK, but a check doesn't harm
- added Reviewed-by from Alyssa into Panfrost related patch
- dropped Matthias patch with PM QoS from the series since it's in the next now
v5 [5]:
- devfreq cooling: rebased on top of pending patch introducing PM QoS limits
- devfreq cooling: added Matthias's patch to make this series build check pass
- devfreq cooling: removed OPP disable code and switched to PM QoS
- devfreq cooling: since thermal code always used a pointer to devfreq_dev_status,
  switched to work on a local copy and avoid potential race when either busy_time or
  total_time could change in the background
- devfreq cooling: added _normalize_load() and handle all scenarios when
  busy_time and total_time could have odd values (even raw counters)
- Energy Model patch 2/4: removed prints from cpufreq drivers and added print inside
  dev_pm_opp_of_register_em()
- update patch 2/4 description to better reflect upcoming changes
- collected ACK from Quentin for patch 1/4 and Reviewed-by from Steven for 4/4
v4 [4]:
- devfreq cooling: added two new registration functions, which will take care
  of registering EM for the device and simplify drivers code
  (suggested by Robin and Rob)
- Energy Model: changed unregistering code, added kref to track usage, added
  code freeing tables, added helper function
- added return value to function dev_pm_opp_of_register_em() and updated
  CPUFreq drivers code, added debug prints in case of failure
- updated comments in devfreq cooling removing statement that only
  simple_ondemand devfreq governor is supported to work with power extentions
- fixed spelling in the documentation (reported by Randy)
v3 [3]:
- added back the cpumask 'cpus' in the em_perf_domain due potential cache misses
- removed _is_cpu_em() since there is no need for it
- changed function name from em_pd_energy() to em_cpu_energy(), which is
  optimized for usage from the scheduler making some assumptions and not
  validating arguments to speed-up, there is a comment stressing that it should
  be used only for CPUs em_perf_domain
- changed em_get_pd() to em_pd_get() which is now aligned with em_cpu_get()
  naming
- Energy Model: add code which checks if the EM is already registered for the
  devfreq device
- extended comment in em_cpu_get() describing the need for this function
- fixed build warning reported on x86 by kbuild test robot in devfreq_cooling.c
- updated documentation in the energy-model.rst
- changed print messages from 'energy_model' to 'EM'
- changed dev_warn to dev_dbg, should calm down test scripts in case the
  platform has OPPs less efficient in the OPP table (some of them are there for
  cooling reasons, we shouldn't warn in this case, debug info is enough)
v2 [2]:
- changed EM API em_register_perf_domain() adding cpumask_t pointer
  as last argument (which was discussed with Dietmar and Quentin)
- removed dependency on PM_OPP, thanks to the cpumask_t argument
- removed enum em_type and em->type dependent code
- em_get_pd() can handle CPU device as well as devfreq device
- updated EM documentation
- in devfreq cooling added code which prevents from race condition with
  devfreq governors which are trying to use OPPs while thermal is in the middle
  of disabling them.
- in devfreq cooling added code which updates state of the devfreq device to
  avoid working on stale data when governor has not updated it for a long time
- in devfreq cooling added backward compatibility frequency table for drivers
  which did not provide EM
- added Steven's Reviewed-by to trace code in thermal
- added another CPUFreq driver which needs to be updated to the new API
The v1 can be found here [1].

Regards,
Lukasz Luba

[1] https://lkml.org/lkml/2020/1/16/619
[2] https://lkml.org/lkml/2020/2/6/377
[3] https://lkml.org/lkml/2020/2/21/1910
[4] https://lkml.org/lkml/2020/3/9/471
[5] https://lkml.org/lkml/2020/3/18/351
[6] https://lkml.org/lkml/2020/4/10/108
[7] https://lkml.org/lkml/2020/5/11/326


Lukasz Luba (8):
  PM / EM: change naming convention from 'capacity' to 'performance'
  PM / EM: introduce em_dev_register_perf_domain function
  PM / EM: update callback structure and add device pointer
  PM / EM: add support for other devices than CPUs in Energy Model
  PM / EM: remove em_register_perf_domain
  PM / EM: change name of em_pd_energy to em_cpu_energy
  Documentation: power: update Energy Model description
  OPP: refactor dev_pm_opp_of_register_em() and update related drivers

 Documentation/power/energy-model.rst   | 135 ++++++------
 drivers/cpufreq/cpufreq-dt.c           |   2 +-
 drivers/cpufreq/imx6q-cpufreq.c        |   2 +-
 drivers/cpufreq/mediatek-cpufreq.c     |   2 +-
 drivers/cpufreq/omap-cpufreq.c         |   2 +-
 drivers/cpufreq/qcom-cpufreq-hw.c      |   2 +-
 drivers/cpufreq/scmi-cpufreq.c         |  11 +-
 drivers/cpufreq/scpi-cpufreq.c         |   2 +-
 drivers/cpufreq/vexpress-spc-cpufreq.c |   2 +-
 drivers/opp/of.c                       |  76 ++++---
 drivers/thermal/cpufreq_cooling.c      |  12 +-
 include/linux/device.h                 |   5 +
 include/linux/energy_model.h           | 149 +++++++------
 include/linux/pm_opp.h                 |  15 +-
 kernel/power/energy_model.c            | 285 ++++++++++++++++---------
 kernel/sched/fair.c                    |   2 +-
 kernel/sched/topology.c                |  20 +-
 17 files changed, 441 insertions(+), 283 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 127+ messages in thread
* Re: [PATCH v8 4/8] PM / EM: add support for other devices than CPUs in Energy Model
@ 2020-06-05 22:56 kernel test robot
  0 siblings, 0 replies; 127+ messages in thread
From: kernel test robot @ 2020-06-05 22:56 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 8079 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20200527095854.21714-5-lukasz.luba@arm.com>
References: <20200527095854.21714-5-lukasz.luba@arm.com>
TO: Lukasz Luba <lukasz.luba@arm.com>
TO: linux-kernel(a)vger.kernel.org
TO: linux-pm(a)vger.kernel.org
TO: linux-arm-kernel(a)lists.infradead.org
TO: dri-devel(a)lists.freedesktop.org
TO: linux-omap(a)vger.kernel.org
TO: linux-mediatek(a)lists.infradead.org
TO: linux-arm-msm(a)vger.kernel.org
TO: linux-imx(a)nxp.com
CC: Dietmar.Eggemann(a)arm.com
CC: cw00.choi(a)samsung.com

Hi Lukasz,

I love your patch! Perhaps something to improve:

[auto build test WARNING on pm/linux-next]
[also build test WARNING on tip/sched/core linus/master v5.7 next-20200605]
[cannot apply to linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Lukasz-Luba/Add-support-for-devices-in-the-Energy-Model/20200527-180614
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
:::::: branch date: 10 days ago
:::::: commit date: 10 days ago
config: i386-randconfig-m021-20200605 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
kernel/power/energy_model.c:316 em_dev_register_perf_domain() error: we previously assumed 'dev->em_pd' could be null (see line 277)

# https://github.com/0day-ci/linux/commit/110d050cb7ba1c96e63ada498979d1fd99529be2
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 110d050cb7ba1c96e63ada498979d1fd99529be2
vim +316 kernel/power/energy_model.c

27871f7a8a341e Quentin Perret  2018-12-03  244  
27871f7a8a341e Quentin Perret  2018-12-03  245  /**
0e294e607adaf3 Lukasz Luba     2020-05-27  246   * em_dev_register_perf_domain() - Register the Energy Model (EM) for a device
0e294e607adaf3 Lukasz Luba     2020-05-27  247   * @dev		: Device for which the EM is to register
e33f3acc221459 Lukasz Luba     2020-05-27  248   * @nr_states	: Number of performance states to register
27871f7a8a341e Quentin Perret  2018-12-03  249   * @cb		: Callback functions providing the data of the Energy Model
110d050cb7ba1c Lukasz Luba     2020-05-27  250   * @cpus	: Pointer to cpumask_t, which in case of a CPU device is
0e294e607adaf3 Lukasz Luba     2020-05-27  251   *		obligatory. It can be taken from i.e. 'policy->cpus'. For other
0e294e607adaf3 Lukasz Luba     2020-05-27  252   *		type of devices this should be set to NULL.
27871f7a8a341e Quentin Perret  2018-12-03  253   *
27871f7a8a341e Quentin Perret  2018-12-03  254   * Create Energy Model tables for a performance domain using the callbacks
27871f7a8a341e Quentin Perret  2018-12-03  255   * defined in cb.
27871f7a8a341e Quentin Perret  2018-12-03  256   *
27871f7a8a341e Quentin Perret  2018-12-03  257   * If multiple clients register the same performance domain, all but the first
27871f7a8a341e Quentin Perret  2018-12-03  258   * registration will be ignored.
27871f7a8a341e Quentin Perret  2018-12-03  259   *
27871f7a8a341e Quentin Perret  2018-12-03  260   * Return 0 on success
27871f7a8a341e Quentin Perret  2018-12-03  261   */
0e294e607adaf3 Lukasz Luba     2020-05-27  262  int em_dev_register_perf_domain(struct device *dev, unsigned int nr_states,
110d050cb7ba1c Lukasz Luba     2020-05-27  263  				struct em_data_callback *cb, cpumask_t *cpus)
27871f7a8a341e Quentin Perret  2018-12-03  264  {
27871f7a8a341e Quentin Perret  2018-12-03  265  	unsigned long cap, prev_cap = 0;
110d050cb7ba1c Lukasz Luba     2020-05-27  266  	int cpu, ret;
27871f7a8a341e Quentin Perret  2018-12-03  267  
110d050cb7ba1c Lukasz Luba     2020-05-27  268  	if (!dev || !nr_states || !cb)
27871f7a8a341e Quentin Perret  2018-12-03  269  		return -EINVAL;
27871f7a8a341e Quentin Perret  2018-12-03  270  
27871f7a8a341e Quentin Perret  2018-12-03  271  	/*
27871f7a8a341e Quentin Perret  2018-12-03  272  	 * Use a mutex to serialize the registration of performance domains and
27871f7a8a341e Quentin Perret  2018-12-03  273  	 * let the driver-defined callback functions sleep.
27871f7a8a341e Quentin Perret  2018-12-03  274  	 */
27871f7a8a341e Quentin Perret  2018-12-03  275  	mutex_lock(&em_pd_mutex);
27871f7a8a341e Quentin Perret  2018-12-03  276  
110d050cb7ba1c Lukasz Luba     2020-05-27 @277  	if (dev->em_pd) {
27871f7a8a341e Quentin Perret  2018-12-03  278  		ret = -EEXIST;
27871f7a8a341e Quentin Perret  2018-12-03  279  		goto unlock;
27871f7a8a341e Quentin Perret  2018-12-03  280  	}
27871f7a8a341e Quentin Perret  2018-12-03  281  
110d050cb7ba1c Lukasz Luba     2020-05-27  282  	if (_is_cpu_device(dev)) {
110d050cb7ba1c Lukasz Luba     2020-05-27  283  		if (!cpus) {
110d050cb7ba1c Lukasz Luba     2020-05-27  284  			dev_err(dev, "EM: invalid CPU mask\n");
110d050cb7ba1c Lukasz Luba     2020-05-27  285  			ret = -EINVAL;
110d050cb7ba1c Lukasz Luba     2020-05-27  286  			goto unlock;
110d050cb7ba1c Lukasz Luba     2020-05-27  287  		}
110d050cb7ba1c Lukasz Luba     2020-05-27  288  
110d050cb7ba1c Lukasz Luba     2020-05-27  289  		for_each_cpu(cpu, cpus) {
110d050cb7ba1c Lukasz Luba     2020-05-27  290  			if (em_cpu_get(cpu)) {
110d050cb7ba1c Lukasz Luba     2020-05-27  291  				dev_err(dev, "EM: exists for CPU%d\n", cpu);
110d050cb7ba1c Lukasz Luba     2020-05-27  292  				ret = -EEXIST;
110d050cb7ba1c Lukasz Luba     2020-05-27  293  				goto unlock;
110d050cb7ba1c Lukasz Luba     2020-05-27  294  			}
27871f7a8a341e Quentin Perret  2018-12-03  295  			/*
110d050cb7ba1c Lukasz Luba     2020-05-27  296  			 * All CPUs of a domain must have the same
110d050cb7ba1c Lukasz Luba     2020-05-27  297  			 * micro-architecture since they all share the same
110d050cb7ba1c Lukasz Luba     2020-05-27  298  			 * table.
27871f7a8a341e Quentin Perret  2018-12-03  299  			 */
8ec59c0f5f4966 Vincent Guittot 2019-06-17  300  			cap = arch_scale_cpu_capacity(cpu);
27871f7a8a341e Quentin Perret  2018-12-03  301  			if (prev_cap && prev_cap != cap) {
110d050cb7ba1c Lukasz Luba     2020-05-27  302  				dev_err(dev, "EM: CPUs of %*pbl must have the same capacity\n",
110d050cb7ba1c Lukasz Luba     2020-05-27  303  					cpumask_pr_args(cpus));
110d050cb7ba1c Lukasz Luba     2020-05-27  304  
27871f7a8a341e Quentin Perret  2018-12-03  305  				ret = -EINVAL;
27871f7a8a341e Quentin Perret  2018-12-03  306  				goto unlock;
27871f7a8a341e Quentin Perret  2018-12-03  307  			}
27871f7a8a341e Quentin Perret  2018-12-03  308  			prev_cap = cap;
27871f7a8a341e Quentin Perret  2018-12-03  309  		}
110d050cb7ba1c Lukasz Luba     2020-05-27  310  	}
27871f7a8a341e Quentin Perret  2018-12-03  311  
110d050cb7ba1c Lukasz Luba     2020-05-27  312  	ret = em_create_pd(dev, nr_states, cb, cpus);
110d050cb7ba1c Lukasz Luba     2020-05-27  313  	if (ret)
27871f7a8a341e Quentin Perret  2018-12-03  314  		goto unlock;
27871f7a8a341e Quentin Perret  2018-12-03  315  
110d050cb7ba1c Lukasz Luba     2020-05-27 @316  	em_debug_create_pd(dev);
110d050cb7ba1c Lukasz Luba     2020-05-27  317  	dev_info(dev, "EM: created perf domain\n");
27871f7a8a341e Quentin Perret  2018-12-03  318  
27871f7a8a341e Quentin Perret  2018-12-03  319  unlock:
27871f7a8a341e Quentin Perret  2018-12-03  320  	mutex_unlock(&em_pd_mutex);
27871f7a8a341e Quentin Perret  2018-12-03  321  	return ret;
27871f7a8a341e Quentin Perret  2018-12-03  322  }
0e294e607adaf3 Lukasz Luba     2020-05-27  323  EXPORT_SYMBOL_GPL(em_dev_register_perf_domain);
0e294e607adaf3 Lukasz Luba     2020-05-27  324  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28764 bytes --]

^ permalink raw reply	[flat|nested] 127+ messages in thread

end of thread, other threads:[~2020-06-25  7:31 UTC | newest]

Thread overview: 127+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27  9:58 [PATCH v8 0/8] Add support for devices in the Energy Model Lukasz Luba
2020-05-27  9:58 ` Lukasz Luba
2020-05-27  9:58 ` Lukasz Luba
2020-05-27  9:58 ` Lukasz Luba
2020-05-27  9:58 ` [PATCH v8 1/8] PM / EM: change naming convention from 'capacity' to 'performance' Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58 ` [PATCH v8 2/8] PM / EM: introduce em_dev_register_perf_domain function Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58 ` [PATCH v8 3/8] PM / EM: update callback structure and add device pointer Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-29 17:43   ` Daniel Lezcano
2020-05-29 17:43     ` Daniel Lezcano
2020-05-29 17:43     ` Daniel Lezcano
2020-05-29 17:43     ` Daniel Lezcano
2020-06-01  9:20     ` Lukasz Luba
2020-06-01  9:20       ` Lukasz Luba
2020-06-01  9:20       ` Lukasz Luba
2020-06-01  9:20       ` Lukasz Luba
2020-05-27  9:58 ` [PATCH v8 4/8] PM / EM: add support for other devices than CPUs in Energy Model Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-06-01 21:44   ` Daniel Lezcano
2020-06-01 21:44     ` Daniel Lezcano
2020-06-01 21:44     ` Daniel Lezcano
2020-06-01 21:44     ` Daniel Lezcano
2020-06-02 11:31     ` Lukasz Luba
2020-06-02 11:31       ` Lukasz Luba
2020-06-02 11:31       ` Lukasz Luba
2020-06-02 11:31       ` Lukasz Luba
2020-06-03 15:13       ` Rafael J. Wysocki
2020-06-03 15:13         ` Rafael J. Wysocki
2020-06-03 15:13         ` Rafael J. Wysocki
2020-06-03 15:25         ` Lukasz Luba
2020-06-03 15:25           ` Lukasz Luba
2020-06-03 15:25           ` Lukasz Luba
2020-06-03 15:40           ` Rafael J. Wysocki
2020-06-03 15:40             ` Rafael J. Wysocki
2020-06-03 15:40             ` Rafael J. Wysocki
2020-06-03 16:12             ` Lukasz Luba
2020-06-03 16:12               ` Lukasz Luba
2020-06-03 16:12               ` Lukasz Luba
2020-06-03 16:22               ` Rafael J. Wysocki
2020-06-03 16:22                 ` Rafael J. Wysocki
2020-06-03 16:22                 ` Rafael J. Wysocki
2020-06-03 16:45                 ` Lukasz Luba
2020-06-03 16:45                   ` Lukasz Luba
2020-06-03 16:45                   ` Lukasz Luba
2020-06-08 11:51   ` Dan Carpenter
2020-06-08 11:51     ` Dan Carpenter
2020-06-08 11:51     ` Dan Carpenter
2020-06-08 11:51     ` Dan Carpenter
2020-06-08 11:51     ` Dan Carpenter
2020-06-08 11:51     ` Dan Carpenter
2020-06-08 12:34     ` Lukasz Luba
2020-06-08 12:34       ` Lukasz Luba
2020-06-08 12:34       ` Lukasz Luba
2020-06-08 12:34       ` Lukasz Luba
2020-06-08 12:34       ` Lukasz Luba
2020-06-08 12:51       ` Dan Carpenter
2020-06-08 12:51         ` Dan Carpenter
2020-06-08 12:51         ` Dan Carpenter
2020-06-08 12:51         ` Dan Carpenter
2020-06-08 12:51         ` Dan Carpenter
2020-06-08 12:51         ` Dan Carpenter
2020-06-08 12:59         ` Lukasz Luba
2020-06-08 12:59           ` Lukasz Luba
2020-06-08 12:59           ` Lukasz Luba
2020-06-08 12:59           ` Lukasz Luba
2020-06-08 12:59           ` Lukasz Luba
2020-06-08 13:25           ` Dan Carpenter
2020-06-08 13:25             ` Dan Carpenter
2020-06-08 13:25             ` Dan Carpenter
2020-06-08 13:25             ` Dan Carpenter
2020-06-08 13:25             ` Dan Carpenter
2020-06-08 13:25             ` Dan Carpenter
2020-06-08 13:49             ` Lukasz Luba
2020-06-08 13:49               ` Lukasz Luba
2020-06-08 13:49               ` Lukasz Luba
2020-06-08 13:49               ` Lukasz Luba
2020-06-08 13:49               ` Lukasz Luba
2020-06-10 10:12   ` [RESEND][PATCH " Lukasz Luba
2020-06-10 10:12     ` Lukasz Luba
2020-06-10 10:12     ` Lukasz Luba
2020-06-10 10:12     ` Lukasz Luba
2020-06-24 15:21     ` Rafael J. Wysocki
2020-06-24 15:21       ` Rafael J. Wysocki
2020-06-24 15:21       ` Rafael J. Wysocki
2020-06-24 15:29       ` Lukasz Luba
2020-06-24 15:29         ` Lukasz Luba
2020-06-24 15:29         ` Lukasz Luba
2020-05-27  9:58 ` [PATCH v8 5/8] PM / EM: remove em_register_perf_domain Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58 ` [PATCH v8 6/8] PM / EM: change name of em_pd_energy to em_cpu_energy Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58 ` [PATCH v8 7/8] Documentation: power: update Energy Model description Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58 ` [PATCH v8 8/8] OPP: refactor dev_pm_opp_of_register_em() and update related drivers Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-27  9:58   ` Lukasz Luba
2020-05-29 15:00 ` [PATCH v8 0/8] Add support for devices in the Energy Model Lukasz Luba
2020-05-29 15:00   ` Lukasz Luba
2020-05-29 15:00   ` Lukasz Luba
2020-05-29 15:00   ` Lukasz Luba
2020-05-29 16:18   ` Rafael J. Wysocki
2020-05-29 16:18     ` Rafael J. Wysocki
2020-05-29 16:18     ` Rafael J. Wysocki
2020-05-29 17:05     ` Lukasz Luba
2020-05-29 17:05       ` Lukasz Luba
2020-05-29 17:05       ` Lukasz Luba
2020-06-17  9:17     ` Lukasz Luba
2020-06-17  9:17       ` Lukasz Luba
2020-06-17  9:17       ` Lukasz Luba
2020-06-05 22:56 [PATCH v8 4/8] PM / EM: add support for other devices than CPUs in " kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.