By entering this site you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services of the website. Kindly read the below message of use and consent to the use.
The following cookies are stored and shared when accessing this website:
- Internal cookies for the MediaWiki site. This is used for user authentication and article modifications.
- Third-party cookies from Google providing services for Google AdSense and Google Analytics
We will never use data collected outside of the above scope.
| Count of threads currently being managed by this scheduler object
| Count of threads currently being managed by this scheduler object
+
|-
+
| 0x14
+
| u32
+
| Bit field for high priority threads in KScheduler(0-31)
+
|-
+
| 0x18
+
| u32
+
| Bit field for low priority threads in KScheduler(32-63)\
+
|-
+
| 0x1C
+
| KThread*
+
| Scheduler thread
+
|-
+
| 0x20
+
| u32
+
| Unknown
+
|-
+
| 0x24
+
| u32
+
| Unknown/unused
|}
|}
There is 1 KScheduler object per core.
There is 1 KScheduler object per core.
+
+
Each priority of KThread has a pair of KThread object pointers below the KScheduler object. Each pair of pointers makes up 1 entry in that core's Scheduler for their priority. The first KThread in the entry is the first KThread in the linked list and the second is the last KThread in the linked list of KThreads in the scheduler that have the same priority.
+
+
+
Priority bit fields:
+
+
Each bit field goes from the most significant bit to the least significant bit, high priority to low priority. This means, for example, that bit 31 in the high priority bit field is for priority 0 and bit 0 is for priority 31. These fields are set when a KThread with the corresponding priority is added for scheduling and are cleared when the last KThread in the linked list for a given priority is removed from the scheduler.