Re: [PATCH] DLS: add dl_time_equal helper in deadline scheduler

From: Juri Lelli
Date: Mon Apr 09 2012 - 03:34:22 EST


Hi,

On 04/07/2012 09:49 AM, Hillf Danton wrote:
Hi all

A tiny helper, dl_time_equal, is added for easing readers.

And dl_entity_preempt is redefined to be bool, and its comment is also changed.

Signed-off-by: Hillf Danton<dhillf@xxxxxxxxx>
---

--- a/kernel/sched_dl.c Sat Apr 7 15:00:28 2012
+++ b/kernel/sched_dl.c Sat Apr 7 15:20:10 2012
@@ -16,16 +16,21 @@
*/
static const struct sched_class dl_sched_class;

-static inline int dl_time_before(u64 a, u64 b)
+static inline bool dl_time_equal(u64 a, u64 b)
+{
+ return a == b;
+}
+
+static inline bool dl_time_before(u64 a, u64 b)
{
return (s64)(a - b)< 0;
}

/*
- * Tells if entity @a should preempt entity @b.
+ * Return true if entity @a could preempt entity @b in term of deadline
*/
-static inline
-int dl_entity_preempt(struct sched_dl_entity *a, struct sched_dl_entity *b)
+static inline bool
+dl_entity_preempt(struct sched_dl_entity *a, struct sched_dl_entity *b)
{
return dl_time_before(a->deadline, b->deadline);
}
@@ -885,7 +890,7 @@ static void check_preempt_curr_dl(struct
* In the unlikely case current and p have the same deadline
* let us try to decide what's the best thing to do...
*/
- if ((s64)(p->dl.deadline - rq->curr->dl.deadline) == 0&&
+ if (dl_time_equal(p->dl.deadline, rq->curr->dl.deadline)&&
!need_resched())
check_preempt_equal_dl(rq, p);
#endif /* CONFIG_SMP */
--

I'll change the comparison to be deadline_a == deadline_b, but I don't see the
need for a special helper function. It is used only once, better to have the
comparison really inline (a very special case).

Thanks and Regards,

- Juri
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/