A method to improve tlb refresh efficiency
A technology of efficiency and page table entries, which is applied in the directions of instruments, computing, and electrical digital data processing, etc., can solve the problem of low TLB refresh efficiency, and achieve the effect of increasing TLB refresh frequency, improving hit rate, and improving refresh efficiency
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
Embodiment 1
[0023] Such as figure 1 As shown, a method for improving TLB refresh efficiency provided by the present invention includes:
[0024] (1) Create a process descriptor and add a process context ID;
[0025] (2) When a page fault occurs and a page table entry needs to be created, the first 16 bits of the page table entry are filled with the process context ID where the virtual address is located, and the newly created page table entry is placed at the head of the linked list in the TLB;
[0026] (3) When a process switch occurs, the entries in the TLB table are traversed from the end of the linked list, and the page table entries of the non-new switching process are refreshed and replaced with the page table entries of the new switching process, and the number of refreshed entries reaches the process of the linked list up to the number of experience points;
[0027] (4) When the virtual address of the process hits the TLB entry, move the entry to the head of the linked list.
...
Embodiment 2
[0032] Such as figure 2 As shown, the present embodiment relates to a platform that is an x86_64 bit server running a Linux operating system, and for a system that only takes up a 48-bit four-level paging structure, the specific steps are as follows:
[0033] (1) When the process is created, a 16-bit process context contextID is generated;
[0034] (2) When the page fault handle_mm_fault occurs, pte = pte | (contextID<<48);
[0035] (3) The Flush_tlb_page function flushes the pte to the TLB, and inserts the page table linked list head list_insert(head,pte).
[0036] (4) When the process is switched, the flush_tlb function starts traversing from the end of the linked list. The number of elements traversed is m / n of the total linked list length. The page table entries that are not traversed are flushed out of the new switching process, and the new process is used. page table entry replacement.
[0037] (5) When the address recently accessed by the process hits the TLB, move ...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More 

