PM: QoS: Get rid of unused flags
authorAmit Kucheria <amit.kucheria@linaro.org>
Thu, 11 Jul 2019 14:21:25 +0000 (19:51 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 20 Aug 2019 22:38:54 +0000 (00:38 +0200)
The network_latency and network_throughput flags for PM-QoS have not
found much use in drivers or in userspace since they were introduced.

Commit 4a733ef1bea7 ("mac80211: remove PM-QoS listener") removed the
only user PM_QOS_NETWORK_LATENCY in the kernel a while ago and there
don't seem to be any userspace tools using the character device files
either.

PM_QOS_MEMORY_BANDWIDTH was never even added to the trace events.

Remove all the flags except cpu_dma_latency.

Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Documentation/power/pm_qos_interface.rst
include/linux/pm_qos.h
include/trace/events/power.h
kernel/power/qos.c

index 69921f072ce199f03c672bd63aa0eaab17bd1217..3097694fba69805aa1eb365aaf349e334e9ecde0 100644 (file)
@@ -7,8 +7,7 @@ performance expectations by drivers, subsystems and user space applications on
 one of the parameters.
 
 Two different PM QoS frameworks are available:
-1. PM QoS classes for cpu_dma_latency, network_latency, network_throughput,
-memory_bandwidth.
+1. PM QoS classes for cpu_dma_latency
 2. the per-device PM QoS framework provides the API to manage the per-device latency
 constraints and PM QoS flags.
 
@@ -79,7 +78,7 @@ cleanup of a process, the interface requires the process to register its
 parameter requests in the following way:
 
 To register the default pm_qos target for the specific parameter, the process
-must open one of /dev/[cpu_dma_latency, network_latency, network_throughput]
+must open /dev/cpu_dma_latency
 
 As long as the device node is held open that process has a registered
 request on the parameter.
index 2aebbc5b99501a21149c32b391750461ebbea8c5..222c3e01397c17674ea6811aaefc330c3a3077a1 100644 (file)
@@ -13,9 +13,6 @@
 enum {
        PM_QOS_RESERVED = 0,
        PM_QOS_CPU_DMA_LATENCY,
-       PM_QOS_NETWORK_LATENCY,
-       PM_QOS_NETWORK_THROUGHPUT,
-       PM_QOS_MEMORY_BANDWIDTH,
 
        /* insert new class ID */
        PM_QOS_NUM_CLASSES,
@@ -33,9 +30,6 @@ enum pm_qos_flags_status {
 #define PM_QOS_LATENCY_ANY_NS  ((s64)PM_QOS_LATENCY_ANY * NSEC_PER_USEC)
 
 #define PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE       (2000 * USEC_PER_SEC)
-#define PM_QOS_NETWORK_LAT_DEFAULT_VALUE       (2000 * USEC_PER_SEC)
-#define PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE        0
-#define PM_QOS_MEMORY_BANDWIDTH_DEFAULT_VALUE  0
 #define PM_QOS_RESUME_LATENCY_DEFAULT_VALUE    PM_QOS_LATENCY_ANY
 #define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT    PM_QOS_LATENCY_ANY
 #define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT_NS PM_QOS_LATENCY_ANY_NS
index f7aece721aed75dfe7d36beae56da0eb2cdafc65..7457e238e1b7448c552cd29392acb79ce3dc4a6e 100644 (file)
@@ -379,9 +379,7 @@ DECLARE_EVENT_CLASS(pm_qos_request,
 
        TP_printk("pm_qos_class=%s value=%d",
                  __print_symbolic(__entry->pm_qos_class,
-                       { PM_QOS_CPU_DMA_LATENCY,       "CPU_DMA_LATENCY" },
-                       { PM_QOS_NETWORK_LATENCY,       "NETWORK_LATENCY" },
-                       { PM_QOS_NETWORK_THROUGHPUT,    "NETWORK_THROUGHPUT" }),
+                       { PM_QOS_CPU_DMA_LATENCY,       "CPU_DMA_LATENCY" }),
                  __entry->value)
 );
 
@@ -426,9 +424,7 @@ TRACE_EVENT(pm_qos_update_request_timeout,
 
        TP_printk("pm_qos_class=%s value=%d, timeout_us=%ld",
                  __print_symbolic(__entry->pm_qos_class,
-                       { PM_QOS_CPU_DMA_LATENCY,       "CPU_DMA_LATENCY" },
-                       { PM_QOS_NETWORK_LATENCY,       "NETWORK_LATENCY" },
-                       { PM_QOS_NETWORK_THROUGHPUT,    "NETWORK_THROUGHPUT" }),
+                       { PM_QOS_CPU_DMA_LATENCY,       "CPU_DMA_LATENCY" }),
                  __entry->value, __entry->timeout_us)
 );
 
index 33e3febaba53f9636405e21a0eeea48411f2de7b..9568a2fe7c116155f6c6c2c4a3220cd58f78a32b 100644 (file)
@@ -78,57 +78,9 @@ static struct pm_qos_object cpu_dma_pm_qos = {
        .name = "cpu_dma_latency",
 };
 
-static BLOCKING_NOTIFIER_HEAD(network_lat_notifier);
-static struct pm_qos_constraints network_lat_constraints = {
-       .list = PLIST_HEAD_INIT(network_lat_constraints.list),
-       .target_value = PM_QOS_NETWORK_LAT_DEFAULT_VALUE,
-       .default_value = PM_QOS_NETWORK_LAT_DEFAULT_VALUE,
-       .no_constraint_value = PM_QOS_NETWORK_LAT_DEFAULT_VALUE,
-       .type = PM_QOS_MIN,
-       .notifiers = &network_lat_notifier,
-};
-static struct pm_qos_object network_lat_pm_qos = {
-       .constraints = &network_lat_constraints,
-       .name = "network_latency",
-};
-
-
-static BLOCKING_NOTIFIER_HEAD(network_throughput_notifier);
-static struct pm_qos_constraints network_tput_constraints = {
-       .list = PLIST_HEAD_INIT(network_tput_constraints.list),
-       .target_value = PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE,
-       .default_value = PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE,
-       .no_constraint_value = PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE,
-       .type = PM_QOS_MAX,
-       .notifiers = &network_throughput_notifier,
-};
-static struct pm_qos_object network_throughput_pm_qos = {
-       .constraints = &network_tput_constraints,
-       .name = "network_throughput",
-};
-
-
-static BLOCKING_NOTIFIER_HEAD(memory_bandwidth_notifier);
-static struct pm_qos_constraints memory_bw_constraints = {
-       .list = PLIST_HEAD_INIT(memory_bw_constraints.list),
-       .target_value = PM_QOS_MEMORY_BANDWIDTH_DEFAULT_VALUE,
-       .default_value = PM_QOS_MEMORY_BANDWIDTH_DEFAULT_VALUE,
-       .no_constraint_value = PM_QOS_MEMORY_BANDWIDTH_DEFAULT_VALUE,
-       .type = PM_QOS_SUM,
-       .notifiers = &memory_bandwidth_notifier,
-};
-static struct pm_qos_object memory_bandwidth_pm_qos = {
-       .constraints = &memory_bw_constraints,
-       .name = "memory_bandwidth",
-};
-
-
 static struct pm_qos_object *pm_qos_array[] = {
        &null_pm_qos,
        &cpu_dma_pm_qos,
-       &network_lat_pm_qos,
-       &network_throughput_pm_qos,
-       &memory_bandwidth_pm_qos,
 };
 
 static ssize_t pm_qos_power_write(struct file *filp, const char __user *buf,