Even the best hardware can lag if your system is overwhelmed by interrupt requests.
So, you've got all the best hardware: CPU, GPU, SSDs—the good stuff. But for some reason, your rig is still slow. Despite having the best of the best, you're experiencing noticeable stuttering and serious downtime. Well, I'm no doctor, but it's possible that your system is getting spammed by interrupt requests.
Interrupt requests typically aren't a bad thing; in fact, they're essential to the basic moment-to-moment functioning of your computer. Sometimes, in order to take an action, your system needs to ask the processor to interrupt code that is currently being executed. If the processor accepts the request, it pauses its activity, saves its state, and executes an interrupt handler, otherwise known as an interrupt service routine or ISR. After the new task is finished, the processor resumes the interrupted process.
But not just any task gets to burst in like the Kool-Aid man and demand to take center stage. Your computer runs based on a strict hierarchy of priority. Essential urgent tasks come first and can interrupt any other task. Nonessential, non-urgent tasks will either share available resources or wait in line for their turn, handing over control when necessary to more important processes. Then there are tasks in the middle—urgent enough to interrupt low-priority tasks but not so urgent that they get actioned immediately over anything else.
We all know the feeling. However, some critically important interrupt requests will come with a timeout counter that resets the system if it's unable to run its essential task before the time runs out. While the system can decide when and if it will accept an interrupt request, once that interrupt is accepted and its action is in progress, the CPU or GPU servicing the request cannot be interacted with by the rest of the system. Most interrupts happen quickly and seamlessly, but longer-than-usual interrupts or large numbers of interrupt requests can cause stuttering or result in dropped packets and higher latency when networking.
Longer-than-usual interrupts are often the result of misbehaving hardware, but some devices, like Wi-Fi adapters, flood the system with interrupt requests, which increases the likelihood that part of the system will stall. There are also times when bugs and glitches have caused the usually clear hierarchy of priority to get jumbled, leading to perhaps the most severe consequence of interrupt requests: a little thing called priority inversion or thrashing. We'll explain what that is and how to avoid it after we say thanks to our sponsor, Corsair.
Corsair Custom Lab allows you to create a gaming setup as unique as you are. Start with a product like their K65 Plus Wireless Keyboard and select from a variety of different themed keycaps to match your style.
Priority inversion can cause your computer to freeze just like it did to the Sojourner Rover on Mars in 1997.
The clear hierarchy of priority in a computer system can sometimes get jumbled, leading to severe consequences such as priority inversion or thrashing. We'll explain what that is and how to avoid it after we say thanks to our sponsor, Corsair. Corsair Custom Lab allows you to create a gaming setup as unique as you are. Start with a product like their K65 Plus Wireless Keyboard and select from a variety of different themed keycaps to match your style. From there, you can add a mouse and a mouse pad to complete the look. Corsair handles all the heavy lifting for you; just make your Custom Creation, and they'll build it and ship it right to you. Learn more at the link in the description.
Priority inversion is a situation where the strict task priority hierarchy that allows a computer to make decisions is violated. This can happen when a high-priority and low-priority task both need to use a resource that can only handle one task at a time. If the low-priority task is running and gets interrupted by a medium-priority task that doesn't need the specific exclusive resource it's using, it might trigger a bug causing the low-priority task to refuse to relinquish its hold. If the system then attempts to run a high-priority task that requires that exclusive resource, it will be inadvertently blocked by the interrupt instigated by the medium-priority task. This can cause the system to stall and time out.
This exact scenario happened to the Sojourner Rover on Mars in 1997. The Rover's low-priority weather data collection task required an exclusive lock on the Rover's information bus. This task was then interrupted and paused by a long-duration medium-priority communication task, which held that exclusive lock on the information bus in place. This inadvertently blocked a high-priority task from servicing the information bus, causing the Rover system to time out and initiate a full system reset. This happened four times and was only resolved by the most remote of remote debugging. NASA used a double of Sojourner back on Earth to test a solution and then sent the patch to the robot on Mars, resolving the issue.
While your computer is in many ways more sophisticated than a computer from 1997, even a cool robot space computer, it's still vulnerable to the slowdown that comes with your computer spending its valuable processing power deciding what to do rather than just doing it. Not to mention the errors that can happen when your machine is trying to juggle several tasks at once. So, if you have ADHD like me and somebody criticizes you for your indecisiveness and procrastination, just tell them you're experiencing an unfortunate priority inversion and consequent thrashing. It worked for me.
You know what else worked for me? You watching this whole video. Thanks so much! Like the video if you liked it, dislike it if you disliked it, check out our other videos, comment below with video suggestions, and don't forget to subscribe and follow. After you get through the queue of things that you have to think about before, then do it.