[bug report] sched_ext: Add a central scheduler which makes all scheduling decisions on one CPU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Tejun Heo,

Commit 037df2a314a0 ("sched_ext: Add a central scheduler which makes
all scheduling decisions on one CPU") from Jun 18, 2024 (linux-next),
leads to the following Smatch static checker warning:

	./tools/sched_ext/scx_central.bpf.c:205 ____central_dispatch()
	error: we previously assumed 'gimme' could be null (see line 201)

./tools/sched_ext/scx_central.bpf.c
    195 
    196                         if (!scx_bpf_dispatch_nr_slots())
    197                                 break;
    198 
    199                         /* central's gimme is never set */
    200                         gimme = ARRAY_ELEM_PTR(cpu_gimme_task, cpu, nr_cpu_ids);
    201                         if (gimme && !*gimme)
                                    ^^^^^
If gimme is NULL

    202                                 continue;
    203 
    204                         if (dispatch_to_cpu(cpu))
--> 205                                 *gimme = false;
                                        ^^^^^^
then this could be an issue?

    206                 }
    207 
    208                 /*
    209                  * Retry if we ran out of dispatch buffer slots as we might have
    210                  * skipped some CPUs and also need to dispatch for self. The ext
    211                  * core automatically retries if the local dsq is empty but we
    212                  * can't rely on that as we're dispatching for other CPUs too.
    213                  * Kick self explicitly to retry.
    214                  */
    215                 if (!scx_bpf_dispatch_nr_slots()) {

regards,
dan carpenter




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux