Incorrect IO prioritization in Windows 7, 10, 11

高大奇特的巨杉 0 Reputation points
2023-11-11T15:08:32.7133333+00:00

When I look at Windows IO priorities, I see that "High" does not execute before "Normal" and "Low" does not execute before "Very Low", i.e. "High" equals "Normal" and "Low" equals "Very Low". Why?

For example, when I test with FastCopy and set the IO priority of one to "High" and the other to "Normal". The "High" does not execute before the "Normal", they alternate, as in the case of the same priority.High And Normal

If one priority is "High" and the other "Low", " High " takes precedence over "Low" (and also over "Very Low"); similarly, "Normal" takes precedence over "Low" and "Very Low". In addition, we can see that the "Low" priority execute slowly to prevent starvation, which is a sign that the "Idle Policy" has been activated.

High And Low

Here is a reference article.

Does this situation imply that the "Critical" priority is also equivalent to "Normal"? Or does it execute before any other priority? Is it affected by the "Idle Policy" (i.e., the two "Idle Priorities" of "Low" and "Very Low" are executed slowly (two IOs per second), even if there is a "Critical" priority ahead)?

Originally, I posted the question in the "Microsoft Community", but they told me to ask here. After that, I tested the properties of the "Critical" priority and found some examples where "Critical" takes precedence over "Normal" (only when the priorities are different (IO size, type are the same), and "Critical" is requested after "Normal" but first executes the completion, the example is more convincing). You can check it out here.

However, whether the "Critical" priority is affected by the "Idle Policy" has not been addressed. Also, I would like to know if the "Equal Priority" case is due to Microsoft laziness, since the article quoted above says: "All port drivers check specifically for Critical priority I/Os and move them ahead of their queues, even if they do not support the full hierarchy mechanism. This mechanism is in place to support critical memory manager paging I/Os to ensure system reliability."

Windows
Windows
A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.
5,323 questions
Windows Hardware Performance
Windows Hardware Performance
Windows: A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.Hardware Performance: Delivering / providing hardware or hardware systems or adjusting / adapting hardware or hardware systems.
1,610 questions
0 comments No comments
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.