mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix pick_next_highest_task_rt() for cgroups sched: Cleanup: remove unused variable in try_to_wake_up() x86: Fix sched_clock_cpu for systems with unsynchronized TSC
This commit is contained in:
		
						commit
						80a186074e
					
				
					 3 changed files with 10 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -70,7 +70,8 @@ static void __cpuinit early_init_intel(struct cpuinfo_x86 *c)
 | 
			
		|||
	if (c->x86_power & (1 << 8)) {
 | 
			
		||||
		set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC);
 | 
			
		||||
		set_cpu_cap(c, X86_FEATURE_NONSTOP_TSC);
 | 
			
		||||
		sched_clock_stable = 1;
 | 
			
		||||
		if (!check_tsc_unstable())
 | 
			
		||||
			sched_clock_stable = 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2359,7 +2359,7 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state,
 | 
			
		|||
{
 | 
			
		||||
	int cpu, orig_cpu, this_cpu, success = 0;
 | 
			
		||||
	unsigned long flags;
 | 
			
		||||
	struct rq *rq, *orig_rq;
 | 
			
		||||
	struct rq *rq;
 | 
			
		||||
 | 
			
		||||
	if (!sched_feat(SYNC_WAKEUPS))
 | 
			
		||||
		wake_flags &= ~WF_SYNC;
 | 
			
		||||
| 
						 | 
				
			
			@ -2367,7 +2367,7 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state,
 | 
			
		|||
	this_cpu = get_cpu();
 | 
			
		||||
 | 
			
		||||
	smp_wmb();
 | 
			
		||||
	rq = orig_rq = task_rq_lock(p, &flags);
 | 
			
		||||
	rq = task_rq_lock(p, &flags);
 | 
			
		||||
	update_rq_clock(rq);
 | 
			
		||||
	if (!(p->state & state))
 | 
			
		||||
		goto out;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1146,7 +1146,12 @@ static struct task_struct *pick_next_highest_task_rt(struct rq *rq, int cpu)
 | 
			
		|||
		if (next && next->prio < idx)
 | 
			
		||||
			continue;
 | 
			
		||||
		list_for_each_entry(rt_se, array->queue + idx, run_list) {
 | 
			
		||||
			struct task_struct *p = rt_task_of(rt_se);
 | 
			
		||||
			struct task_struct *p;
 | 
			
		||||
 | 
			
		||||
			if (!rt_entity_is_task(rt_se))
 | 
			
		||||
				continue;
 | 
			
		||||
 | 
			
		||||
			p = rt_task_of(rt_se);
 | 
			
		||||
			if (pick_rt_task(rq, p, cpu)) {
 | 
			
		||||
				next = p;
 | 
			
		||||
				break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue