PRE-EMPTIBLE CONTEXT SWITCHING IN A COMPUTING DEVICE
First Claim
1. A method of switching contexts between threads in different user processes on a computing device in which those portions of the context switch which involve either modification of page directory entries or the flushing of a data cache are performed with pre-emption enabled, and in which for those portions the context switch is pre-empted by a kernel thread.
2 Assignments
0 Petitions
Accused Products
Abstract
Context switching between threads belonging to different user-side processes is a time consuming procedure because of the need to move a potentially large number of memory mappings around and the need to flush the data cache on hardware architectures which utilise a virtually tagged data cache. This invention allows the modification of page directory entries and the flushing of the data cache during a context switch to occur with pre-emption enabled; if a third process needs to run during a context switch, and this third process doesn'"'"'t own or require any user memory modification of the page tables, this is now possible. By means of this invention, switches to kernel threads and threads in fixed user processes can occur much faster; these threads don'"'"'t belong to processes that own any user memory and are the very ones that need to run with a lower guaranteed latency to ensure real-time performance.
-
Citations
6 Claims
- 1. A method of switching contexts between threads in different user processes on a computing device in which those portions of the context switch which involve either modification of page directory entries or the flushing of a data cache are performed with pre-emption enabled, and in which for those portions the context switch is pre-empted by a kernel thread.
Specification