US 11,948,001 B2
Adaptive CPU usage mechanism for networking system in a virtual environment
Miao Mao, Shanghai (CH); Wei Zhou, Shanghai (CH); and Zhong Chen, Shanghai (CH)
Assigned to SONICWALL INC., Milpitas, CA (US)
Filed by SONICWALL INC., Milpitas, CA (US)
Filed on Jun. 17, 2021, as Appl. No. 17/350,239.
Claims priority of provisional application 63/041,003, filed on Jun. 18, 2020.
Prior Publication US 2021/0397475 A1, Dec. 23, 2021
Int. Cl. G06F 9/48 (2006.01); G06F 9/455 (2018.01); G06F 9/46 (2006.01); G06F 9/50 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/455 (2013.01); G06F 9/46 (2013.01); G06F 9/461 (2013.01); G06F 9/466 (2013.01); G06F 9/48 (2013.01); G06F 9/4806 (2013.01); G06F 9/4843 (2013.01); G06F 9/485 (2013.01); G06F 9/4887 (2013.01); G06F 9/50 (2013.01); G06F 9/5005 (2013.01); G06F 9/5022 (2013.01); G06F 9/5027 (2013.01); G06F 9/505 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for controlling processing tasks, the method comprising:
setting a first sleep timer to an initial value when a no-sleep variable is determined to be set to a value of zero, the initial value of the first sleep timer identifying a first time that a first virtual process will be paused, wherein a processor executes instructions associated with at least one other process when the first virtual process is paused, and wherein the initial value is set based on a number of processing tasks including the at least one other process to be performed;
executing by the processor instructions associated with the first virtual process after identifying that the first sleep timer corresponds to a zero value;
identifying that the number of processing tasks associated with the first virtual process at least meets a threshold number;
identifying an allocated time for processing one or more processing tasks of the number of processing tasks based on a time difference, wherein the allocated time is greater when the time difference is less than or equal to a first time setting and the allocated time is less when the time difference is greater than the first time setting; and
processing the one or more processing tasks for a time span not exceeding the allocated time wherein the allocated time includes a number of iterations that the number of processing tasks is processed.