Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59bf6c3c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fixes from Ingo Molnar:
 "Three small fixes"

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/clock: Prevent tracing recursion in sched_clock_cpu()
  stop_machine: Fix^2 race between stop_two_cpus() and stop_cpus()
  sched/deadline: Deny unprivileged users to set/change SCHED_DEADLINE policy
parents b44eeb4d 96b3d28b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -301,14 +301,14 @@ u64 sched_clock_cpu(int cpu)
	if (unlikely(!sched_clock_running))
		return 0ull;

	preempt_disable();
	preempt_disable_notrace();
	scd = cpu_sdc(cpu);

	if (cpu != smp_processor_id())
		clock = sched_clock_remote(scd);
	else
		clock = sched_clock_local(scd);
	preempt_enable();
	preempt_enable_notrace();

	return clock;
}
+9 −0
Original line number Diff line number Diff line
@@ -3338,6 +3338,15 @@ recheck:
				return -EPERM;
		}

		 /*
		  * Can't set/change SCHED_DEADLINE policy at all for now
		  * (safest behavior); in the future we would like to allow
		  * unprivileged DL tasks to increase their relative deadline
		  * or reduce their runtime (both ways reducing utilization)
		  */
		if (dl_policy(policy))
			return -EPERM;

		/*
		 * Treat SCHED_IDLE as nice 20. Only allow a switch to
		 * SCHED_NORMAL if the RLIMIT_NICE would normally permit it.
+1 −1
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ int stop_two_cpus(unsigned int cpu1, unsigned int cpu2, cpu_stop_fn_t fn, void *
	 */
	smp_call_function_single(min(cpu1, cpu2),
				 &irq_cpu_stop_queue_work,
				 &call_args, 0);
				 &call_args, 1);
	lg_local_unlock(&stop_cpus_lock);
	preempt_enable();