All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

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.