====== Cleaning ======
../../../scripts/Makefile.include:4: *** O=build_tools/ does not exist.  Stop.
../../../scripts/Makefile.include:4: *** O=build_tools/ does not exist.  Stop.
 ====== Baseline building the tree ======
make[1]: Circular /home/nipa/net-next/wt-0/build_tools/kselftest/alsa/global-timer <- /home/nipa/net-next/wt-0/build_tools/kselftest/alsa/global-timer dependency dropped.
Warning: Kernel ABI header at 'tools/include/uapi/linux/if_xdp.h' differs from latest version at 'include/uapi/linux/if_xdp.h'
In file included from create_dsq.bpf.c:9:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
create_dsq.bpf.c:14:14: warning: declaration of 'struct scx_exit_task_args' will not be visible outside of this function [-Wvisibility]
   14 |                     struct scx_exit_task_args *args)
      |                            ^
create_dsq.bpf.c:14:14: warning: declaration of 'struct scx_exit_task_args' will not be visible outside of this function [-Wvisibility]
create_dsq.bpf.c:13:6: error: conflicting types for '____create_dsq_exit_task'
   13 | void BPF_STRUCT_OPS(create_dsq_exit_task, struct task_struct *p,
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:24:1: note: expanded from here
   24 | ____create_dsq_exit_task
      | ^
create_dsq.bpf.c:13:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:15:1: note: expanded from here
   15 | ____create_dsq_exit_task
      | ^
create_dsq.bpf.c:20:16: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
   20 |                              struct scx_init_task_args *args)
      |                                     ^
create_dsq.bpf.c:20:16: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
create_dsq.bpf.c:19:5: error: conflicting types for '____create_dsq_init_task'
   19 | s32 BPF_STRUCT_OPS_SLEEPABLE(create_dsq_init_task, struct task_struct *p,
      |     ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:144:33: note: expanded from macro 'BPF_STRUCT_OPS_SLEEPABLE'
  144 | SEC("struct_ops.s/"#name)                                                       \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:41:1: note: expanded from here
   41 | ____create_dsq_init_task
      | ^
create_dsq.bpf.c:19:5: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:144:33: note: expanded from macro 'BPF_STRUCT_OPS_SLEEPABLE'
  144 | SEC("struct_ops.s/"#name)                                                       \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:32:1: note: expanded from here
   32 | ____create_dsq_init_task
      | ^
create_dsq.bpf.c:53:22: error: variable has incomplete type 'struct sched_ext_ops'
   53 | struct sched_ext_ops create_dsq_ops = {
      |                      ^
create_dsq.bpf.c:53:8: note: forward declaration of 'struct sched_ext_ops'
   53 | struct sched_ext_ops create_dsq_ops = {
      |        ^
11 warnings and 4 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/create_dsq.bpf.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ddsp_bogus_dsq_fail.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
ddsp_bogus_dsq_fail.bpf.c:24:15: error: no member named 'scx' in 'struct task_struct'
   24 |                                        p->scx.dsq_vtime, 0);
      |                                        ~  ^
ddsp_bogus_dsq_fail.bpf.c:23:41: error: use of undeclared identifier 'SCX_SLICE_DFL'
   23 |                 scx_bpf_dispatch_vtime(p, 0xcafef00d, SCX_SLICE_DFL,
      |                                                       ^
ddsp_bogus_dsq_fail.bpf.c:31:54: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:31:54: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
ddsp_bogus_dsq_fail.bpf.c:31:6: error: conflicting types for '____ddsp_bogus_dsq_fail_exit'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:57:1: note: expanded from here
   57 | ____ddsp_bogus_dsq_fail_exit
      | ^
ddsp_bogus_dsq_fail.bpf.c:31:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:48:1: note: expanded from here
   48 | ____ddsp_bogus_dsq_fail_exit
      | ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:37:22: error: variable has incomplete type 'struct sched_ext_ops'
   37 | struct sched_ext_ops ddsp_bogus_dsq_fail_ops = {
      |                      ^
ddsp_bogus_dsq_fail.bpf.c:37:8: note: forward declaration of 'struct sched_ext_ops'
   37 | struct sched_ext_ops ddsp_bogus_dsq_fail_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/ddsp_bogus_dsq_fail.bpf.o] Error 1
In file included from ddsp_vtimelocal_fail.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
ddsp_vtimelocal_fail.bpf.c:21:15: error: no member named 'scx' in 'struct task_struct'
   21 |                                        p->scx.dsq_vtime, 0);
      |                                        ~  ^
ddsp_vtimelocal_fail.bpf.c:20:29: error: use of undeclared identifier 'SCX_DSQ_LOCAL'
   20 |                 scx_bpf_dispatch_vtime(p, SCX_DSQ_LOCAL, SCX_SLICE_DFL,
      |                                           ^
ddsp_vtimelocal_fail.bpf.c:20:44: error: use of undeclared identifier 'SCX_SLICE_DFL'
   20 |                 scx_bpf_dispatch_vtime(p, SCX_DSQ_LOCAL, SCX_SLICE_DFL,
      |                                                          ^
ddsp_vtimelocal_fail.bpf.c:28:55: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:28:55: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
ddsp_vtimelocal_fail.bpf.c:28:6: error: conflicting types for '____ddsp_vtimelocal_fail_exit'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:57:1: note: expanded from here
   57 | ____ddsp_vtimelocal_fail_exit
      | ^
ddsp_vtimelocal_fail.bpf.c:28:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:48:1: note: expanded from here
   48 | ____ddsp_vtimelocal_fail_exit
      | ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:34:22: error: variable has incomplete type 'struct sched_ext_ops'
   34 | struct sched_ext_ops ddsp_vtimelocal_fail_ops = {
      |                      ^
ddsp_vtimelocal_fail.bpf.c:34:8: note: forward declaration of 'struct sched_ext_ops'
   34 | struct sched_ext_ops ddsp_vtimelocal_fail_ops = {
      |        ^
9 warnings and 12 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/ddsp_vtimelocal_fail.bpf.o] Error 1
In file included from dsp_local_on.bpf.c:6:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
dsp_local_on.bpf.c:48:22: error: use of undeclared identifier 'SCX_DSQ_LOCAL_ON'
   48 |         scx_bpf_dispatch(p, SCX_DSQ_LOCAL_ON | target, SCX_SLICE_DFL, 0);
      |                             ^
dsp_local_on.bpf.c:48:49: error: use of undeclared identifier 'SCX_SLICE_DFL'
   48 |         scx_bpf_dispatch(p, SCX_DSQ_LOCAL_ON | target, SCX_SLICE_DFL, 0);
      |                                                        ^
dsp_local_on.bpf.c:52:47: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:52:47: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
dsp_local_on.bpf.c:52:6: error: conflicting types for '____dsp_local_on_exit'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:104:1: note: expanded from here
  104 | ____dsp_local_on_exit
      | ^
dsp_local_on.bpf.c:52:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:95:1: note: expanded from here
   95 | ____dsp_local_on_exit
      | ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:58:22: error: variable has incomplete type 'struct sched_ext_ops'
   58 | struct sched_ext_ops dsp_local_on_ops = {
      |                      ^
dsp_local_on.bpf.c:58:8: note: forward declaration of 'struct sched_ext_ops'
   58 | struct sched_ext_ops dsp_local_on_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/dsp_local_on.bpf.o] Error 1
In file included from enq_last_no_enq_fails.bpf.c:11:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
enq_last_no_enq_fails.bpf.c:19:13: error: use of undeclared identifier 'SCX_OPS_ENQ_LAST'
   19 |         .flags                  = SCX_OPS_ENQ_LAST,
      |                                   ^
enq_last_no_enq_fails.bpf.c:16:22: error: variable has incomplete type 'struct sched_ext_ops'
   16 | struct sched_ext_ops enq_last_no_enq_fails_ops = {
      |                      ^
enq_last_no_enq_fails.bpf.c:16:8: note: forward declaration of 'struct sched_ext_ops'
   16 | struct sched_ext_ops enq_last_no_enq_fails_ops = {
      |        ^
7 warnings and 3 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/enq_last_no_enq_fails.bpf.o] Error 1
In file included from enq_select_cpu_fails.bpf.c:8:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
enq_select_cpu_fails.bpf.c:34:22: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                             ^
enq_select_cpu_fails.bpf.c:34:38: error: use of undeclared identifier 'SCX_SLICE_DFL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                                             ^
enq_select_cpu_fails.bpf.c:38:22: error: variable has incomplete type 'struct sched_ext_ops'
   38 | struct sched_ext_ops enq_select_cpu_fails_ops = {
      |                      ^
enq_select_cpu_fails.bpf.c:38:8: note: forward declaration of 'struct sched_ext_ops'
   38 | struct sched_ext_ops enq_select_cpu_fails_ops = {
      |        ^
7 warnings and 4 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/enq_select_cpu_fails.bpf.o] Error 1
In file included from exit.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
exit.bpf.c:34:22: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                             ^
exit.bpf.c:34:38: error: use of undeclared identifier 'SCX_SLICE_DFL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                                             ^
exit.bpf.c:42:18: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   42 |         scx_bpf_consume(SCX_DSQ_GLOBAL);
      |                         ^
exit.bpf.c:52:14: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
   52 |                     struct scx_init_task_args *args)
      |                            ^
exit.bpf.c:52:14: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
exit.bpf.c:51:5: error: conflicting types for '____exit_init_task'
   51 | s32 BPF_STRUCT_OPS(exit_init_task, struct task_struct *p,
      |     ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:136:1: note: expanded from here
  136 | ____exit_init_task
      | ^
exit.bpf.c:51:5: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:127:1: note: expanded from here
  127 | ____exit_init_task
      | ^
exit.bpf.c:60:39: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:60:39: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
exit.bpf.c:60:6: error: conflicting types for '____exit_exit'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:160:1: note: expanded from here
  160 | ____exit_exit
      | ^
exit.bpf.c:60:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:151:1: note: expanded from here
  151 | ____exit_exit
      | ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:74:22: error: variable has incomplete type 'struct sched_ext_ops'
   74 | struct sched_ext_ops exit_ops = {
      |                      ^
exit.bpf.c:74:8: note: forward declaration of 'struct sched_ext_ops'
   74 | struct sched_ext_ops exit_ops = {
      |        ^
11 warnings and 13 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/exit.bpf.o] Error 1
In file included from hotplug.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
hotplug.bpf.c:15:42: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:15:42: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
hotplug.bpf.c:15:6: error: conflicting types for '____hotplug_exit'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:40:1: note: expanded from here
   40 | ____hotplug_exit
      | ^
hotplug.bpf.c:15:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:31:1: note: expanded from here
   31 | ____hotplug_exit
      | ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:28:13: error: use of undeclared identifier 'SCX_ECODE_ACT_RESTART'
   28 |         s64 code = SCX_ECODE_ACT_RESTART | HOTPLUG_EXIT_RSN;
      |                    ^
hotplug.bpf.c:48:22: error: variable has incomplete type 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |                      ^
hotplug.bpf.c:48:8: note: forward declaration of 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |        ^
hotplug.bpf.c:57:22: error: variable has incomplete type 'struct sched_ext_ops'
   57 | struct sched_ext_ops hotplug_nocb_ops = {
      |                      ^
hotplug.bpf.c:48:8: note: forward declaration of 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/hotplug.bpf.o] Error 1
 ====== Building the tree before the patch ======
make[1]: Circular /home/nipa/net-next/wt-0/build_tools/kselftest/alsa/global-timer <- /home/nipa/net-next/wt-0/build_tools/kselftest/alsa/global-timer dependency dropped.
In file included from create_dsq.bpf.c:9:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
create_dsq.bpf.c:14:14: warning: declaration of 'struct scx_exit_task_args' will not be visible outside of this function [-Wvisibility]
   14 |                     struct scx_exit_task_args *args)
      |                            ^
create_dsq.bpf.c:14:14: warning: declaration of 'struct scx_exit_task_args' will not be visible outside of this function [-Wvisibility]
create_dsq.bpf.c:13:6: error: conflicting types for '____create_dsq_exit_task'
   13 | void BPF_STRUCT_OPS(create_dsq_exit_task, struct task_struct *p,
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:24:1: note: expanded from here
   24 | ____create_dsq_exit_task
      | ^
create_dsq.bpf.c:13:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:15:1: note: expanded from here
   15 | ____create_dsq_exit_task
      | ^
create_dsq.bpf.c:20:16: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
   20 |                              struct scx_init_task_args *args)
      |                                     ^
create_dsq.bpf.c:20:16: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
create_dsq.bpf.c:19:5: error: conflicting types for '____create_dsq_init_task'
   19 | s32 BPF_STRUCT_OPS_SLEEPABLE(create_dsq_init_task, struct task_struct *p,
      |     ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:144:33: note: expanded from macro 'BPF_STRUCT_OPS_SLEEPABLE'
  144 | SEC("struct_ops.s/"#name)                                                       \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:41:1: note: expanded from here
   41 | ____create_dsq_init_task
      | ^
create_dsq.bpf.c:19:5: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:144:33: note: expanded from macro 'BPF_STRUCT_OPS_SLEEPABLE'
  144 | SEC("struct_ops.s/"#name)                                                       \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:32:1: note: expanded from here
   32 | ____create_dsq_init_task
      | ^
create_dsq.bpf.c:53:22: error: variable has incomplete type 'struct sched_ext_ops'
   53 | struct sched_ext_ops create_dsq_ops = {
      |                      ^
create_dsq.bpf.c:53:8: note: forward declaration of 'struct sched_ext_ops'
   53 | struct sched_ext_ops create_dsq_ops = {
      |        ^
11 warnings and 4 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/create_dsq.bpf.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ddsp_bogus_dsq_fail.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
ddsp_bogus_dsq_fail.bpf.c:24:15: error: no member named 'scx' in 'struct task_struct'
   24 |                                        p->scx.dsq_vtime, 0);
      |                                        ~  ^
ddsp_bogus_dsq_fail.bpf.c:23:41: error: use of undeclared identifier 'SCX_SLICE_DFL'
   23 |                 scx_bpf_dispatch_vtime(p, 0xcafef00d, SCX_SLICE_DFL,
      |                                                       ^
ddsp_bogus_dsq_fail.bpf.c:31:54: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:31:54: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
ddsp_bogus_dsq_fail.bpf.c:31:6: error: conflicting types for '____ddsp_bogus_dsq_fail_exit'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:57:1: note: expanded from here
   57 | ____ddsp_bogus_dsq_fail_exit
      | ^
ddsp_bogus_dsq_fail.bpf.c:31:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:48:1: note: expanded from here
   48 | ____ddsp_bogus_dsq_fail_exit
      | ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:37:22: error: variable has incomplete type 'struct sched_ext_ops'
   37 | struct sched_ext_ops ddsp_bogus_dsq_fail_ops = {
      |                      ^
ddsp_bogus_dsq_fail.bpf.c:37:8: note: forward declaration of 'struct sched_ext_ops'
   37 | struct sched_ext_ops ddsp_bogus_dsq_fail_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/ddsp_bogus_dsq_fail.bpf.o] Error 1
In file included from ddsp_vtimelocal_fail.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
ddsp_vtimelocal_fail.bpf.c:21:15: error: no member named 'scx' in 'struct task_struct'
   21 |                                        p->scx.dsq_vtime, 0);
      |                                        ~  ^
ddsp_vtimelocal_fail.bpf.c:20:29: error: use of undeclared identifier 'SCX_DSQ_LOCAL'
   20 |                 scx_bpf_dispatch_vtime(p, SCX_DSQ_LOCAL, SCX_SLICE_DFL,
      |                                           ^
ddsp_vtimelocal_fail.bpf.c:20:44: error: use of undeclared identifier 'SCX_SLICE_DFL'
   20 |                 scx_bpf_dispatch_vtime(p, SCX_DSQ_LOCAL, SCX_SLICE_DFL,
      |                                                          ^
ddsp_vtimelocal_fail.bpf.c:28:55: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:28:55: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
ddsp_vtimelocal_fail.bpf.c:28:6: error: conflicting types for '____ddsp_vtimelocal_fail_exit'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:57:1: note: expanded from here
   57 | ____ddsp_vtimelocal_fail_exit
      | ^
ddsp_vtimelocal_fail.bpf.c:28:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:48:1: note: expanded from here
   48 | ____ddsp_vtimelocal_fail_exit
      | ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:34:22: error: variable has incomplete type 'struct sched_ext_ops'
   34 | struct sched_ext_ops ddsp_vtimelocal_fail_ops = {
      |                      ^
ddsp_vtimelocal_fail.bpf.c:34:8: note: forward declaration of 'struct sched_ext_ops'
   34 | struct sched_ext_ops ddsp_vtimelocal_fail_ops = {
      |        ^
9 warnings and 12 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/ddsp_vtimelocal_fail.bpf.o] Error 1
In file included from dsp_local_on.bpf.c:6:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
dsp_local_on.bpf.c:48:22: error: use of undeclared identifier 'SCX_DSQ_LOCAL_ON'
   48 |         scx_bpf_dispatch(p, SCX_DSQ_LOCAL_ON | target, SCX_SLICE_DFL, 0);
      |                             ^
dsp_local_on.bpf.c:48:49: error: use of undeclared identifier 'SCX_SLICE_DFL'
   48 |         scx_bpf_dispatch(p, SCX_DSQ_LOCAL_ON | target, SCX_SLICE_DFL, 0);
      |                                                        ^
dsp_local_on.bpf.c:52:47: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:52:47: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
dsp_local_on.bpf.c:52:6: error: conflicting types for '____dsp_local_on_exit'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:104:1: note: expanded from here
  104 | ____dsp_local_on_exit
      | ^
dsp_local_on.bpf.c:52:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:95:1: note: expanded from here
   95 | ____dsp_local_on_exit
      | ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:58:22: error: variable has incomplete type 'struct sched_ext_ops'
   58 | struct sched_ext_ops dsp_local_on_ops = {
      |                      ^
dsp_local_on.bpf.c:58:8: note: forward declaration of 'struct sched_ext_ops'
   58 | struct sched_ext_ops dsp_local_on_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/dsp_local_on.bpf.o] Error 1
In file included from enq_last_no_enq_fails.bpf.c:11:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
enq_last_no_enq_fails.bpf.c:19:13: error: use of undeclared identifier 'SCX_OPS_ENQ_LAST'
   19 |         .flags                  = SCX_OPS_ENQ_LAST,
      |                                   ^
enq_last_no_enq_fails.bpf.c:16:22: error: variable has incomplete type 'struct sched_ext_ops'
   16 | struct sched_ext_ops enq_last_no_enq_fails_ops = {
      |                      ^
enq_last_no_enq_fails.bpf.c:16:8: note: forward declaration of 'struct sched_ext_ops'
   16 | struct sched_ext_ops enq_last_no_enq_fails_ops = {
      |        ^
7 warnings and 3 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/enq_last_no_enq_fails.bpf.o] Error 1
In file included from enq_select_cpu_fails.bpf.c:8:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
enq_select_cpu_fails.bpf.c:34:22: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                             ^
enq_select_cpu_fails.bpf.c:34:38: error: use of undeclared identifier 'SCX_SLICE_DFL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                                             ^
enq_select_cpu_fails.bpf.c:38:22: error: variable has incomplete type 'struct sched_ext_ops'
   38 | struct sched_ext_ops enq_select_cpu_fails_ops = {
      |                      ^
enq_select_cpu_fails.bpf.c:38:8: note: forward declaration of 'struct sched_ext_ops'
   38 | struct sched_ext_ops enq_select_cpu_fails_ops = {
      |        ^
7 warnings and 4 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/enq_select_cpu_fails.bpf.o] Error 1
In file included from exit.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
exit.bpf.c:34:22: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                             ^
exit.bpf.c:34:38: error: use of undeclared identifier 'SCX_SLICE_DFL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                                             ^
exit.bpf.c:42:18: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   42 |         scx_bpf_consume(SCX_DSQ_GLOBAL);
      |                         ^
exit.bpf.c:52:14: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
   52 |                     struct scx_init_task_args *args)
      |                            ^
exit.bpf.c:52:14: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
exit.bpf.c:51:5: error: conflicting types for '____exit_init_task'
   51 | s32 BPF_STRUCT_OPS(exit_init_task, struct task_struct *p,
      |     ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:136:1: note: expanded from here
  136 | ____exit_init_task
      | ^
exit.bpf.c:51:5: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:127:1: note: expanded from here
  127 | ____exit_init_task
      | ^
exit.bpf.c:60:39: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:60:39: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
exit.bpf.c:60:6: error: conflicting types for '____exit_exit'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:160:1: note: expanded from here
  160 | ____exit_exit
      | ^
exit.bpf.c:60:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:151:1: note: expanded from here
  151 | ____exit_exit
      | ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:74:22: error: variable has incomplete type 'struct sched_ext_ops'
   74 | struct sched_ext_ops exit_ops = {
      |                      ^
exit.bpf.c:74:8: note: forward declaration of 'struct sched_ext_ops'
   74 | struct sched_ext_ops exit_ops = {
      |        ^
11 warnings and 13 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/exit.bpf.o] Error 1
In file included from hotplug.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
hotplug.bpf.c:15:42: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:15:42: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
hotplug.bpf.c:15:6: error: conflicting types for '____hotplug_exit'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:40:1: note: expanded from here
   40 | ____hotplug_exit
      | ^
hotplug.bpf.c:15:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:31:1: note: expanded from here
   31 | ____hotplug_exit
      | ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:28:13: error: use of undeclared identifier 'SCX_ECODE_ACT_RESTART'
   28 |         s64 code = SCX_ECODE_ACT_RESTART | HOTPLUG_EXIT_RSN;
      |                    ^
hotplug.bpf.c:48:22: error: variable has incomplete type 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |                      ^
hotplug.bpf.c:48:8: note: forward declaration of 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |        ^
hotplug.bpf.c:57:22: error: variable has incomplete type 'struct sched_ext_ops'
   57 | struct sched_ext_ops hotplug_nocb_ops = {
      |                      ^
hotplug.bpf.c:48:8: note: forward declaration of 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/hotplug.bpf.o] Error 1
 ====== Checking if tree is clean ======
 ====== Building the tree with the patch ======
make[1]: Circular /home/nipa/net-next/wt-0/build_tools/kselftest/alsa/global-timer <- /home/nipa/net-next/wt-0/build_tools/kselftest/alsa/global-timer dependency dropped.
In file included from create_dsq.bpf.c:9:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
create_dsq.bpf.c:14:14: warning: declaration of 'struct scx_exit_task_args' will not be visible outside of this function [-Wvisibility]
   14 |                     struct scx_exit_task_args *args)
      |                            ^
create_dsq.bpf.c:14:14: warning: declaration of 'struct scx_exit_task_args' will not be visible outside of this function [-Wvisibility]
create_dsq.bpf.c:13:6: error: conflicting types for '____create_dsq_exit_task'
   13 | void BPF_STRUCT_OPS(create_dsq_exit_task, struct task_struct *p,
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:24:1: note: expanded from here
   24 | ____create_dsq_exit_task
      | ^
create_dsq.bpf.c:13:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:15:1: note: expanded from here
   15 | ____create_dsq_exit_task
      | ^
create_dsq.bpf.c:20:16: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
   20 |                              struct scx_init_task_args *args)
      |                                     ^
create_dsq.bpf.c:20:16: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
create_dsq.bpf.c:19:5: error: conflicting types for '____create_dsq_init_task'
   19 | s32 BPF_STRUCT_OPS_SLEEPABLE(create_dsq_init_task, struct task_struct *p,
      |     ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:144:33: note: expanded from macro 'BPF_STRUCT_OPS_SLEEPABLE'
  144 | SEC("struct_ops.s/"#name)                                                       \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:41:1: note: expanded from here
   41 | ____create_dsq_init_task
      | ^
create_dsq.bpf.c:19:5: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:144:33: note: expanded from macro 'BPF_STRUCT_OPS_SLEEPABLE'
  144 | SEC("struct_ops.s/"#name)                                                       \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:32:1: note: expanded from here
   32 | ____create_dsq_init_task
      | ^
create_dsq.bpf.c:53:22: error: variable has incomplete type 'struct sched_ext_ops'
   53 | struct sched_ext_ops create_dsq_ops = {
      |                      ^
create_dsq.bpf.c:53:8: note: forward declaration of 'struct sched_ext_ops'
   53 | struct sched_ext_ops create_dsq_ops = {
      |        ^
11 warnings and 4 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/create_dsq.bpf.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ddsp_bogus_dsq_fail.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
ddsp_bogus_dsq_fail.bpf.c:24:15: error: no member named 'scx' in 'struct task_struct'
   24 |                                        p->scx.dsq_vtime, 0);
      |                                        ~  ^
ddsp_bogus_dsq_fail.bpf.c:23:41: error: use of undeclared identifier 'SCX_SLICE_DFL'
   23 |                 scx_bpf_dispatch_vtime(p, 0xcafef00d, SCX_SLICE_DFL,
      |                                                       ^
ddsp_bogus_dsq_fail.bpf.c:31:54: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:31:54: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
ddsp_bogus_dsq_fail.bpf.c:31:6: error: conflicting types for '____ddsp_bogus_dsq_fail_exit'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:57:1: note: expanded from here
   57 | ____ddsp_bogus_dsq_fail_exit
      | ^
ddsp_bogus_dsq_fail.bpf.c:31:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:48:1: note: expanded from here
   48 | ____ddsp_bogus_dsq_fail_exit
      | ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:33:2: error: incomplete definition of type 'struct scx_exit_info'
   33 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
ddsp_bogus_dsq_fail.bpf.c:31:54: note: forward declaration of 'struct scx_exit_info'
   31 | void BPF_STRUCT_OPS(ddsp_bogus_dsq_fail_exit, struct scx_exit_info *ei)
      |                                                      ^
ddsp_bogus_dsq_fail.bpf.c:37:22: error: variable has incomplete type 'struct sched_ext_ops'
   37 | struct sched_ext_ops ddsp_bogus_dsq_fail_ops = {
      |                      ^
ddsp_bogus_dsq_fail.bpf.c:37:8: note: forward declaration of 'struct sched_ext_ops'
   37 | struct sched_ext_ops ddsp_bogus_dsq_fail_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/ddsp_bogus_dsq_fail.bpf.o] Error 1
In file included from ddsp_vtimelocal_fail.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
ddsp_vtimelocal_fail.bpf.c:21:15: error: no member named 'scx' in 'struct task_struct'
   21 |                                        p->scx.dsq_vtime, 0);
      |                                        ~  ^
ddsp_vtimelocal_fail.bpf.c:20:29: error: use of undeclared identifier 'SCX_DSQ_LOCAL'
   20 |                 scx_bpf_dispatch_vtime(p, SCX_DSQ_LOCAL, SCX_SLICE_DFL,
      |                                           ^
ddsp_vtimelocal_fail.bpf.c:20:44: error: use of undeclared identifier 'SCX_SLICE_DFL'
   20 |                 scx_bpf_dispatch_vtime(p, SCX_DSQ_LOCAL, SCX_SLICE_DFL,
      |                                                          ^
ddsp_vtimelocal_fail.bpf.c:28:55: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:28:55: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
ddsp_vtimelocal_fail.bpf.c:28:6: error: conflicting types for '____ddsp_vtimelocal_fail_exit'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:57:1: note: expanded from here
   57 | ____ddsp_vtimelocal_fail_exit
      | ^
ddsp_vtimelocal_fail.bpf.c:28:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:48:1: note: expanded from here
   48 | ____ddsp_vtimelocal_fail_exit
      | ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:30:2: error: incomplete definition of type 'struct scx_exit_info'
   30 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
ddsp_vtimelocal_fail.bpf.c:28:55: note: forward declaration of 'struct scx_exit_info'
   28 | void BPF_STRUCT_OPS(ddsp_vtimelocal_fail_exit, struct scx_exit_info *ei)
      |                                                       ^
ddsp_vtimelocal_fail.bpf.c:34:22: error: variable has incomplete type 'struct sched_ext_ops'
   34 | struct sched_ext_ops ddsp_vtimelocal_fail_ops = {
      |                      ^
ddsp_vtimelocal_fail.bpf.c:34:8: note: forward declaration of 'struct sched_ext_ops'
   34 | struct sched_ext_ops ddsp_vtimelocal_fail_ops = {
      |        ^
9 warnings and 12 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/ddsp_vtimelocal_fail.bpf.o] Error 1
In file included from dsp_local_on.bpf.c:6:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
dsp_local_on.bpf.c:48:22: error: use of undeclared identifier 'SCX_DSQ_LOCAL_ON'
   48 |         scx_bpf_dispatch(p, SCX_DSQ_LOCAL_ON | target, SCX_SLICE_DFL, 0);
      |                             ^
dsp_local_on.bpf.c:48:49: error: use of undeclared identifier 'SCX_SLICE_DFL'
   48 |         scx_bpf_dispatch(p, SCX_DSQ_LOCAL_ON | target, SCX_SLICE_DFL, 0);
      |                                                        ^
dsp_local_on.bpf.c:52:47: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:52:47: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
dsp_local_on.bpf.c:52:6: error: conflicting types for '____dsp_local_on_exit'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:104:1: note: expanded from here
  104 | ____dsp_local_on_exit
      | ^
dsp_local_on.bpf.c:52:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:95:1: note: expanded from here
   95 | ____dsp_local_on_exit
      | ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:54:2: error: incomplete definition of type 'struct scx_exit_info'
   54 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
dsp_local_on.bpf.c:52:47: note: forward declaration of 'struct scx_exit_info'
   52 | void BPF_STRUCT_OPS(dsp_local_on_exit, struct scx_exit_info *ei)
      |                                               ^
dsp_local_on.bpf.c:58:22: error: variable has incomplete type 'struct sched_ext_ops'
   58 | struct sched_ext_ops dsp_local_on_ops = {
      |                      ^
dsp_local_on.bpf.c:58:8: note: forward declaration of 'struct sched_ext_ops'
   58 | struct sched_ext_ops dsp_local_on_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/dsp_local_on.bpf.o] Error 1
In file included from enq_last_no_enq_fails.bpf.c:11:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
enq_last_no_enq_fails.bpf.c:19:13: error: use of undeclared identifier 'SCX_OPS_ENQ_LAST'
   19 |         .flags                  = SCX_OPS_ENQ_LAST,
      |                                   ^
enq_last_no_enq_fails.bpf.c:16:22: error: variable has incomplete type 'struct sched_ext_ops'
   16 | struct sched_ext_ops enq_last_no_enq_fails_ops = {
      |                      ^
enq_last_no_enq_fails.bpf.c:16:8: note: forward declaration of 'struct sched_ext_ops'
   16 | struct sched_ext_ops enq_last_no_enq_fails_ops = {
      |        ^
7 warnings and 3 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/enq_last_no_enq_fails.bpf.o] Error 1
In file included from enq_select_cpu_fails.bpf.c:8:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
enq_select_cpu_fails.bpf.c:34:22: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                             ^
enq_select_cpu_fails.bpf.c:34:38: error: use of undeclared identifier 'SCX_SLICE_DFL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                                             ^
enq_select_cpu_fails.bpf.c:38:22: error: variable has incomplete type 'struct sched_ext_ops'
   38 | struct sched_ext_ops enq_select_cpu_fails_ops = {
      |                      ^
enq_select_cpu_fails.bpf.c:38:8: note: forward declaration of 'struct sched_ext_ops'
   38 | struct sched_ext_ops enq_select_cpu_fails_ops = {
      |        ^
7 warnings and 4 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/enq_select_cpu_fails.bpf.o] Error 1
In file included from exit.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
exit.bpf.c:34:22: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                             ^
exit.bpf.c:34:38: error: use of undeclared identifier 'SCX_SLICE_DFL'
   34 |         scx_bpf_dispatch(p, SCX_DSQ_GLOBAL, SCX_SLICE_DFL, enq_flags);
      |                                             ^
exit.bpf.c:42:18: error: use of undeclared identifier 'SCX_DSQ_GLOBAL'
   42 |         scx_bpf_consume(SCX_DSQ_GLOBAL);
      |                         ^
exit.bpf.c:52:14: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
   52 |                     struct scx_init_task_args *args)
      |                            ^
exit.bpf.c:52:14: warning: declaration of 'struct scx_init_task_args' will not be visible outside of this function [-Wvisibility]
exit.bpf.c:51:5: error: conflicting types for '____exit_init_task'
   51 | s32 BPF_STRUCT_OPS(exit_init_task, struct task_struct *p,
      |     ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:136:1: note: expanded from here
  136 | ____exit_init_task
      | ^
exit.bpf.c:51:5: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:127:1: note: expanded from here
  127 | ____exit_init_task
      | ^
exit.bpf.c:60:39: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:60:39: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
exit.bpf.c:60:6: error: conflicting types for '____exit_exit'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:160:1: note: expanded from here
  160 | ____exit_exit
      | ^
exit.bpf.c:60:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:151:1: note: expanded from here
  151 | ____exit_exit
      | ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:62:2: error: incomplete definition of type 'struct scx_exit_info'
   62 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
exit.bpf.c:60:39: note: forward declaration of 'struct scx_exit_info'
   60 | void BPF_STRUCT_OPS(exit_exit, struct scx_exit_info *ei)
      |                                       ^
exit.bpf.c:74:22: error: variable has incomplete type 'struct sched_ext_ops'
   74 | struct sched_ext_ops exit_ops = {
      |                      ^
exit.bpf.c:74:8: note: forward declaration of 'struct sched_ext_ops'
   74 | struct sched_ext_ops exit_ops = {
      |        ^
11 warnings and 13 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/exit.bpf.o] Error 1
In file included from hotplug.bpf.c:7:
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:33:17: error: use of undeclared identifier 'SCX_DSQ_FLAG_BUILTIN'
   33 |         _Static_assert(SCX_DSQ_FLAG_BUILTIN,
      |                        ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:44:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   44 | void scx_bpf_dispatch_from_dsq_set_slice(struct bpf_iter_scx_dsq *it__iter, u64 slice) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:45:49: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   45 | void scx_bpf_dispatch_from_dsq_set_vtime(struct bpf_iter_scx_dsq *it__iter, u64 vtime) __ksym __weak;
      |                                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:46:39: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   46 | bool scx_bpf_dispatch_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                       ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:47:45: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   47 | bool scx_bpf_dispatch_vtime_from_dsq(struct bpf_iter_scx_dsq *it__iter, struct task_struct *p, u64 dsq_id, u64 enq_flags) __ksym __weak;
      |                                             ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:52:33: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   52 | int bpf_iter_scx_dsq_new(struct bpf_iter_scx_dsq *it, u64 dsq_id, u64 flags) __ksym __weak;
      |                                 ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:53:50: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   53 | struct task_struct *bpf_iter_scx_dsq_next(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                                  ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:54:38: warning: declaration of 'struct bpf_iter_scx_dsq' will not be visible outside of this function [-Wvisibility]
   54 | void bpf_iter_scx_dsq_destroy(struct bpf_iter_scx_dsq *it) __ksym __weak;
      |                                      ^
hotplug.bpf.c:15:42: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:15:42: warning: declaration of 'struct scx_exit_info' will not be visible outside of this function [-Wvisibility]
hotplug.bpf.c:15:6: error: conflicting types for '____hotplug_exit'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |      ^
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:683:48: note: expanded from macro '\
BPF_PROG'
  683 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:40:1: note: expanded from here
   40 | ____hotplug_exit
      | ^
hotplug.bpf.c:15:6: note: previous declaration is here
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/common.bpf.h:140:32: note: expanded from macro 'BPF_STRUCT_OPS'
  140 | SEC("struct_ops/"#name)                                                         \
      |                                                                                 ^
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_tracing.h:674:48: note: expanded from macro '\
BPF_PROG'
  674 | static __always_inline typeof(name(0))                                      \
      |                                                                             ^
<scratch space>:31:1: note: expanded from here
   31 | ____hotplug_exit
      | ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:42:40: note: expanded from macro 'UEI_RECORD'
   42 |                                   sizeof(__uei_name.reason), (__ei)->reason);   \
      |                                                              ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:44:37: note: expanded from macro 'UEI_RECORD'
   44 |                                   sizeof(__uei_name.msg), (__ei)->msg);         \
      |                                                           ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:46:36: note: expanded from macro 'UEI_RECORD'
   46 |                                   __uei_name##_dump_len, (__ei)->dump);         \
      |                                                          ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:47:34: note: expanded from macro 'UEI_RECORD'
   47 |         if (bpf_core_field_exists((__ei)->exit_code))                           \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:188:49: note: expanded from macro 'bpf_core_field_exists'
  188 |         __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS)
      |                                       ~~~~~~~~~~~~~~~~~^~~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:173:52: note: expanded from macro '___bpf_field_ref'
  173 |         ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/include/bpf/bpf_core_read.h:166:35: note: expanded from macro '___bpf_field_ref1'
  166 | #define ___bpf_field_ref1(field)        (field)
      |                                          ^~~~~
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:48:32: note: expanded from macro 'UEI_RECORD'
   48 |                 __uei_name.exit_code = (__ei)->exit_code;                       \
      |                                        ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:17:2: error: incomplete definition of type 'struct scx_exit_info'
   17 |         UEI_RECORD(uei, ei);
      |         ^~~~~~~~~~~~~~~~~~~
/home/nipa/net-next/wt-0/tools/sched_ext/include/scx/user_exit_info.h:51:15: note: expanded from macro 'UEI_RECORD'
   51 |                                     (__ei)->kind);                              \
      |                                     ~~~~~~^
hotplug.bpf.c:15:42: note: forward declaration of 'struct scx_exit_info'
   15 | void BPF_STRUCT_OPS(hotplug_exit, struct scx_exit_info *ei)
      |                                          ^
hotplug.bpf.c:28:13: error: use of undeclared identifier 'SCX_ECODE_ACT_RESTART'
   28 |         s64 code = SCX_ECODE_ACT_RESTART | HOTPLUG_EXIT_RSN;
      |                    ^
hotplug.bpf.c:48:22: error: variable has incomplete type 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |                      ^
hotplug.bpf.c:48:8: note: forward declaration of 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |        ^
hotplug.bpf.c:57:22: error: variable has incomplete type 'struct sched_ext_ops'
   57 | struct sched_ext_ops hotplug_nocb_ops = {
      |                      ^
hotplug.bpf.c:48:8: note: forward declaration of 'struct sched_ext_ops'
   48 | struct sched_ext_ops hotplug_cb_ops = {
      |        ^
9 warnings and 11 errors generated.
make[1]: *** [Makefile:136: /home/nipa/net-next/wt-0/build_tools/kselftest/sched_ext/build/obj/sched_ext/hotplug.bpf.o] Error 1
 ====== Checking if tree is clean ======