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