Associating process priority with I/O queuing
First Claim
1. A method comprising:
- determining that a priority of a first of a plurality of processes changes from a first priority to a second priority;
determining that a first of a plurality of input/output requests originated from the first process, wherein the first input/output request is stored in a first of a plurality of input/output (I/O) queues; and
moving the first input/output request from the first I/O queue that corresponds to the first priority to a second I/O queue that corresponds to the second priority based, at least in part, on said determining that the priority of the first process changed from the first priority to the second priority.
1 Assignment
0 Petitions
Accused Products
Abstract
Input/output (I/O) requests generated by processes are typically stored in I/O queues. Because the queued I/O requests may not be associated with the processes that generated them, changing a process'"'"' priority may not affect the priority of the I/O requests generated by the process. Therefore, after the process'"'"' priority has been increased, it may be forced to wait for an I/O handler to service its I/O request, which may be stuck behind an I/O request generated by a lower priority process. Functionality can be implemented to associate the processes'"'"' priorities with the I/O requests generated by the processes. Also, reordering the queued I/O requests to reflect changes in the processes'"'"' priorities can ensure that the I/O requests from high priority processes are serviced before the I/O requests from low priority processes. This can ensure efficient processing and lower wait times for high priority processes.
54 Citations
2 Claims
-
1. A method comprising:
-
determining that a priority of a first of a plurality of processes changes from a first priority to a second priority; determining that a first of a plurality of input/output requests originated from the first process, wherein the first input/output request is stored in a first of a plurality of input/output (I/O) queues; and moving the first input/output request from the first I/O queue that corresponds to the first priority to a second I/O queue that corresponds to the second priority based, at least in part, on said determining that the priority of the first process changed from the first priority to the second priority.
-
-
2. One or more machine-readable storage media having stored therein a program product for dynamic reordering of I/O requests, which when executed by a set of one or more processor units causes the set of one or more processor units to perform operations that comprise:
-
determining that a priority of a process changes from a first priority value to a second priority value; determining that a first of a plurality of input/output (I/O) requests originated from the process, wherein the first I/O request is stored in a first of a plurality of I/O queues; and moving the first I/O request from the first I/O queue that corresponds to the first priority value to a second of the plurality of I/O queues that corresponds to the second priority value based, at least in part, on said determining that the priority of the first process changed from the first priority value to the second priority value.
-
Specification