### Build Ananicy Cpp with Dependencies and BPF Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md Build Ananicy Cpp using provided scripts, enabling BPF processing. This involves cloning the repository, installing dependencies, configuring with BPF support, building, and installing. ```bash git clone https://gitlab.com/ananicy-cpp/ananicy-cpp.git cd ananicy-cpp env USE_BPF=ON ./install-deps.sh && ./configure.sh --use_bpf_proc && ./build.sh sudo cmake --install build/RelWithDebInfo --component Runtime ``` -------------------------------- ### Build and Install Ananicy Cpp Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md Build Ananicy Cpp from source using CMake. This includes configuring the build type, specifying options, building the target, and installing the runtime components. ```bash cmake -B build \ -DCMAKE_RELEASE_TYPE=Release \ -D[Your Option Here] -D[Another Option] \ -S . cmake --build build --target ananicy-cpp sudo cmake --install build --component Runtime ``` -------------------------------- ### Configure fmtlib Library Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/CMakeLists.txt Integrates the fmtlib library, choosing between an external installation or adding it via CPM with specific Git options. ```cmake set(CMAKE_MESSAGE_CONTEXT "fmtlib") message(STATUS "Configuring fmtlib") if(USE_EXTERNAL_FMTLIB) message("Using external fmtlib") # Stand-alone build find_package(fmt 8.0 REQUIRED) else() CPMAddPackage( NAME fmt GITHUB_REPOSITORY fmtlib/fmt GIT_PROGRESS TRUE GIT_SHALLOW TRUE GIT_TAG 12.1.0 EXCLUDE_FROM_ALL YES ) endif() set(CMAKE_MESSAGE_CONTEXT "") ``` -------------------------------- ### Example GCC Rule Configuration Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md This JSON snippet demonstrates how to define a rule for the GCC compiler, setting its nice value, latency nice, scheduling class, and I/O class. ```json {"name": "gcc", "nice": 19, "latency_nice": 19, "sched": "batch", "ioclass": "idle"} ``` -------------------------------- ### Apply a custom type and override I/O settings Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md This example applies the 'compiler' type to a 'gcc' process and specifically overrides the 'ioclass' and 'ionice' settings. ```json { "name": "gcc", "type": "compiler", "ioclass": "none", "ionice": 0 } ``` -------------------------------- ### Configure nlohmann_json Library Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/CMakeLists.txt Manages the nlohmann_json library, either by finding an external installation or adding it via CPM. ```cmake message(STATUS "Configuring nlohmann_json") set(CMAKE_MESSAGE_CONTEXT "nlohmann_json") if (USE_EXTERNAL_JSON) find_package(nlohmann_json 3.9 REQUIRED) else() CPMAddPackage("gh:nlohmann/json@3.11.3") endif() target_link_libraries(ananicy-cpp PRIVATE "nlohmann_json::nlohmann_json") set(CMAKE_MESSAGE_CONTEXT "") ``` -------------------------------- ### Enable and Manage Systemd Service Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md Enable and start the Ananicy Cpp systemd service. This requires systemd support to be enabled during the CMake configuration. Commands for stopping and disabling the service are also provided. ```bash systemctl enable --now ananicy-cpp.service ``` ```bash systemctl (stop|disable) ananicy-cpp.service ``` -------------------------------- ### Apply a custom type to a process rule Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md A defined type can be applied to a process rule by specifying the 'type' property. This example assigns the 'compiler' type to a process named 'gcc'. ```json { "name": "gcc", "type": "compiler" } ``` -------------------------------- ### Define a custom type for process management Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md Custom types can be defined in a .types file to group common configurations. This example shows a 'compiler' type with specific scheduling and I/O priorities. ```json { "type": "my_type", "nice": 19, "other_parameter": "value" } ``` -------------------------------- ### Override parameters from a custom type Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md Parameters defined in a custom type can be overridden within a specific rule. This example overrides the 'nice' and 'sched' parameters for the 'compiler' type. ```json { "type": "compiler", "nice": 19, "sched": "batch", "ioclass": "idle" } ``` -------------------------------- ### Build C Sample Executable Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/libananicycpp_bpf/CMakeLists.txt Creates a C executable for samples, linking against the project's BPF C static library. ```cmake add_executable(runqslower_c runqslower.c) target_link_libraries(runqslower_c PRIVATE ananicy_cpp_bpf_c::ananicy_cpp_bpf_c) ``` -------------------------------- ### Create Test Library and Link Dependencies Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/src/tests/CMakeLists.txt This snippet creates a static library named 'test_libreq' from the collected test sources. It sets include directories and links necessary libraries, including platform-specific implementations and external dependencies like nlohmann_json, spdlog, and fmt. ```cmake add_library(test_libreq STATIC ${test_SOURCES}) target_include_directories(test_libreq PRIVATE ${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include ${CMAKE_CURRENT_DIR}) target_link_libraries(test_libreq PRIVATE nlohmann_json::nlohmann_json spdlog::spdlog fmt::fmt) if(USE_BPF_PROC_IMPL) target_link_libraries(test_libreq PRIVATE ananicy_cpp_bpf_cpp::ananicy_cpp_bpf_cpp ananicy_cpp_bpf_c::ananicy_cpp_bpf_c) else() target_link_libraries(test_libreq PRIVATE ananicy_cpp_netlink_cpp::ananicy_cpp_netlink_cpp ananicy_cpp_netlink_c::ananicy_cpp_netlink_c) endif() if(ENABLE_SYSTEMD) target_link_libraries(test_libreq PRIVATE systemd) endif() ``` -------------------------------- ### Build C++ Sample Executable Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/libananicycpp_bpf/CMakeLists.txt Creates a C++ executable for samples, enabling C++20 standard, setting SPDLOG definitions for debugging, and linking against necessary libraries including spdlog, fmt, and the project's BPF libraries. ```cmake add_executable(runqslower_cpp main.cpp) target_compile_features(runqslower_cpp PUBLIC cxx_std_20) target_compile_definitions(runqslower_cpp PUBLIC -DSPDLOG_FMT_EXTERNAL -DSPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_DEBUG) target_link_libraries(runqslower_cpp PRIVATE spdlog fmt ananicy_cpp_bpf_cpp::ananicy_cpp_bpf_cpp ananicy_cpp_bpf_c::ananicy_cpp_bpf_c) ``` -------------------------------- ### Create Unit Test Executables Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/src/tests/CMakeLists.txt This loop iterates through all 'unit-*.cpp' files, creating a separate executable for each. It compiles them with doctest assertions enabled, sets the test directory, and links the necessary libraries, including the 'test_libreq' and doctest. ```cmake file(GLOB files unit-*.cpp) foreach(file ${files}) get_filename_component(file_basename ${file} NAME_WE) string(REGEX REPLACE "unit-([^$]+)" "test-\1" testcase ${file_basename}) add_executable(${testcase} $ ${file}) target_compile_definitions(${testcase} PRIVATE DOCTEST_CONFIG_SUPER_FAST_ASSERTS) target_compile_definitions(${testcase} PRIVATE TEST_DIR=${TEST_DIR}) target_compile_options(${testcase} PRIVATE $<$>:-Wno-deprecated;-Wno-float-equal> $<$:-Wno-deprecated-declarations> ) target_include_directories(${testcase} PRIVATE ${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include ${CMAKE_CURRENT_DIR}) target_link_libraries(${testcase} PRIVATE test_libreq nlohmann_json::nlohmann_json spdlog::spdlog fmt::fmt doctest::doctest) if(ENABLE_REGEX_SUPPORT) target_link_libraries(${testcase} PRIVATE PkgConfig::LIBPCRE2) endif() add_test(NAME "${testcase}" COMMAND ${testcase} ${DOCTEST_TEST_FILTER} --no-skip WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) endforeach() ``` -------------------------------- ### Configure Benchmark Executable Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/benchmarks/CMakeLists.txt Defines an executable for running benchmarks and links it against the Google Benchmark library, TBB, and threading libraries. Sets C++20 standard and includes necessary directories. ```cmake # benchmark binary add_executable(ananicy_cpp_benchmarks src/benchmarks.cpp) target_compile_features(ananicy_cpp_benchmarks PRIVATE cxx_std_20) target_link_libraries(ananicy_cpp_benchmarks benchmark::benchmark tbb ${CMAKE_THREAD_LIBS_INIT}) target_include_directories(ananicy_cpp_benchmarks PRIVATE ${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include ${CMAKE_CURRENT_DIR}) ``` -------------------------------- ### Configure Linker and Sanitizers Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/CMakeLists.txt Sets up project-wide linker configurations and enables compiler sanitizers if supported. ```cmake configure_linker(project_options) # sanitizer options if supported by compiler enable_sanitizers(project_options) ``` -------------------------------- ### Create Static Library for BPF C Code Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/libananicycpp_bpf/CMakeLists.txt Defines a static library containing BPF program utility functions. Configures public include directories and links against the BPF skeleton and optionally libbpf. ```cmake add_library(ananicy_cpp_bpf_c STATIC src/bpf_program_utils.c src/btf_helpers.c src/trace_helpers.c src/uprobe_helpers.c ) target_include_directories(ananicy_cpp_bpf_c PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") target_link_libraries(ananicy_cpp_bpf_c PRIVATE ananicy_cpp_skel) add_library(ananicy_cpp_bpf_c::ananicy_cpp_bpf_c ALIAS ananicy_cpp_bpf_c) if(BPF_BUILD_LIBBPF) target_link_libraries(ananicy_cpp_bpf_c PRIVATE bpf::bpf) endif() ``` -------------------------------- ### Define BPF Object Input Parameters Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/libananicycpp_bpf/CMakeLists.txt Sets variables for BPF object input, including the path to the vmlinux header specific to the detected architecture and additional include directories. ```cmake set(BPFOBJECT_VMLINUX_H "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_ARCH}/vmlinux.h") set(BPF_ADDITIONAL_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include") include(FindBpfObject) ``` -------------------------------- ### Ananicy++ Netlink CMakeLists.txt Configuration Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/libananicycpp_netlink/CMakeLists.txt Configures the Ananicy++ Netlink project, including module paths, project name, build options, static and interface libraries, and conditional sample executable build. ```cmake cmake_minimum_required(VERSION 3.16) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") project(ananicy_cpp_netlink LANGUAGES CXX C) option(NETLINK_BUILD_SAMPLES "Build ananicy_cpp_netlink samples" OFF) add_library(ananicy_cpp_netlink_c STATIC src/netlink_program_utils.c ) target_include_directories(ananicy_cpp_netlink_c PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") add_library(ananicy_cpp_netlink_c::ananicy_cpp_netlink_c ALIAS ananicy_cpp_netlink_c) add_library(ananicy_cpp_netlink_cpp INTERFACE) target_include_directories(ananicy_cpp_netlink_cpp INTERFACE $) add_dependencies(ananicy_cpp_netlink_cpp ananicy_cpp_netlink_c) add_library(ananicy_cpp_netlink_cpp::ananicy_cpp_netlink_cpp ALIAS ananicy_cpp_netlink_cpp) if(NETLINK_BUILD_SAMPLES) add_executable(netlink_proc_cpp main.cpp) target_compile_features(netlink_proc_cpp PUBLIC cxx_std_20) target_compile_definitions(netlink_proc_cpp PUBLIC -DSPDLOG_FMT_EXTERNAL -DSPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_DEBUG) target_link_libraries(netlink_proc_cpp PRIVATE spdlog fmt ananicy_cpp_netlink_cpp::ananicy_cpp_netlink_cpp ananicy_cpp_netlink_c::ananicy_cpp_netlink_c) endif() ``` -------------------------------- ### Add Google Benchmark using CPMAddPackage Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/benchmarks/CMakeLists.txt Adds the Google Benchmark library from GitHub using the CPMAddPackage CMake module. Ensures shallow clone and a specific tag for reproducible builds. Excludes the benchmark library from the all target. ```cmake CPMAddPackage( NAME benchmark GITHUB_REPOSITORY google/benchmark GIT_PROGRESS TRUE GIT_SHALLOW TRUE GIT_TAG v1.7.1 EXCLUDE_FROM_ALL YES ) ``` -------------------------------- ### Create Fuzz Test Executables Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/src/tests/CMakeLists.txt This section, executed only if fuzz tests are enabled and Clang is the compiler, creates executables for each 'fuzzer-*.cpp' file. It configures them with address sanitizer and fuzzer flags, sets the test directory, and links the required libraries. ```cmake file(GLOB fuzz_files fuzzer-*.cpp) foreach(file ${fuzz_files}) get_filename_component(file_basename ${file} NAME_WE) string(REGEX REPLACE "fuzzer-([^$]+)" "fuzz-\1" testcase ${file_basename}) add_executable(${testcase} ${file}) set_target_properties(${testcase} PROPERTIES COMPILE_FLAGS "-g -fsanitize=address,fuzzer") set_target_properties(${testcase} PROPERTIES LINK_OPTIONS "-fsanitize=address,fuzzer") target_compile_definitions(${testcase} PRIVATE TEST_DIR=${TEST_DIR}) target_include_directories(${testcase} PRIVATE ${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include ${CMAKE_CURRENT_DIR}) target_link_libraries(${testcase} PRIVATE test_libreq nlohmann_json::nlohmann_json spdlog::spdlog fmt::fmt) endforeach() elseif(ENABLE_ANANICY_FUZZ_TESTS) message(FATAL_ERROR "Clang compiler is required for fuzz tests") endif() ``` -------------------------------- ### Configure Threading Support Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/CMakeLists.txt Finds and links the Threads library for multi-threading support in the project. ```cmake message(STATUS "Configuring threads") set(CMAKE_MESSAGE_CONTEXT "threads") find_package(Threads REQUIRED) target_link_libraries(ananicy-cpp PRIVATE Threads::Threads) set(CMAKE_MESSAGE_CONTEXT "") ``` -------------------------------- ### Create Interface Library for BPF C++ Headers Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/libananicycpp_bpf/CMakeLists.txt Defines an interface library for C++ headers, including paths for libbpf build artifacts and project-specific C++ include directories. Depends on the BPF C static library. ```cmake add_library(ananicy_cpp_bpf_cpp INTERFACE) if(BPF_BUILD_LIBBPF) target_include_directories(ananicy_cpp_bpf_cpp INTERFACE $) endif() target_include_directories(ananicy_cpp_bpf_cpp INTERFACE $) add_dependencies(ananicy_cpp_bpf_cpp ananicy_cpp_bpf_c) add_library(ananicy_cpp_bpf_cpp::ananicy_cpp_bpf_cpp ALIAS ananicy_cpp_bpf_cpp) ``` -------------------------------- ### Configure doctest Main Object Library Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/src/tests/CMakeLists.txt This configuration creates an object library for the doctest main function, enabling C++20 features and setting up include paths. This is used to link the doctest framework into each test executable. ```cmake add_library(doctest_main OBJECT unit.cpp) target_compile_features(doctest_main PUBLIC cxx_std_20) target_include_directories(doctest_main PRIVATE ${CMAKE_BINARY_DIR}/include ${CMAKE_CURRENT_DIR}) target_link_libraries(doctest_main PRIVATE doctest::doctest) ``` -------------------------------- ### Define Test Library Sources Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/src/tests/CMakeLists.txt This code block appends various source files to the 'test_SOURCES' list, which will be used to build a static library for testing. It conditionally includes regex utility files if regex support is enabled. ```cmake list(APPEND test_SOURCES ${CMAKE_SOURCE_DIR}/src/utils.cpp ${CMAKE_SOURCE_DIR}/src/rules.cpp ${CMAKE_SOURCE_DIR}/src/worker.cpp ${CMAKE_SOURCE_DIR}/src/config.cpp ${CMAKE_SOURCE_DIR}/src/utility/argument_parsing/argument_parser.cpp ${CMAKE_SOURCE_DIR}/src/utility/argument_parsing/argument.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/priority.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/cgroups.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/process_info.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/mounts.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/process.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/cpuset.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/sysfs.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/topology.cpp ${CMAKE_SOURCE_DIR}/src/platform/linux/x3d.cpp) if(ENABLE_REGEX_SUPPORT) list(APPEND test_SOURCES ${CMAKE_SOURCE_DIR}/src/regex_utils.cpp) endif() ``` -------------------------------- ### Build BPF Object Skeleton Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/libananicycpp_bpf/CMakeLists.txt Uses the FindBpfObject module to build the BPF object skeleton from the specified C source file. Adds dependencies on libbpf or bpftool if they are enabled. ```cmake bpf_object(ananicy_cpp src/ananicy_cpp.bpf.c) if(BPF_BUILD_LIBBPF) add_dependencies(ananicy_cpp_skel libbpf) endif() if(BPF_BUILD_BPFTOOL) add_dependencies(ananicy_cpp_skel bpftool) endif() ``` -------------------------------- ### CPUQuota Configuration for Cgroups Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md This JSON snippet defines a cgroup named 'cpu80' and sets its CPUQuota to 80. This is the only supported attribute for cgroups in Ananicy. ```json {"cgroup": "cpu80", "CPUQuota": 80} ``` -------------------------------- ### Set std::format Build Option Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/CMakeLists.txt Forces the use of an external fmtlib for std::format compatibility. ```cmake set(STL_FORMAT_USE_EXTERNAL_FMTLIB ON CACHE BOOL "" FORCE) ``` -------------------------------- ### Configure PCRE2 for Regex Support Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/CMakeLists.txt Enables and configures the PCRE2 library for regular expression support if the feature is enabled. ```cmake if(ENABLE_REGEX_SUPPORT) set(CMAKE_MESSAGE_CONTEXT "pcre2") message(STATUS "Configuring pcre2") # pcre2 find_package(PkgConfig REQUIRED) pkg_check_modules( LIBPCRE2 REQUIRED IMPORTED_TARGET libpcre2-8) target_link_libraries(ananicy-cpp PRIVATE PkgConfig::LIBPCRE2) set(CMAKE_MESSAGE_CONTEXT "") endif() ``` -------------------------------- ### Pin to Specific Cores Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md This rule pins a process directly to a specified range or list of CPU cores. ```json {"name": "my-app", "cpuset": "0-3,8-11"} ``` -------------------------------- ### Pin Game to AMD X3D V-Cache CCD Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md Use this rule to pin a game process to the V-Cache CCD on an AMD X3D system, optimizing performance for cache-sensitive workloads. ```json {"name": "game-x", "cpuset": "x3d-cache", "nice": -5} ``` -------------------------------- ### Detect Target Architecture Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/libananicycpp_bpf/CMakeLists.txt Executes 'uname -m' and processes the output to determine the target architecture, mapping common architectures to shorter aliases. Handles potential errors during execution. ```cmake execute_process(COMMAND uname -m COMMAND sed -e "s/x86_64/x86/" -e "s/aarch64/arm64/" -e "s/ppc64le/powerpc/" -e "s/mips.*/mips/" -e "s/riscv64/riscv/" -e "s/loongarch.*/loongarch/" OUTPUT_VARIABLE ARCH_output ERROR_VARIABLE ARCH_error RESULT_VARIABLE ARCH_result OUTPUT_STRIP_TRAILING_WHITESPACE) if(${ARCH_result} EQUAL 0) set(PROJECT_ARCH ${ARCH_output}) else() message(FATAL_ERROR "Failed to determine target architecture: ${ARCH_error}") endif() ``` -------------------------------- ### Add doctest Package using CPM Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/src/tests/CMakeLists.txt This snippet adds the doctest testing framework to the project using the CPM (CMake Package Manager) utility. It specifies the GitHub repository and a specific tag for version control. ```cmake CPMAddPackage( NAME doctest GITHUB_REPOSITORY doctest/doctest GIT_PROGRESS TRUE GIT_SHALLOW TRUE GIT_TAG v2.4.12 EXCLUDE_FROM_ALL YES ) ``` -------------------------------- ### Pin to Specific LLC Domain or NUMA Node Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md This rule pins a process to a specific LLC domain or NUMA node, useful for optimizing memory access patterns. ```json {"name": "database", "cpuset": "node-0"} ``` -------------------------------- ### Pin Workload to Performance Cores Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md This rule pins a workload to performance cores (Intel P-cores or AMD high-capacity cores) to ensure it receives maximum processing power. ```json {"name": "my-game", "cpuset": "performance-cores", "nice": -5} ``` -------------------------------- ### Restrict Background Task to Efficiency Cores Source: https://gitlab.com/ananicy-cpp/ananicy-cpp/-/blob/master/README.md This rule restricts a background task to efficiency cores and sets its scheduling class to 'idle', minimizing its impact on performance cores. ```json {"name": "file-indexer", "cpuset": "efficiency-cores", "nice": 19, "sched": "idle"} ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.