+
+static inline int deadline_before(u64 deadline, u64 time)
+{
-+ return (deadline < time);
++ return (s64)(time - deadline) > 0;
+}
+
+static inline int deadline_after(u64 deadline, u64 time)
+{
-+ return (deadline > time);
++ return (s64)(deadline - time) > 0;
+}
+
+/*
}
if (likely(queued_notrunning())) {
-@@ -2461,7 +2530,7 @@ need_resched_nonpreemptible:
- goto need_resched_nonpreemptible;
- preempt_enable_no_resched();
- if (unlikely(test_thread_flag(TIF_NEED_RESCHED)))
-- goto need_resched;
-+ goto need_resched;
- }
- EXPORT_SYMBOL(schedule);
-
@@ -2829,7 +2898,7 @@ void rt_mutex_setprio(struct task_struct
BUG_ON(prio < 0 || prio > MAX_PRIO);
prio += delta;
if (idleprio_task(p))
@@ -3126,7 +3196,7 @@ recheck:
- if (policy == SCHED_NORMAL)
- break;
+ if (policy == SCHED_BATCH)
+ goto out;
if (policy != SCHED_IDLEPRIO)
- return -EPERM;
+ return -EPERM;