IP Library Granted Patent US 12,493,490
Granted Patent B2
US 12,493,490 · App. 18/088,078 · Granted Dec 9, 2025

Sub-idle thread priority class

Inventor: Michael Tsirkin (Yokneam Illit, IL)
Assignee: Red Hat, Inc.
G06F9/4881G06F9/4887G06F9/50G06F9/5005G06F2209/5019
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,493,490
App. No.
18/088,078
Granted
Dec 9, 2025
Kind
B2
Abstract

Implementations for scheduling a sub-idle thread priority class are described. An example method may include assigning, by a scheduler of a computer system, a sub-idle execution priority class to a processing thread associated with a request queue of an input/output (I/O) device; identifying, by a processing device, a work completion request in the request queue; and responsive to predicting, for a processor of the computer system, an idle time exceeding a threshold idle period, running the processing thread.

Claims (43)

1 . A method comprising:

assigning, by a scheduler of a computer system, a sub-idle execution priority class to a processing thread associated with a request queue of an input/output (I/O) device;

identifying, by a processing device, a work completion request in the request queue; and

responsive to predicting, for a processor of the computer system, an idle time exceeding a threshold idle period and to identifying the work completion request in the request queue, running the processing thread to process the work completion request.

2 . The method of claim 1 , wherein the threshold idle period is an average period of time for receiving responses to requests sent by threads assigned to a priority class higher than the sub-idle execution priority class.

3 . The method of claim 1 , wherein the threshold idle period is a period of time associated with the processing thread, wherein the period of time exceeds a threshold period of time associated with the sub-idle execution priority class.

4 . The method of claim 1 , further comprising:

freeing a portion of memory associated with the work completion request.

5 . The method of claim 1 , wherein predicting, for the processor of the computer system, the idle time comprises:

monitoring the processor to detect a transition of the processor from an idle state to an active state;

recording an actual idle time of the processor; and

calculating, based on the actual idle time, the idle time.

6 . The method of claim 1 , wherein predicting, for the processor of the computer system, the idle time is based on an output of a trained machine learning model.

7 . The method of claim 1 , wherein the work completion request polls a completion queue for an entry associated with a work request in the request queue.

8 . A system comprising:

a memory; and

a processing device communicatively coupled to the memory to:

assign, by a scheduler of a computer system, a sub-idle execution priority class to a processing thread associated with a request queue of an input/output (I/O) device;

identify, by the processing device, a work completion request in the request queue; and

responsive to predicting, for a processor of the computer system, an idle time exceeding a threshold idle period and to identifying the work completion request in the request queue, running the processing thread to process the work completion request.

9 . The system of claim 8 , wherein the threshold idle period is an average period of time for receiving responses to requests sent by threads assigned to a priority class higher than the sub-idle execution priority class.

10 . The system of claim 8 , wherein the threshold idle period is a period of time associated with the processing thread, wherein the period of time exceeds the threshold idle period of time associated with the sub-idle execution priority class.

11 . The system of claim 8 , wherein the processing device is further to:

free a portion of memory associated with the work completion request.

12 . The system of claim 8 , wherein predicting, for the processor of the computer system, the idle time comprises:

monitoring the processor to detect a transition of the processor from an idle state to an active state;

recording an actual idle time of the processor; and

calculating, based on the actual idle time, the idle time.

13 . The system of claim 8 , wherein predicting, for the processor of the computer system, the idle time is based on an output of a trained machine learning model.

14 . The system of claim 8 , wherein the work completion request polls a completion queue for an entry associated with a work request in the request queue.

15 . A non-transitory computer readable storage medium including instructions that, when executed by a processing device, cause the processing device to perform a method comprising:

assigning, by a scheduler of a computer system, a sub-idle execution priority class to a processing thread associated with a request queue of an input/output (I/O) device;

identifying, by the processing device, a work completion request in the request queue; and

responsive to predicting, for a processor of the computer system, an idle time exceeding a threshold idle period and to identifying the work completion request in the request queue, running the processing thread to process the work completion request.

16 . The non-transitory computer readable storage medium of claim 15 , wherein the threshold idle period is an average period of time for receiving responses to requests sent by threads assigned to a priority class higher than the sub-idle execution priority class.

17 . The non-transitory computer readable storage medium of claim 15 , wherein the threshold idle period is a period of time associated with the processing thread, wherein the period of time exceeds a threshold period of time associated with the sub-idle execution priority class.

18 . The non-transitory computer readable storage medium of claim 15 , further comprising:

freeing a portion of memory associated with the work completion request.

19 . The non-transitory computer readable storage medium of claim 15 , further predicting, for the processor of the computer system, the idle time comprises:

monitoring the processor to detect a transition of the processor from an idle state to an active state;

recording an actual idle time of the processor; and

calculating, based on the actual idle time, the idle time.

20 . The non-transitory computer readable storage medium of claim 15 , wherein predicting, for the processor of the computer system, the idle time is based on an output of a trained machine learning model.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2023
From: TSIRKIN, MICHAEL
To: RED HAT, INC.
Reel/Frame 064829/0522 →