Re:IPC in Rust – A Ping Pong Comparison
by dwattttt on Wednesday June 19, 2024 @12:46AM
(#40724926)
You mention the most reasonable trick is to just avoid hammering/read-write the same cache lines; I guess you didn't hit this as a need because your QEMU instruction pipe was fast enough, but would you batch up your events along cache lines, fill up a line, and signal it's free to the consumers instead?
[ Parent
| on HN ]
Re:IPC in Rust – A Ping Pong Comparison
by gamozolabs on Wednesday June 19, 2024 @03:50AM
(#40725910)
Yeah. So I forget the original tuning I did for that project. But, I fill up a buffer which is on its own cache line (Chunk) and then signal that the chunk is ready for ownership on the other side, thus sending it. I’m not sure why the signaling atomics aren’t on their own cache lines, I imagine I tried both and this was faster? There’s also a chance I never tried it because I felt I didn’t need it? I’m not sure!