mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	PM: QoS: Get rid of unused flags
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 4a733ef1be ("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>
			
			
This commit is contained in:
		
							parent
							
								
									d1abaeb3be
								
							
						
					
					
						commit
						c3082a674f
					
				
					 4 changed files with 4 additions and 63 deletions
				
			
		| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue