Comments (2)
Here is an In-depth manual from 8 days ago at https://documentation.suse.com/sle-rt/12-SP5/single-html/SLE-RT-shielding/, upstream https://github.com/lpechacek/cpuset with issues.
Please note, that cset-shield
is written in Python and GPLv2 and is a few thousand LOC.
The manual also describes some not nice quirks
Note. There is a minor chance that a task forks during move and its child remains in the root cpuset.
I think the author did not want to deal with strace and/or pid 1/process group tracking, which is another level of complexity and inefficient in Python.
Afaiu, there are 4 things needed
-
- setup of shield configuration (creation of shield and moving tasks into it)
-
- running process with options
-
- teardown of shield configuration / reset of system state (moving tasks out and delete shield)
-
- Detection, if there is a current cpu shield running (including info how to clean it up manually)
I think a partial reimplementation in Zig should start with the quirk (process movement handling forks). I think I'll make a writeup of the underlying problem soon.
from poop.
I do not yet understand what time guarantees the Kernel provides regarding when reads and writes to the pseudo-file system being applied, so I asked the author of the tool with polite hints how to fix some Python stuff: SUSE/cpuset#46
I hope there are callbacks or there is anything from the Kernel, because otherwise we would need to do dirty waiting and "hope that it has applied" leaving the door open to spurious failures. Even, if tracking clone
would be handled, for example via strace.
Overall overview: https://man7.org/linux/man-pages/man7/cpuset.7.html
from poop.
Related Issues (20)
- figure out how to make the code less janky with regards to formatted printing HOT 2
- mad max mode
- do something with cache references and cache misses together
- blank line between benchmarks and summary section
- detect when perf is permission denied and give the user a helpful message HOT 5
- add an option to show ratio instead of percent delta (possibly by default) HOT 2
- machine-friendly output format HOT 1
- integer overflow when trying to print result of subsequent benchmark HOT 1
- Options that can make poop exit with error code
- Use some max number of sigfigs HOT 1
- reached unreachable code (in VM) HOT 5
- install poop HOT 2
- Build Instructions are poor HOT 1
- flag for setting command line parameters
- Add `--export`: get summary statistics and timings
- Why the difference between the counter values reported by poop and perf-stat? HOT 1
- Zig standard library tests deadlock when run via `poop`
- `PILE OF POO` may not be available on some systems HOT 1
- Update for Zig breaking change: per-Module HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from poop.