%define debug_package %{nil}
Name: scx
Version: 1.1.0
Release: 6
Summary: sched-ext schedulers and tools
License: GPL-2.0
URL: https://github.com/sched-ext/scx
Source0: %{name}-%{version}.tar.gz
BuildRequires: gcc
BuildRequires: cargo
BuildRequires: rust
BuildRequires: clang
BuildRequires: bpftool
BuildRequires: libbpf-devel libbpf-static libseccomp-devel
BuildRequires: kernel-headers kernel-devel
Patch9001: 0001-scx_soft_domain-domain-based-scheduling-policy-of-sc.patch
Patch9002: 0002-add-task-load-judgment-and-optimized-core-selection-.patch
Patch9003: 0003-scx_soft_domain-refactor-and-simplify-implementation.patch
Patch9004: 0004-scx_soft_domain-fix-cpu-load-stats.patch
Patch9005: 0005-scx_soft_domain-add-comprehensive-DFX-observability-.patch
%description
scx provides a collection of schedulers and tools for the sched-ext framework.
%prep
%autosetup -n %{name}-%{version} -p1
%build
export CLANG_FLAGS="-mcpu=generic"
export RUSTFLAGS="-C target-cpu=generic"
SCX_ROOT="%{_builddir}/%{name}-%{version}"
SCX_INC_DIR="$SCX_ROOT/scheds/include"
BPF_DIR="$SCX_ROOT/bpf"
ARCH=$(uname -m)
case "$ARCH" in
x86_64) VMLINUX_ARCH="x86" ;;
aarch64) VMLINUX_ARCH="arm64" ;;
armv7l) VMLINUX_ARCH="arm" ;;
ppc64le) VMLINUX_ARCH="powerpc" ;;
s390x) VMLINUX_ARCH="s390" ;;
mips64) VMLINUX_ARCH="mips" ;;
riscv64) VMLINUX_ARCH="riscv" ;;
*) echo "Unsupported architecture: $ARCH"; exit 1 ;;
esac
VMLINUX_H_DIR="$SCX_ROOT/scheds/vmlinux/arch/$VMLINUX_ARCH"
export BPF_CFLAGS="-mcpu=v3 -I$BPF_DIR -I$SCX_INC_DIR -I$VMLINUX_H_DIR"
export BINDGEN_EXTRA_CLANG_ARGS="\
-I$SCX_ROOT/rust/scx_bpf_compat/include \
-I$SCX_ROOT/rust/scx_userspace_arena/src/bpf \
-I$BPF_DIR \
-I$SCX_INC_DIR \
-I$SCX_ROOT/rust/scx_arena/src/bpf \
-I/usr/include/bpf \
-I$VMLINUX_H_DIR"
%install
%files
%doc README.md
%changelog
* Wed Jul 15 2026 yinbin <yinbin8@h-partners.com> - 1.1.0-6
- scx_soft_domain: add comprehensive DFX observability framework
* Mon Jul 13 2026 yinbin <yinbin8@h-partners.com> - 1.1.0-5
- scx_soft_domain: remove some build operation in spec
- scx_soft_domain: fix cpu load stats
* Tue Jun 30 2026 yangchen <yangchen145@huawei.com> - 1.1.0-4
- scx_soft_domain: refactor and simplify implementation
* Tue May 12 2026 hanhuihui <hanhuihui5@h-partners.com> - 1.1.0-3
- scx_soft_domain: add task load judgment and optimized core selection logic
* Tue Apr 21 2026 yangchen <yangchen145@huawei.com> - 1.1.0-2
- scx_soft_domain: domain-based scheduling policy of sched_ext
* Thu Mar 19 2026 yangchen <yangchen145@huawei.com> - 1.1.0-1
- sync upstream scx v1.1.0