3 ms·
Thanks. I didn't see explanations of the graphics driver restart in those MSDN links, but I found one here: https://msdn.microsoft.com/en-us/library/windows/har
by zurn 11y ago
Thanks. I didn't see explanations of the graphics driver restart in those MSDN links, but I found one here: https://msdn.microsoft.com/en-us/library/windows/hardware/ff570087(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/windows/hardware/ff...
And third party articles: https://www.blackhat.com/docs/us-14/materials/us-14-vanSprundel-Windows-Kernel-Graphics-Driver-Attack-Surface.pdf https://www.blackhat.com/docs/us-14/materials/us-14-vanSprun...
http://bsodtutorials.blogspot.fi/2013/12/timeout-detection-and-recovery-stop.html http://bsodtutorials.blogspot.fi/2013/12/timeout-detection-a...
So there's a user-space part to the GPU driver and a kernel-space part, much like on Linux.
For the recovery functionality it sounds like the graphics card's kernel-side GPU driver just registers a callback that is used by Windows when it thinks the GPU or driver is stuck, but there aren't any special arrangements to make this robust against the driver corrupting OS state or other hardware. Same kind of mechanism could be implemented in Linux.
I'll save those OS X links for later when I have time to look into that one!
- pjmlp 11y agoOf course one could eventually migrate Linux to an hybrid kernel, but the will to do so isn't there. Specially since it requires a stable kernel ABI.
- hga 11y agoIt's my opinion that the lack of a stable kernel device driver ABI is a large part of Linux's success, and whatever the reason, under its current management that's not going to change (that management being of course another reason it's so successful). Although depending on how bad systemd is in the wild, a sufficient critical mass for a stable device driver ABI just might be come to be.
- zurn 11y agoI'm not sure we are on the same page. I attempted to explain how the functionality in question is not related to kernel architecture differences, and that Windows is unable to implement the function reliably.