|
@@ -1583,24 +1583,18 @@ wakeup_gran(struct sched_entity *curr, struct sched_entity *se)
|
|
|
/*
|
|
|
* Since its curr running now, convert the gran from real-time
|
|
|
* to virtual-time in his units.
|
|
|
+ *
|
|
|
+ * By using 'se' instead of 'curr' we penalize light tasks, so
|
|
|
+ * they get preempted easier. That is, if 'se' < 'curr' then
|
|
|
+ * the resulting gran will be larger, therefore penalizing the
|
|
|
+ * lighter, if otoh 'se' > 'curr' then the resulting gran will
|
|
|
+ * be smaller, again penalizing the lighter task.
|
|
|
+ *
|
|
|
+ * This is especially important for buddies when the leftmost
|
|
|
+ * task is higher priority than the buddy.
|
|
|
*/
|
|
|
- if (sched_feat(ASYM_GRAN)) {
|
|
|
- /*
|
|
|
- * By using 'se' instead of 'curr' we penalize light tasks, so
|
|
|
- * they get preempted easier. That is, if 'se' < 'curr' then
|
|
|
- * the resulting gran will be larger, therefore penalizing the
|
|
|
- * lighter, if otoh 'se' > 'curr' then the resulting gran will
|
|
|
- * be smaller, again penalizing the lighter task.
|
|
|
- *
|
|
|
- * This is especially important for buddies when the leftmost
|
|
|
- * task is higher priority than the buddy.
|
|
|
- */
|
|
|
- if (unlikely(se->load.weight != NICE_0_LOAD))
|
|
|
- gran = calc_delta_fair(gran, se);
|
|
|
- } else {
|
|
|
- if (unlikely(curr->load.weight != NICE_0_LOAD))
|
|
|
- gran = calc_delta_fair(gran, curr);
|
|
|
- }
|
|
|
+ if (unlikely(se->load.weight != NICE_0_LOAD))
|
|
|
+ gran = calc_delta_fair(gran, se);
|
|
|
|
|
|
return gran;
|
|
|
}
|