mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	hrtimer: incorporate feedback from Peter Zijlstra
(based on lkml review) * use rt_task() * task_nice() has a sign Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
This commit is contained in:
		
							parent
							
								
									da8f2e170e
								
							
						
					
					
						commit
						4ce105d30e
					
				
					 2 changed files with 3 additions and 4 deletions
				
			
		| 
						 | 
					@ -46,7 +46,7 @@ static unsigned long __estimate_accuracy(struct timespec *tv)
 | 
				
			||||||
	unsigned long slack;
 | 
						unsigned long slack;
 | 
				
			||||||
	int divfactor = 1000;
 | 
						int divfactor = 1000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (task_nice(current))
 | 
						if (task_nice(current) > 0)
 | 
				
			||||||
		divfactor = divfactor / 5;
 | 
							divfactor = divfactor / 5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	slack = tv->tv_nsec / divfactor;
 | 
						slack = tv->tv_nsec / divfactor;
 | 
				
			||||||
| 
						 | 
					@ -66,8 +66,7 @@ static unsigned long estimate_accuracy(struct timespec *tv)
 | 
				
			||||||
	 * Realtime tasks get a slack of 0 for obvious reasons.
 | 
						 * Realtime tasks get a slack of 0 for obvious reasons.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (current->policy == SCHED_FIFO ||
 | 
						if (rt_task(current))
 | 
				
			||||||
		current->policy == SCHED_RR)
 | 
					 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ktime_get_ts(&now);
 | 
						ktime_get_ts(&now);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -363,7 +363,7 @@ static inline int hrtimer_start_expires(struct hrtimer *timer,
 | 
				
			||||||
	soft = hrtimer_get_softexpires(timer);
 | 
						soft = hrtimer_get_softexpires(timer);
 | 
				
			||||||
	hard = hrtimer_get_expires(timer);
 | 
						hard = hrtimer_get_expires(timer);
 | 
				
			||||||
	delta = ktime_to_ns(ktime_sub(hard, soft));
 | 
						delta = ktime_to_ns(ktime_sub(hard, soft));
 | 
				
			||||||
	return hrtimer_start_range_ns(timer, hrtimer_get_expires(timer), delta, mode);
 | 
						return hrtimer_start_range_ns(timer, soft, delta, mode);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline int hrtimer_restart(struct hrtimer *timer)
 | 
					static inline int hrtimer_restart(struct hrtimer *timer)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue