Windows 10 Bug Leaves Google Engineer's 24-Core System Unable To Even Move Its Mouse
Imagine rocking a system with a 24-core processor that supports Hyper Threading, 64GB of RAM, and a fast solid state drive. Pretty rad setup, right? The last thing you would expect is that performance would be a problem, but for an engineer who owned such a configuration, it was not enough to prevent his mouse from developing a hitch and sometimes even freezing for seconds at a time. In fact, having such a burly CPU may have actually exacerbated the issue. How so?
The real culprit is Windows 10, and specifically a "serious process-destruction performance bug" in the operating system that was discovered by a programmer working for Google. In a lengthy blog post, Bruce Dawson describes in detail the steps he took to track down what was causing his mouse to stutter and stall out.

Dawson would notice the hitch in his mouse when building Chrome. While stutters and hardware hangs might be expected (to an extent) when CPU utilization is at 100 percent, Dawson says his CPU usage rarely hopped over the 50 percent threshold. Clearly something else was at play, so he whipped out some debugging tools and started doing performance traces on Windows 10.
Jumping down what seemed like a rabbit hole at first eventually led him to a Windows function called NtGdiCloseProcess, which is responsible for exiting processes.
"Process creation is CPU bound, as it should be. Process shutdown, however, is CPU bound at the beginning and the end, but there is a long period in the middle (about a second) where it is serialized—using just one of the eight hyper threads on the system, as 1,000 processes fight over a single lock inside of NtGdiCloseProcess. This is a serious problem. This period represents a time when programs will hang and mouse movements will hitch—and sometimes this serialized period is several seconds longer," Dawson explains.
This is not something the average user is likely to run into. However, it can an annoying issue for programmers working with a lot of processes, which was the case with Dawson. Chrome is a pretty big application that involves creating an destroying a lot of processors in rapid succession. And because of the way this bug works, the more cores and threads in a system, the worse this side effect can be.
Dawson says this is not an issue in Windows 7. That is not a good thing for Microsoft, as it is trying its best to get as many people as possible to upgrade to Windows 10. Dawson has reported to the bug to Microsoft and it is currently investigation the matter.
The real culprit is Windows 10, and specifically a "serious process-destruction performance bug" in the operating system that was discovered by a programmer working for Google. In a lengthy blog post, Bruce Dawson describes in detail the steps he took to track down what was causing his mouse to stutter and stall out.
Dawson would notice the hitch in his mouse when building Chrome. While stutters and hardware hangs might be expected (to an extent) when CPU utilization is at 100 percent, Dawson says his CPU usage rarely hopped over the 50 percent threshold. Clearly something else was at play, so he whipped out some debugging tools and started doing performance traces on Windows 10.
Jumping down what seemed like a rabbit hole at first eventually led him to a Windows function called NtGdiCloseProcess, which is responsible for exiting processes.
"Process creation is CPU bound, as it should be. Process shutdown, however, is CPU bound at the beginning and the end, but there is a long period in the middle (about a second) where it is serialized—using just one of the eight hyper threads on the system, as 1,000 processes fight over a single lock inside of NtGdiCloseProcess. This is a serious problem. This period represents a time when programs will hang and mouse movements will hitch—and sometimes this serialized period is several seconds longer," Dawson explains.
This is not something the average user is likely to run into. However, it can an annoying issue for programmers working with a lot of processes, which was the case with Dawson. Chrome is a pretty big application that involves creating an destroying a lot of processors in rapid succession. And because of the way this bug works, the more cores and threads in a system, the worse this side effect can be.
Dawson says this is not an issue in Windows 7. That is not a good thing for Microsoft, as it is trying its best to get as many people as possible to upgrade to Windows 10. Dawson has reported to the bug to Microsoft and it is currently investigation the matter.