A high priority process is forced to wait for a lower priority process to release some resource(s).
For example, suppose a high priority process is running and blocks to wait for some resource, say a disk read. Since the high priority process is waiting, the schedule runs a lower priority process. As the lower priority process is running, the disk read completes, and the high priority process is moved to the Ready list, but it does not run until the lower priority process relinquishes the CPU. To counter this form of priority inversion, when the disk read completes, the scheduler may interrupt the low priority process to let the high priority process run. As another example, a high priority process may request a service from a lower priority process. Then the high priority process must wait until the lower priority process gets to run. Priority inversion does not involve changing the priority of a process.