[PATCH 00/28] PM: QoS: Get rid of unuseful code and rework CPU latency QoS interface

Rafael J. Wysocki
2020-02-11T23:39:14Z

Hi All,

This series of patches is based on the observation that after commit
c3082a674f46 ("PM: QoS: Get rid of unused flags") the only global PM QoS class
in use is PM_QOS_CPU_DMA_LATENCY, but there is still a significant amount of
code dedicated to the handling of global PM QoS classes in general. That code
takes up space and adds overhead in vain, so it is better to get rid of it.

Moreover, with that unuseful code removed, the interface for adding QoS
requests for CPU latency becomes inelegant and confusing, so it is better to
clean it up.

Patches [01/28-12/28] do the first part described above, which also includes
some assorted cleanups of the core PM QoS code that doesn't go away.

Patches [13/28-25/28] rework the CPU latency QoS interface (in the classic
"define stubs, migrate users, change the API proper" manner), patches
[26-27/28] update the general comments and documentation to match the code
after the previous changes and the last one makes the CPU latency QoS depend
on CPU_IDLE (because cpuidle is the only user of its target value today).

The majority of the patches in this series don't change the functionality of
the code at all (at least not intentionally).

Please refer to the changelogs of individual patches for details.

Thanks!