Hello, This week I tested my patches on different machines and made some graphs. I will come later with a review of all my work in the bsd4 scheduler and those centralized results.
Also this week I added a compile-time option for KTR: KTR_GLOBAL_BUFFER. If defined, it uses a global buffer to log into, not /cpu buffers. I used an atomic operation to increment the index. This is useful when the logging happens more often then the resynchronization (otherwise someone could not understand anything in the logs registered). Also is useful, when a buffer from one-cpu is getting full (and will round-robin) and the others are not. Some of the timestamps will be lost, and logs woudn't be meaningful. As Alex said, I know this would be a long point of discussions and won't get in the upstream too soon. But otherwise, the KTR_LOG from the usched_bsd4 isn't useful. Anyway the only contention point is the atomic increment of an index.