* [ANNOUNCE] tuna v0.21 released
@ 2026-07-28 21:36 John Kacur
2026-07-31 9:40 ` David Runge
0 siblings, 1 reply; 2+ messages in thread
From: John Kacur @ 2026-07-28 21:36 UTC (permalink / raw)
To: linux-rt-users; +Cc: Clark Williams, linux-kernel
Major Features:
- Complete cpuset support for CPU isolation using cgroup v2
- Commands: create, list, destroy, move, show, status, modify
- save/apply functionality for persisting cpuset configurations
- Integration with isolate, move, run, and show_threads commands
- NUMA-aware memory node assignment
- Process blocklist to protect critical system processes
- Comprehensive testing infrastructure with unittest framework
- Context-aware default paths for cpuset profiles (git vs production)
- Intelligent path resolution for finding configuration files
Code Quality Improvements:
- Centralized version management (single source in tuna/version.py)
- Input validation for CPU numbers and RT priorities
- Eliminated global variables and argparse side effects
- Replace bare except clauses with specific exception types
- Enhanced kernel thread descriptions in what_is command
Documentation:
- Updated man page for cpuset functionality and recent changes
- Comprehensive test documentation
- AGENTS.md guide for AI coding assistants
Cleanup:
- Removed obsolete ChangeLog file (not updated since 2013)
- Removed obsolete tuna apply functionality
- Simplified GUI to monitoring-only functionality
Full commit list below.
To fetch tuna:
Clone one of the following
git://git.kernel.org/pub/scm/utils/tuna/tuna.git
https://git.kernel.org/pub/scm/utils/tuna/tuna.git
https://kernel.googlesource.com/pub/scm/utils/tuna/tuna.git
Branch: main
Tag: v0.20
Tarballs are here:
https://kernel.org/pub/software/utils/tuna/
older ones are here
https://kernel.org/pub/software/utils/tuna/older
Enjoy!
John Kacur
John Kacur (63):
tuna: Disable the tuna apply functionality
tuna: Remove tuna apply from the man page
tuna: Print warning if setting affinity results in EPERM and continue
tuna: Add testing infrastructure using unittest framework
tuna: Fix setuptools deprecation warnings for license field
tuna: Replace bare except clauses with specific exception types
tuna: Eliminate side effects from argparse by deferring type
conversions
tuna: Eliminate global ps and irqs variables
tuna: Add .local/ directory to .gitignore
tuna: Add tests for converter functions and update test README
tuna: Update copyright notices to reflect current maintainership
tuna: Add AGENTS.md guide for AI coding assistants
tuna: Warn when user-specified patterns match zero threads or IRQs
tuna: Suppress output when pattern matches zero results
tuna: Make warnings opt-in with -w/--warn flag
tuna: Enhance what_is command with new kernel thread descriptions and
usability improvements
tuna: Add comprehensive docstrings to converter functions
tuna: Add centralized input validation for CPU numbers and RT
priorities
tuna: Add cpuset module for CPU isolation using cgroup v2
tuna: Add comprehensive test suite for cpuset module
tuna: Add CLI commands for cpuset management
tuna: Add comprehensive test suite for cpuset CLI commands
tuna: Add comprehensive test targets and documentation
tuna: Add cpuset move command for process migration
tuna: Add comprehensive tests for cpuset move command
tuna: Add NUMA-aware memory node assignment for cpusets
tuna: Add tests for NUMA-aware memory node assignment
tuna: Add process blocklist to prevent shutdown issues
tuna: Add memory nodes and blocklist warnings to cpuset list
tuna: Add cpuset show and status commands
tuna: Add tests for cpuset show and status commands
tuna: Dynamically find free CPU for test_cpu_exclusive
tuna: Change cpuset commands to skip empty by default
tuna: Add cpuset modify command
tuna: Add tests for cpuset modify command
tuna: Fix test_modify_cpus_empty_result for kernel constraints
tuna: Add --cpuset option to move command
tuna: Add tests for tuna move --cpuset command
tuna: Add --cpuset option to isolate command
tuna: Add tests for isolate --cpuset functionality
tuna: Document high-level workflow vs manual primitives for cpusets
tuna: Add --cpuset filter option to show_threads command
tuna: Add tests for show_threads --cpuset filter
tuna: Enhance show_threads -G to display cpuset names
tuna: Add tests for cpuset name display in show_threads -G
tuna: Add --cpuset option to run command
tuna: Add tests for run --cpuset functionality
tuna: Update man page for cpusets and current functionality
tuna: Add --show-system flag to filter systemd cpusets
tuna: Add cpuset save/apply functionality
tuna: Add comprehensive tests for save/apply functionality
tuna: Remove obsolete apply command functionality
tuna: Simplify GUI to monitoring-only functionality
tuna: Change housekeeping cpuset default to partition=member
tuna: Change default profile filename to cpuset-profile.yaml
tuna: Improve process migration messaging clarity
tuna: Allow cpuset destroy to accept multiple names
tests: Update cpuset_destroy test calls for new parameter name
tuna: Remove obsolete ChangeLog file
tuna: Use context-aware default path for cpuset profiles
tuna: Update man page for cpuset save/apply and recent changes
tuna: Add intelligent path resolution for cpuset apply
tuna: Get the tuna version from a single source
.gitignore | 1 +
AGENTS.md | 415 ++++++++
ChangeLog | 152 ---
Makefile | 33 +
docs/tuna.8 | 261 ++++-
po/LINGUAS | 3 -
po/POTFILES.in | 17 -
po/ja.po | 718 --------------
po/pt_BR.po | 634 ------------
po/zh_CN.po | 667 -------------
pyproject.toml | 8 +-
setup.py | 5 +-
tests/README.md | 542 +++++++++++
tests/run_tests.sh | 25 +
tests/test_converters.py | 160 ++++
tests/test_cpuset.py | 944 ++++++++++++++++++
tests/test_cpuset_cli.py | 1370 ++++++++++++++++++++++++++
tests/test_eperm_handling.py | 87 ++
tests/test_process_blocklist.py | 139 +++
tests/test_save_apply.py | 300 ++++++
tests/test_show_threads_cgroups.py | 199 ++++
tests/test_show_threads_cpuset.py | 245 +++++
tuna-cmd.py | 1433 +++++++++++++++++++++++++---
tuna/__init__.py | 3 +-
tuna/config.py | 2 -
tuna/cpuset.py | 820 ++++++++++++++++
tuna/cpuset_README.md | 597 ++++++++++++
tuna/gui/__init__.py | 3 +-
tuna/gui/profileview.py | 4 +-
tuna/help.py | 27 +-
tuna/profile.py | 177 ++++
tuna/tuna.py | 191 +++-
tuna/tuna_gui.glade | 8 +-
tuna/version.py | 7 +
34 files changed, 7794 insertions(+), 2403 deletions(-)
create mode 100644 AGENTS.md
delete mode 100644 ChangeLog
delete mode 100644 po/LINGUAS
delete mode 100644 po/POTFILES.in
delete mode 100644 po/ja.po
delete mode 100644 po/pt_BR.po
delete mode 100644 po/zh_CN.po
create mode 100644 tests/README.md
create mode 100755 tests/run_tests.sh
create mode 100644 tests/test_converters.py
create mode 100644 tests/test_cpuset.py
create mode 100644 tests/test_cpuset_cli.py
create mode 100644 tests/test_eperm_handling.py
create mode 100644 tests/test_process_blocklist.py
create mode 100644 tests/test_save_apply.py
create mode 100644 tests/test_show_threads_cgroups.py
create mode 100755 tests/test_show_threads_cpuset.py
create mode 100644 tuna/cpuset.py
create mode 100644 tuna/cpuset_README.md
create mode 100644 tuna/profile.py
create mode 100644 tuna/version.py
--
2.55.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ANNOUNCE] tuna v0.21 released
2026-07-28 21:36 [ANNOUNCE] tuna v0.21 released John Kacur
@ 2026-07-31 9:40 ` David Runge
0 siblings, 0 replies; 2+ messages in thread
From: David Runge @ 2026-07-31 9:40 UTC (permalink / raw)
To: John Kacur; +Cc: linux-rt-users, Clark Williams
[-- Attachment #1: Type: text/plain, Size: 443 bytes --]
On 2026-07-28 17:36:31 (-0400), John Kacur wrote:
> Tag: v0.20
Hi John,
congrats on the new release!
As tag v0.20 is from nine months ago, I guess you meant v0.21?
However, this tag does not exist yet. Did you forget to push it?
FWIW: On Arch Linux we are using the tags of the tuna repository to be informed
of new versions of the project and the auto-generated tarballs, made available
via the cgit interface to build from.
Best,
David
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-31 9:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-28 21:36 [ANNOUNCE] tuna v0.21 released John Kacur
2026-07-31 9:40 ` David Runge
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.