5 ms·
Some 32-bit counter somewhere used when in NVLINK overflows?
by layla5alive 9mo ago
Some 32-bit counter somewhere used when in NVLINK overflows?
- mook 9mo agoIsn't 32bit counter 49 days? Assuming that one was counting milliseconds, at least. Only remember that because that's the limit for Windows 95…
- repiret 9mo ago100ns intervals. My favorite part of that story is how long after Windows 95 was released before anybody discovered the bug.
- justsomehnguy 9mo agoThat's because people actually powered off their computer after work/leisure sessions. Someone on an unlimited night dial-up could had discovered it well before "anybody" but it's not like there was a built-in function to actually send a crash report to Redmond. https://i.sstatic.net/p9hUgGfg.png https://i.sstatic.net/p9hUgGfg.png
- themafia 9mo ago66 days + 12 hours are 5,745,600,000,000,000 ns. The log2 of this is 52.351... Javascript and some other languages only have integer precision up to 52 bits then they switch to floating point. Curious.
- loeg 9mo agoIt's 32 bits of milliseconds, right? Hm, no, that would overflow much sooner (49.7 days).
- oasisaimlessly 9mo agoIt's a uint32_t of 750 Hz "jiffies", which does overflow at ~66 days.
- userbinator 9mo agoWhile that seems like a convincing explanation, 750Hz is a rather odd value to use for a timer, and more importantly the overflow would be at 66d6h43m43s instead of the reported ~66d12h.
- fc417fc802 9mo ago66 days 12 hours would put it at 747.5 Hz. A different report had 66 days 10 hours 16 minutes which works out to 748 Hz. Maybe the clock was just feeling a little sluggish? /s
- i_am_proteus 9mo agoIt is indeed the explanation: https://github.com/NVIDIA/open-gpu-kernel-modules/pull/1014 https://github.com/NVIDIA/open-gpu-kernel-modules/pull/1014
- loeg 9mo agoWild.
- loegta3 9mo agoBingo! Someone decided to store timestamps in float64 which has 52 bit mantissa, and the time functions break when losing precision.