^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ToDos sorted by priority:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) - Use bitmask functions to parse CPU topology more robust
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) (current implementation has issues on AMD)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) - Try to read out boost states and frequencies on Intel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - Somewhere saw the ability to read power consumption of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) RAM from HW on Intel SandyBridge -> another monitor?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - Add another c1e debug idle monitor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) -> Is by design racy with BIOS, but could be added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) with a --force option and some "be careful" messages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - Add cpu_start()/cpu_stop() callbacks for monitor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) -> This is to move the per_cpu logic from inside the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) monitor to outside it. This can be given higher
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) priority in fork_it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - Fork as many processes as there are CPUs in case the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) per_cpu_schedule flag is set.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) -> Bind forked process to each cpu.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) -> Execute start measures via the forked processes on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) each cpu.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) -> Run test executable in a forked process.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) -> Execute stop measures via the forked processes on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) each cpu.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) This would be ideal as it will not introduce noise in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) tested executable.