Why doesn't the vDSO code just use MOV in its stack probe probe rather than an OR?
Debugging an evil Go runtime bug
11–20 of 51 posts
Re: Debugging an evil Go runtime bug
#12Btw, thanks about telling me about the badram Grub 2 feature, had no idea that exited.
Re: Debugging an evil Go runtime bug
#13Re: Debugging an evil Go runtime bug
#14Earlier quoted context omitted.
Apparently, because it's shorter [0]. [0]: See https://lkml.org/lkml/2017/11/10/348
Why is it shorter? Both MOV and OR have one byte encodings, and with the OR you either have to use an immediate zero (which burns a byte) or materialize zero in some other way. As that email points out, the entire sequence would be shorter using a different addressing mode anyways. And a read-modify-write is definitely slower at runtime.
Re: Debugging an evil Go runtime bug
#15Re: Debugging an evil Go runtime bug
#16Neat. I wonder if that makes Rowhammer more likely to occur.
Re: Debugging an evil Go runtime bug
#17Marcan's attitude is great; I know of a ton of people (myself included) who would've written that article with far more complaining interleaved. Super informative as well, I learned a ton from this article (GRUB 2 feature for marking off bad RAM? Wow!). Very well written, informative, humorous, etc. Love it
From my perspective this approach was pretty unique; going all the way down to debugging the hardware first may seem obvious to some, but it's a totally opposite approach to how I'd go about it. My mind would jump directly to producing a minimal test case. Would've never thought to mark off bad RAM with an obscure(ish?) GRUB 2 feature. Would've never thought to selectively flip a kernel flag for some parts of the code.
It's great to get these perspectives from people who really know how to dig down and debug deep.
Re: Debugging an evil Go runtime bug
#18To think that some experienced programmers I know declare that concurrency is easy.
Re: Debugging an evil Go runtime bug
#19Re: Debugging an evil Go runtime bug
#20>Since the problem gets worse with temperature, what happens if I heat up the RAM? Neat. I wonder if that makes Rowhammer more likely to occur.