Re:How a 20-year-old kernel feature helped USDS improve VA’s...
by dkhenry on Friday June 30, 2017 @01:58PM
(#14672497)
Its amazing to see how "solving" the problems can often not solve the problem. Immediately when faced with a error that happened after five minutes I might just put a sleep(301) in the startup script, but that totally would have masked the issue for others. Also amazing foresight by the kernel team to think ahead and make this wrap explicit.
[ Parent
| on HN ]
Re:How a 20-year-old kernel feature helped USDS improve VA’s...
by askldjd on Friday June 30, 2017 @02:02PM
(#14672537)
Author here. Completely agreed. My jaws dropped when I saw the INITIAL_JIFFIES. The kernel developers really saved our butt.
I could not imagine debugging this problem if INITIAL_JIFFIES was randomized. It may takes days/weeks/months for this bug to appear.
Re:How a 20-year-old kernel feature helped USDS improve VA’s...
by lfowles on Friday June 30, 2017 @03:31PM
(#14673116)
Similarly, Unreal Engine 4 offsets platform time (a double) by some large value so if it's stored in a float, accuracy errors will be exposed almost immediately. Looking it up, the offset starts out large enough that the epsilon is two seconds.
Re:How a 20-year-old kernel feature helped USDS improve VA’s...
by vageli on Friday June 30, 2017 @08:01PM
(#14674370)
Do you have a link with more info? I'd love to read more about this.
Re:How a 20-year-old kernel feature helped USDS improve VA’s...
by lfowles on Friday June 30, 2017 @08:29PM
(#14674502)
Sorry, no. It's not something documented other than a cryptic comment in the source code ( FPlatformTime::Seconds() ) assuming some knowledge of floating point number gotchas.
Edit: Here's a more detailed post o made about the specific gotcha if you're interested: https://community.gamedev.tv/t/why-is-fplatformtime-seconds-...
Re:How a 20-year-old kernel feature helped USDS improve VA’s...
by aaronchall on Friday June 30, 2017 @06:18PM
(#14673901)
Here's the patch that applies this: https://www.kernel.org/pub/linux/kernel/people/akpm/patches/...