diff --git a/6.18/sched/0001-bore-cachy.patch b/6.18/sched/0001-bore-cachy.patch index e008fc6c..eca73b5e 100644 --- a/6.18/sched/0001-bore-cachy.patch +++ b/6.18/sched/0001-bore-cachy.patch @@ -1196,8 +1196,8 @@ index b2e4fd2070c4..6f3360a6c8ce 100644 if (dequeue_entities(rq, &p->se, flags) < 0) return false; -@@ -8893,6 +8960,16 @@ static void check_preempt_wakeup_fair(struct rq *rq, struct task_struct *p, int - if (__pick_eevdf(cfs_rq, !do_preempt_short) == pse) +@@ -8988,6 +8988,16 @@ + if (nse == pse) goto preempt; +#ifdef CONFIG_SCHED_BORE @@ -1205,14 +1205,14 @@ index b2e4fd2070c4..6f3360a6c8ce 100644 + sched_feat(PREEMPT_SHORT_BORE) && + entity_is_task(pse) && entity_is_task(se) && + task_of(pse)->bore.penalty < task_of(se)->bore.penalty) { -+ do_preempt_short = true; ++ preempt_action = PREEMPT_WAKEUP_SHORT; + goto preempt; + } +#endif /* CONFIG_SCHED_BORE */ + - if (sched_feat(RUN_TO_PARITY) && do_preempt_short) - update_protect_slice(cfs_rq, se); - + /* + * Because p is enqueued, nse being null can only mean that we + * dequeued a delayed task. If there are still entities queued in @@ -9067,16 +9144,25 @@ static void yield_task_fair(struct rq *rq) /* * Are we the only task in the tree?