TASKS;RCU detection of tickless user mode execution as a quiescent state
First Claim
1. In a computer system having a plurality of CPUs operatively coupled to one or more memory devices, a method for detecting a TASKS_RCU grace period whose quiescent states comprise a task undergoing a voluntary context switch, a task running in user mode, and a task running in idle-mode, said method comprising:
- building a runnable task list of all runnable tasks in said computer system,scanning said runnable task list in one or more scan passes;
on each scan pass through said runnable task list, searching to identify quiescent state tasks that have passed through a quiescent state by either performing a voluntary context switch, running in user mode, or running in idle-mode, and if found, removing said quiescent state tasks from said runnable task list;
said searching including identifying quiescent state tickless user mode tasks that have been running continuously in user mode on tickless CPUs that have not received a scheduling clock interrupt since commencement of said TASKS_RCU grace period; and
if said runnable task list is empty, ending said TASKS_RCU grace period.
1 Assignment
0 Petitions
Accused Products
Abstract
A TASKS_RCU grace period is detected whose quiescent states comprise a task undergoing a voluntary context switch, a task running in user mode, and a task running in idle-mode. A list of all runnable tasks is built. The runnable task list is scanned in one or more scan passes. Each scan pass through the runnable task list searches to identify tasks that have passed through a quiescent state by either performing a voluntary context switch, running in user mode, or running in idle-mode. If found, such quiescent state tasks are removed from the runnable task list. Searching performed during a scan pass includes identifying quiescent state tickless user mode tasks that have been running continuously in user mode on tickless CPUs that have not received a scheduling clock interrupt since commencement of the TASKS_RCU grace period. If the runnable task list is empty, the TASKS_RCU grace period is ended.
56 Citations
7 Claims
-
1. In a computer system having a plurality of CPUs operatively coupled to one or more memory devices, a method for detecting a TASKS_RCU grace period whose quiescent states comprise a task undergoing a voluntary context switch, a task running in user mode, and a task running in idle-mode, said method comprising:
-
building a runnable task list of all runnable tasks in said computer system, scanning said runnable task list in one or more scan passes; on each scan pass through said runnable task list, searching to identify quiescent state tasks that have passed through a quiescent state by either performing a voluntary context switch, running in user mode, or running in idle-mode, and if found, removing said quiescent state tasks from said runnable task list; said searching including identifying quiescent state tickless user mode tasks that have been running continuously in user mode on tickless CPUs that have not received a scheduling clock interrupt since commencement of said TASKS_RCU grace period; and if said runnable task list is empty, ending said TASKS_RCU grace period. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification