tud-zih-energy / lo2s

Linux OTF2 Sampling - A Lightweight Node-Level Performance Monitoring Tool
https://tu-dresden.de/zih/forschung/projekte/lo2s?set_language=en
GNU General Public License v3.0
44 stars 13 forks source link

--block-io doesnt capture NVMe device read/writes. #290

Closed cvonelm closed 4 months ago

cvonelm commented 1 year ago

As experimentation showed, the issue with NVMe is not faulty handling of block I/0 events but merely not enough block_bio_* events happening for the expected work load, especially for reads but partially also for writes.

As this presentation puts it: there are now "Dedicated read queues" for NVMe devices, which sounds to me like NVMes are bypassing the block layer. (which is sensible, because the block layer is big, slow and made with spinning platters in mind)

There are nvme_setup_cmd and nvme_complete_rq tracepoints specifically for NVMe, but one might want to look for a unified solution.

cvonelm commented 4 months ago

Further research showed that we were just hooking into the wrong tracepoints. With #310 we capture the complete block I/O traffic.

Closing as NVMes were not at the heart of the problem