mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 05:04:02 +02:00
sched_ext: Make scx_bpf_kick_cid() return void
scx_bpf_kick_cid() returned an error code, but the value conveys nothing actionable and no caller consumes it. The kick is asynchronous, so a successful return only means it was queued. An invalid @cid is already reported through scx_error() by scx_cid_to_cpu(), and a missing scheduler leaves nothing to kick. Make scx_bpf_kick_cid() return void to match scx_bpf_kick_cpu(). The cid-form kfuncs are not in practical use yet, so the ABI change is safe. Signed-off-by: Tejun Heo <tj@kernel.org> Reviewed-by: Andrea Righi <arighi@nvidia.com>
This commit is contained in:
parent
31645fb113
commit
b38332be61
|
|
@ -8560,10 +8560,10 @@ __bpf_kfunc void scx_bpf_kick_cpu(s32 cpu, u64 flags, const struct bpf_prog_aux
|
|||
* @flags: %SCX_KICK_* flags
|
||||
* @aux: implicit BPF argument to access bpf_prog_aux hidden from BPF progs
|
||||
*
|
||||
* cid-addressed equivalent of scx_bpf_kick_cpu(). Return 0 on success,
|
||||
* -errno otherwise.
|
||||
* cid-addressed equivalent of scx_bpf_kick_cpu(). An invalid @cid aborts the
|
||||
* scheduler via scx_cid_to_cpu().
|
||||
*/
|
||||
__bpf_kfunc s32 scx_bpf_kick_cid(s32 cid, u64 flags, const struct bpf_prog_aux *aux)
|
||||
__bpf_kfunc void scx_bpf_kick_cid(s32 cid, u64 flags, const struct bpf_prog_aux *aux)
|
||||
{
|
||||
struct scx_sched *sch;
|
||||
s32 cpu;
|
||||
|
|
@ -8571,12 +8571,11 @@ __bpf_kfunc s32 scx_bpf_kick_cid(s32 cid, u64 flags, const struct bpf_prog_aux *
|
|||
guard(rcu)();
|
||||
sch = scx_prog_sched(aux);
|
||||
if (unlikely(!sch))
|
||||
return -ENODEV;
|
||||
return;
|
||||
cpu = scx_cid_to_cpu(sch, cid);
|
||||
if (cpu < 0)
|
||||
return cpu;
|
||||
return;
|
||||
scx_kick_cpu(sch, cpu, flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ void scx_bpf_events(struct scx_event_stats *events, size_t events__sz) __ksym __
|
|||
s32 scx_bpf_cpu_to_cid(s32 cpu) __ksym __weak;
|
||||
s32 scx_bpf_cid_to_cpu(s32 cid) __ksym __weak;
|
||||
void scx_bpf_cid_topo(s32 cid, struct scx_cid_topo *out) __ksym __weak;
|
||||
s32 scx_bpf_kick_cid(s32 cid, u64 flags) __ksym __weak;
|
||||
void scx_bpf_kick_cid(s32 cid, u64 flags) __ksym __weak;
|
||||
s32 scx_bpf_task_cid(const struct task_struct *p) __ksym __weak;
|
||||
s32 scx_bpf_this_cid(void) __ksym __weak;
|
||||
struct task_struct *scx_bpf_cid_curr(s32 cid) __ksym __weak;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user