mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	[PATCH] cfq-iosched: correctly set ioprio on both targets
Patch originally from Vasily Tarasov <vtaras@sw.ru> If you set io-priority of process 1 using sys_ioprio_set system call by another process 2 (like ionice do), then cfq_init_prio_data() function sets priority of process 2 (current) on queue of process 1 and clears the flag, that designates change of ioprio. So the process 1 will work like with priority of process 2. I propose not to call cfq_init_prio_data() on io-priority change, but only mark queue as queue with changed prority. Every time when new request comes cfq-scheduler checks for this flag and atomaticaly changes priority of queue to new value. Signed-off-by: Jens Axboe <axboe@suse.de>
This commit is contained in:
		
							parent
							
								
									b17fd9bceb
								
							
						
					
					
						commit
						35e6077cb1
					
				
					 1 changed files with 2 additions and 3 deletions
				
			
		|  | @ -1388,10 +1388,9 @@ static inline void changed_ioprio(struct cfq_io_context *cic) | |||
| 			} | ||||
| 		} | ||||
| 		cfqq = cic->cfqq[SYNC]; | ||||
| 		if (cfqq) { | ||||
| 		if (cfqq) | ||||
| 			cfq_mark_cfqq_prio_changed(cfqq); | ||||
| 			cfq_init_prio_data(cfqq); | ||||
| 		} | ||||
| 
 | ||||
| 		spin_unlock(cfqd->queue->queue_lock); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Jens Axboe
						Jens Axboe