tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: amd64: svs



Le 08/01/2018 à 07:33, maya%netbsd.org@localhost a écrit :
#if defined(XEN)
                 pmap_tlb_shootnow();
#endif

does that need to be defined(XEN) || defined(SVS) now?

Actually I didn't understand why XEN had this #ifdef in the first place.

As far as SVS is concerned, it is not needed: each time an L4 slot is added
(pmap_get_ptp) or removed (pmap_free_ptp), SVS only applies the change in the
user page tables.

The TLB is then flushed as usual: the slots that are stale in the pmap page
tables are also stale in the user page tables, so the flush has the same effect
regardless of whether the CPU is executing in userland or in the kernel.

There are possible optimizations, like not sending TLB-flush IPIs to CPUs that
are known to have performed a kernel<->user transition between the time when a
page got removed from the page tables and the time we decided to flush the TLB
as a result.

(does lots of that need to be domU || SVS?)

No.

Maxime


Home | Main Index | Thread Index | Old Index