16 ms·
Sorry if something was explained awkwardly or incorrectly, I'm trying to get a hang of writing posts like this, technical posts that are interesting and fun to
by antonio2368 5y ago
Sorry if something was explained awkwardly or incorrectly, I'm trying to get a hang of writing posts like this, technical posts that are interesting and fun to read.
> If they were using unsigned arithmetic then they would've gotten the expected value.
And we did, but we did not expect to get the input values we got, which are explained by your last paragraph: "time stamp counter drift across cores." This was the real problem, and something new we learned.
> use clock_gettime+CLOCK_MONOTONIC
I forgot to include this because I was focused on the solutions we ended up using, but after some research this is 100% correct! We were afraid that too many syscalls during the query execution can produce huge performance hits so we decided to look for a different solution.
All in all, thanks for the comment!
- namibj 5y agoJust to correct you: `clock_gettime` is handled by the vDSO, and does not involve an actual syscall for over a decade now.
- antonio2368 5y agoI didn't think about the vDSO, and that it's used for `clock_gettime`, so thank you for the information and correction! It's really hard for me to get a feel of what is okay to use, what is the standard way to do something without actually implementing everything and seeing how it behaves, so information like this help me a lot.
- namibj 5y agoI recommend looking at it, as all those calls are very cheap: man 7 vdso