Hi all, Today's linux-next merge of the sched-ext tree got a semantic conflict in: kernel/sched/ext.c between commit: 863ccdbb918a ("sched: Allow sched_class::dequeue_task() to fail") from the tip tree and commit: f0e1a0643a59 ("sched_ext: Implement BPF extensible scheduler class") from the sched-ext tree. I fixed it up (I applied the following merge fix) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Thu, 22 Aug 2024 13:37:43 +1000 Subject: [PATCH] fix up for "sched_ext: Implement BPF extensible scheduler class" interacting with "sched: Allow sched_class::dequeue_task() to fail" from the tip tree. Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- kernel/sched/ext.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index 571a7ea0b5cb..1a9a3cc68a98 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -2033,11 +2033,11 @@ static void ops_dequeue(struct task_struct *p, u64 deq_flags) } } -static void dequeue_task_scx(struct rq *rq, struct task_struct *p, int deq_flags) +static bool dequeue_task_scx(struct rq *rq, struct task_struct *p, int deq_flags) { if (!(p->scx.flags & SCX_TASK_QUEUED)) { WARN_ON_ONCE(task_runnable(p)); - return; + return true; } ops_dequeue(p, deq_flags); @@ -2072,6 +2072,8 @@ static void dequeue_task_scx(struct rq *rq, struct task_struct *p, int deq_flags sub_nr_running(rq, 1); dispatch_dequeue(rq, p); + + return true; } static void yield_task_scx(struct rq *rq) -- 2.43.0 -- Cheers, Stephen Rothwell
Attachment:
pgpJH9tFMJuIF.pgp
Description: OpenPGP digital signature