You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit introduces comprehensive A/B testing and comparison
capabilities for the mmtests workflow in kdevops, enabling performance
regression detection between baseline and development kernels.
Key Features Added:
- A/B testing configuration support for mmtests workflow
- Automated performance comparison between baseline and dev nodes
- Visual performance analysis with graph generation
- HTML reports with embedded performance graphs
New Components:
1. Defconfigs:
- mmtests-ab-testing: Basic A/B testing setup
- mmtests-ab-testing-thpcompact: Advanced config with monitoring
2. Comparison Infrastructure (playbooks/roles/mmtests_compare/):
- Automated result collection from baseline and dev nodes
- Local mmtests repository management with patch support
- Multiple comparison output formats (HTML, text, graphs)
- Shell scripts for graph generation and HTML embedding
3. Playbook Integration:
- mmtests-compare.yml: Orchestrates the comparison workflow
- Updated mmtests.yml to target mmtests group specifically
- Enhanced hosts template with localhost and mmtests group
4. Result Visualization:
- Performance graphs (main, sorted, smoothed trends)
- Monitor data visualization (vmstat, mpstat, proc stats)
- Professional HTML reports with embedded graphs
- Comprehensive comparison tables with statistical analysis
5. Workflow Enhancements:
- Support for applying patches from fixes directory
- Python script for advanced graph generation
- Makefile targets for comparison workflow
- Results organization in workflows/mmtests/results/
Technical Improvements:
- Added localhost to mmtests hosts template for local operations
- Added dedicated mmtests group definition in hosts template
- Support for applying patches from fixes directory
- Robust error handling in comparison scripts
- Dependency management for Perl and Python tools
- Temporary file management in /tmp for comparisons
Included Patches:
- Fix undefined array reference in mmtests compare
- Fix library order in thpcompact gcc command
The implementation supports the standard kdevops A/B testing pattern
where baseline nodes run the stable kernel and dev nodes run the
development kernel, with automated comparison and visualization of
performance differences between them.
Usage:
make defconfig-mmtests-ab-testing
make bringup
make mmtests
make mmtests-compare
This enables developers to quickly identify performance regressions
and improvements between kernel versions with professional-quality
reports and visualizations.
Generated-by: Claude AI
Signed-off-by: Luis Chamberlain <[email protected]>
0 commit comments