When scheduling the deferred balance callbacks, check SCX_RQ_BAL_CB_PENDING
instead of SCX_RQ_BAL_PENDING. This way schedule_deferred() properly tests
whether there is already a pending request for queue_balance_callback() to
be invoked at the end of .balance().
Fixes: a8ad873113d3 ("sched_ext: defer queue_balance_callback() until after ops.dispatch")
Signed-off-by: Emil Tsalapatis <emil@etsalapatis.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
return;
/* Don't do anything if there already is a deferred operation. */
- if (rq->scx.flags & SCX_RQ_BAL_PENDING)
+ if (rq->scx.flags & SCX_RQ_BAL_CB_PENDING)
return;
/*