David McDaniel wrote:
Being insufficiently familiar with kernel goings-on, I've yet to find the
answer to what someone more familiar may know off the top of the head.
Are the TLB contents saved and restored across context switches? Or are they
simply invalidated and lazily restored upon thread resumption? Or something
altogether different.
If your interested enough to read this far, the reason for the question is
that a certain application randomly accesses a fairly large dataset that
consists of a number of memory mapped files. It's performance suffers from
(among other things) high DTLB miss rates. So, in addition to leveraging large
pages in some cases, I had a couple of other ideas which are sort of
client-server-ish but imply context switching. So if the TLBs are not saved and
restored that can only make the problem worse and I wont waste my time going
down that road.
Which CPU architecture?
The kernel doesn't do any save/restore of the TLB. On x86/AMD I'm not
aware of any way to do this; on SPARC the ASIs that would allow it are
slower than molasses in a Canadian winter so there would be a big downside
for a potentially zero upside.
- Eric
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org