Patent ID: 10817220

Abstract:
A block I/O request processing threads executes only on a processor core to which it is assigned. After it executes for a period of time, the block I/O request processing thread yields its assigned processing core to another type of thread that is runnable on the processing core, such as a file I/O request processing thread. When there are no block I/O requests for a block I/O request processing thread to process, it is suspended from being executed. A monitor thread running on another processing core detects that a newly received block I/O request is available for processing, and makes the block I/O request processing thread runnable again. The block I/O request processing thread may be assigned a higher priority than file I/O request processing threads, and preempt any runnable file I/O request processing threads when it is made runnable to process the newly received block I/O request.