Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
svs: pcid support
Here is a patch [1] that implements PCID support in SVS. Basically with PCID we
can avoid flushing the TLB on each syscall/exception/interrupt from userland;
this greatly reduces the performance penalty introduced by SVS.
We give the "kernel" page tables ASID=0, and the "user" ones ASID=1. We modify
the CR3 values to tell the CPU not to flush the TLB. Then we use invpcid in
tlbflush() and invlpg(), to flush the pages in both ASID=0 and ASID=1.
The read-only machdep.svs.pcid={0,1} sysctl is added.
I intend to commit it soon.
[1] https://m00nbsd.net/garbage/svs/pcid.diff
Home |
Main Index |
Thread Index |
Old Index