Loading kernel/sched/ext.c +5 −4 Original line number Diff line number Diff line Loading @@ -6867,13 +6867,14 @@ static s32 scx_enable(struct sched_ext_ops *ops, struct bpf_link *link) if (!READ_ONCE(helper)) { mutex_lock(&helper_mutex); if (!helper) { helper = kthread_run_worker(0, "scx_enable_helper"); if (IS_ERR_OR_NULL(helper)) { helper = NULL; struct kthread_worker *w = kthread_run_worker(0, "scx_enable_helper"); if (IS_ERR_OR_NULL(w)) { mutex_unlock(&helper_mutex); return -ENOMEM; } sched_set_fifo(helper->task); sched_set_fifo(w->task); WRITE_ONCE(helper, w); } mutex_unlock(&helper_mutex); } Loading Loading
kernel/sched/ext.c +5 −4 Original line number Diff line number Diff line Loading @@ -6867,13 +6867,14 @@ static s32 scx_enable(struct sched_ext_ops *ops, struct bpf_link *link) if (!READ_ONCE(helper)) { mutex_lock(&helper_mutex); if (!helper) { helper = kthread_run_worker(0, "scx_enable_helper"); if (IS_ERR_OR_NULL(helper)) { helper = NULL; struct kthread_worker *w = kthread_run_worker(0, "scx_enable_helper"); if (IS_ERR_OR_NULL(w)) { mutex_unlock(&helper_mutex); return -ENOMEM; } sched_set_fifo(helper->task); sched_set_fifo(w->task); WRITE_ONCE(helper, w); } mutex_unlock(&helper_mutex); } Loading