39aaf091ae
This toolset was designed to facilitate the testing, monitoring, and tracing of various things with virtual memory, pages, and slab objects. It is an invaluable resource for identifying and analyzing memory-related issues, such as leaks and bottlenecks, and can greatly enhance one's understanding of memory utilization within a system. The mm toolset includes: - page_owner_sort: userspace helper to sort the output of /sys/kernel/debug/page_owner, which helps to know who allocates the page from kernel context - slabinfo: the tool which gets reports about slabs, for example show empty slabs, modify of slab debug options at runtime, display all information about a slabcache - page-types: a handy tool for querying page flags Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com> Signed-off-by: Alexey Romanov <avromanov@salutedevices.com> [yann.morin.1998@free.fr: - don't depend on linux, already a patch dependency - don't set CC: default is based on CROSS_COMPILE - no need to fully recheck at install time - move the option for alphabetical ordering - fix check-package ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
260 lines
8.0 KiB
Plaintext
260 lines
8.0 KiB
Plaintext
menu "Linux Kernel Tools"
|
|
|
|
# No prompt, this is sourced by linux/Config.in as this
|
|
# is no real package and really belongs to the kernel.
|
|
config BR2_PACKAGE_LINUX_TOOLS
|
|
bool
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_CPUPOWER
|
|
bool "cpupower"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_PCIUTILS
|
|
help
|
|
cpupower is a collection of tools to examine and tune power
|
|
saving related features of your processor.
|
|
|
|
comment "cpupower needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_GPIO
|
|
bool "gpio"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
gpio is a collection of tools to get information about,
|
|
control and monitor gpios present on system.
|
|
|
|
These tools use new gpio ABI which will deprecate sysfs gpio
|
|
interface in the future.
|
|
|
|
These tools are available only from kernel version 4.8.
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_IIO
|
|
bool "iio"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
iio is a collection of tools to get information about,
|
|
control and monitor iio devices present on system.
|
|
|
|
These tools are available only from kernel version 4.7.
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_MM
|
|
bool "mm"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
mm is a toolset for testing/monitoring/tracing vm/pages/slabs
|
|
objects.
|
|
|
|
- page_owner_sort: userspace helper to sort the output of
|
|
/sys/kernel/debug/page_owner, which helps to know who
|
|
allocates the page from kernel context
|
|
|
|
- slabinfo: the tool which gets reports about slabs, for
|
|
example show empty slabs, modify of slab debug options at
|
|
runtime, display all information about a slabcache
|
|
|
|
- page-types: a handy tool for querying page flags
|
|
|
|
These tools are available only from kernel version 3.4.
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PCI
|
|
bool "pci"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
pcitest is a tool for testing capabilities related to a
|
|
PCI Endpoint (only works with specific Endpoints).
|
|
|
|
These tools are available only from kernel version 4.20.
|
|
|
|
comment "perf needs a toolchain w/ dynamic library, threads"
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PERF
|
|
bool "perf"
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
depends on !BR2_STATIC_LIBS # dlfcn.h
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
perf (sometimes "Perf Events" or perf tools, originally
|
|
"Performance Counters for Linux") - is a performance
|
|
analyzing tool in Linux, available from kernel version
|
|
2.6.31. User-space controlling utility, called 'perf' has
|
|
git-like interface with subcommands. It is capable of
|
|
statistical profiling of entire system (both kernel and user
|
|
code), single CPU or severals threads.
|
|
|
|
This will build and install the userspace 'perf'
|
|
command.
|
|
|
|
Your kernel must have CONFIG_PERF_EVENTS enabled to use perf
|
|
profiling. Buildroot automatically enables this in the kernel
|
|
configuration.
|
|
|
|
https://perf.wiki.kernel.org/
|
|
|
|
if BR2_PACKAGE_LINUX_TOOLS_PERF
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PERF_SCRIPTS
|
|
bool "enable installation of perf scripts"
|
|
help
|
|
Enable the installation of the perf scripts under
|
|
/usr/libexec/perf-core/ which is necessary for running "perf
|
|
tests"
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PERF_TUI
|
|
bool "enable perf TUI"
|
|
depends on BR2_USE_MMU # slang
|
|
select BR2_PACKAGE_SLANG
|
|
help
|
|
Enable the TUI interface for perf which requires a TTY and
|
|
enables zooming into DSOs and threads as well as other
|
|
features.
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
|
|
bool "perf need python3 to build"
|
|
select BR2_PACKAGE_HOST_PYTHON3
|
|
help
|
|
Starting with linux 6.0, parts of the perf source code
|
|
is generated by running a python3 script.
|
|
|
|
endif
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_RTLA
|
|
bool "rtla"
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # libtracefs
|
|
depends on !BR2_STATIC_LIBS # libtracefs
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_LIBTRACEFS
|
|
help
|
|
These tracers allow performing latency analysis, for which the
|
|
rtla tool provides wrapper commands to visualize and extract
|
|
latency traces and reports.
|
|
|
|
rtla includes three tracers, which have been introduced in
|
|
different kernel versions:
|
|
- Linux 5.19 introduced the osnoise and timerlat tracers,
|
|
- Linux 6.3 introduced the hwnoise tracer
|
|
|
|
osnoise and timerlat are always installed, while hwnoise is
|
|
installed if your kernel is recent enough.
|
|
|
|
Note: rtla in kernels before 5.19 had additional dependencies,
|
|
not available in Buildroot, so only rtla in kernels 5.19
|
|
onwards is actually supported in Buildroot.
|
|
|
|
comment "rtla needs a toolchain w/ threads, dynamic library"
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
|
|
bool"selftests"
|
|
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
|
|
depends on BR2_USE_MMU # bash
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # util-linux schedutils
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_BASH # runtime
|
|
select BR2_PACKAGE_NCURSES
|
|
select BR2_PACKAGE_NCURSES_TARGET_PROGS # runtime (tput)
|
|
select BR2_PACKAGE_KMOD
|
|
select BR2_PACKAGE_KMOD_TOOLS # runtime (modprobe -n)
|
|
select BR2_PACKAGE_POPT
|
|
select BR2_PACKAGE_LIBCAP_NG
|
|
select BR2_PACKAGE_UTIL_LINUX
|
|
select BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS # runtime (taskset)
|
|
select BR2_PACKAGE_OPENSSL if BR2_x86_64
|
|
help
|
|
Build and install (to /usr/lib/kselftests) kernel selftests.
|
|
|
|
Use of this option implies you know the process of using and
|
|
compiling the kernel selftests. The Makefile to build and
|
|
install these is very noisy and may appear to cause your
|
|
build to fail for strange reasons.
|
|
|
|
This is very much a use at your risk option and may not work
|
|
for every setup or every architecture.
|
|
|
|
comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14"
|
|
depends on BR2_USE_MMU
|
|
depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS || \
|
|
BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS
|
|
bool "USB test programs"
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
help
|
|
Build and install the USB test tools.
|
|
|
|
These tools exist since Linux 2.6.35, but Buildroot can build
|
|
them only with kernel versions 5.9 and later.
|
|
|
|
if BR2_PACKAGE_LINUX_TOOLS_USBTOOLS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS_TESTUSB
|
|
bool "testusb"
|
|
help
|
|
testusb issues ioctls to perform the tests implemented by the
|
|
kernel driver. It can generate a variety of transfer
|
|
patterns.
|
|
|
|
See http://www.linux-usb.org/usbtest/
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_USBTOOLS_FFSTEST
|
|
bool "ffs-test"
|
|
help
|
|
User mode filesystem api for usb composite function
|
|
endif
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_TMON
|
|
bool "tmon"
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_NCURSES
|
|
help
|
|
tmon is a terminal-based tool (using curses) that allows the
|
|
user to access thermal information about the system.
|
|
|
|
comment "tmon needs a toolchain w/ threads"
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV
|
|
bool "hv"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
select BR2_PACKAGE_LINUX_TOOLS
|
|
select BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON if !BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
|
|
help
|
|
Microsoft HyperV integration services
|
|
|
|
Relevant kernel configuration options: CONFIG_HYPERV,
|
|
CONFIG_HYPERV_UTILS.
|
|
|
|
if BR2_PACKAGE_LINUX_TOOLS_HV
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
|
|
bool
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV_KVP_DAEMON
|
|
bool "hypervkvpd (hv_kvp_daemon)"
|
|
help
|
|
HyperV uses hypervkvpd (Key/Value Pair daemon) to retrieve
|
|
status information from your virtualized guest OS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV_FCOPY_DAEMON
|
|
bool "hypervfcopyd (hv_fcopy_daemon)"
|
|
select BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
|
|
help
|
|
HyperV uses hypervfcopyd (File Copy daemon) to easily transfer
|
|
files to and from your virtualized guest OS
|
|
|
|
config BR2_PACKAGE_LINUX_TOOLS_HV_VSS_DAEMON
|
|
bool "hypervvssd (hv_vss_daemon)"
|
|
select BR2_PACKAGE_LINUX_TOOLS_HV_HAS_ONE
|
|
help
|
|
HyperV uses hypervvssd (Volume Snapshot Service daemon) to
|
|
freeze your filesystems during snapshots and backups
|
|
|
|
endif # BR2_PACKAGE_LINUX_TOOLS_HV
|
|
|
|
endmenu
|