Hybrid scheme for performing translation lookaside buffer (TLB) shootdowns
AssigneeVMware, Inc.
InventorsAndrei Warkentin, Jared McNeill, Grant Foudree, Anil Veliyankaramadam
Life of this patent
Estimating the term…
Abstract
A hybrid scheme is provided for performing translation lookaside buffer (TLB) shootdowns in a computer system whose processing cores support both inter-processor interrupt (IPI) and broadcast TLB invalidate (TLBI) shootdown mechanisms. In one set of embodiments, this hybrid scheme dynamically determines, for each instance where a TLB shootdown is needed, whether to use the IPI mechanism or the broadcast TLBI mechanism to optimize shootdown performance (or otherwise make the TLB shootdown operation functional/practical).
Claims21
A method comprising:
- determining, by an operating system (OS) kernel process running on a first processing core of a computer system, that a translation lookaside buffer (TLB) shootdown should be performed with respect to one or more second processing cores of the computer system;
- flushing, by the OS kernel process, one or more page table entries (PTEs) from a TLB of the first processing core;
- determining, by the OS kernel process, whether the TLB shootdown should be performed using an inter-processor interrupt (IPI) mechanism or a broadcast TLB invalidate (TLBI) mechanism;
- sending, by the OS kernel process, TLB flush information to a shared system memory, the TLB flush information comprising a virtual address;
- and
- performing, by the OS kernel process, the TLB shootdown using the determined mechanism;
- wherein the one or more second processing cores read the TLB flush information from system memory and flush the corresponding stale PTEs.
A computer system comprising:
- a plurality of processing cores, each including a translation lookaside buffer (TLB);
- and
- a non-transitory computer readable medium having stored thereon program code for an operating system (OS) kernel process that, when executed by a first processing core in the plurality of processing cores, causes the first processing core to:
- determine that a TLB shootdown should be performed with respect to one or more second processing cores in the plurality of processing cores;
- flush, by the OS kernel process, one or more page table entries (PTEs) from a TLB of the first processing core;
- determine whether the TLB shootdown should be performed using an inter-processor interrupt (IPI) mechanism or a broadcast TLB invalidate (TLBI) mechanism;
- send, by the OS kernel process, TLB flush information to a shared system memory, the TLB flush information comprising a virtual address;
- and
- perform the TLB shootdown using the determined mechanism;
- wherein the one or more second processing cores read the TLB flush information from system memory and flush the corresponding stale PTEs.
A non-transitory computer readable storage medium having stored thereon instructions executable by an operating system (OS) kernel process running on a first processing core of a computer system, the instructions embodying a method comprising:
- determining that a translation lookaside buffer (TLB) shootdown should be performed with respect to one or more second processing cores of the computer system;
- flushing, by the OS kernel process, one or more page table entries (PTEs) from a TLB of the first processing core;
- determining whether the TLB shootdown should be performed using an inter-processor interrupt (IPI) mechanism or a broadcast TLB invalidate (TLBI) mechanism;
- sending, by the OS kernel process, TLB flush information to a shared system memory, the TLB flush information comprising a virtual address;
- and
- performing the TLB shootdown using the determined mechanism;
- wherein the one or more second processing cores read the TLB flush information from system memory and flush the corresponding stale PTEs.
Dependencies are inferred from the claim text.