lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z1hSJ_ixBomdOJeR@gpd3>
Date: Tue, 10 Dec 2024 15:37:27 +0100
From: Andrea Righi <arighi@...dia.com>
To: David Vernet <void@...ifault.com>
Cc: tj@...nel.org, sched-ext@...a.com, kernel-team@...a.com,
	linux-kernel@...r.kernel.org, ihor.solodrai@...me
Subject: Re: [PATCH] scx: Fix maximal BPF selftest prog

On Mon, Dec 09, 2024 at 09:29:24AM -0600, David Vernet wrote:
> maximal.bpf.c is still dispatching to and consuming from SCX_DSQ_GLOBAL.
> Let's have it use its own DSQ to avoid any runtime errors.
> 
> Signed-off-by: David Vernet <void@...ifault.com>

Looks good to me.

Tested-by: Andrea Righi <arighi@...dia.com>

> ---
>  tools/testing/selftests/sched_ext/maximal.bpf.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/testing/selftests/sched_ext/maximal.bpf.c b/tools/testing/selftests/sched_ext/maximal.bpf.c
> index 4c005fa71810..430f5e13bf55 100644
> --- a/tools/testing/selftests/sched_ext/maximal.bpf.c
> +++ b/tools/testing/selftests/sched_ext/maximal.bpf.c
> @@ -12,6 +12,8 @@
>  
>  char _license[] SEC("license") = "GPL";
>  
> +#define DSQ_ID 0
> +
>  s32 BPF_STRUCT_OPS(maximal_select_cpu, struct task_struct *p, s32 prev_cpu,
>  		   u64 wake_flags)
>  {
> @@ -20,7 +22,7 @@ s32 BPF_STRUCT_OPS(maximal_select_cpu, struct task_struct *p, s32 prev_cpu,
>  
>  void BPF_STRUCT_OPS(maximal_enqueue, struct task_struct *p, u64 enq_flags)
>  {
> -	scx_bpf_dsq_insert(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
> +	scx_bpf_dsq_insert(p, DSQ_ID, SCX_SLICE_DFL, enq_flags);
>  }
>  
>  void BPF_STRUCT_OPS(maximal_dequeue, struct task_struct *p, u64 deq_flags)
> @@ -28,7 +30,7 @@ void BPF_STRUCT_OPS(maximal_dequeue, struct task_struct *p, u64 deq_flags)
>  
>  void BPF_STRUCT_OPS(maximal_dispatch, s32 cpu, struct task_struct *prev)
>  {
> -	scx_bpf_dsq_move_to_local(SCX_DSQ_GLOBAL);
> +	scx_bpf_dsq_move_to_local(DSQ_ID);
>  }
>  
>  void BPF_STRUCT_OPS(maximal_runnable, struct task_struct *p, u64 enq_flags)
> @@ -123,7 +125,7 @@ void BPF_STRUCT_OPS(maximal_cgroup_set_weight, struct cgroup *cgrp, u32 weight)
>  
>  s32 BPF_STRUCT_OPS_SLEEPABLE(maximal_init)
>  {
> -	return 0;
> +	return scx_bpf_create_dsq(DSQ_ID, -1);
>  }
>  
>  void BPF_STRUCT_OPS(maximal_exit, struct scx_exit_info *info)
> -- 
> 2.46.1
> 

-Andrea

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ