Hi all --

I'm new to Solaris and am trying to understand how the kernel handles TLB 
misses. From reading the manuals, I gather that instruction and data TLB misses 
cause an interrupt to the OS. Thereafter, the miss handler uses the MMU Tag 
Register and TSB pointer register to search for the required translation table 
entry in the TSB.

I'm wondering how TSB accesses are monitored for multithreaded programs running 
on multicore machines. Suppose that in a 2-core system, a parallel program's 
workload is split into two threads, each executing on one core. If both cores 
experience TLB misses around the same time, can they access the TSB 
simultaneously (they would eventually need to access the same TSB since their 
PIDs are the same) ? Or is the TSB locked by whichever core misses first, 
serializing lookup?

Thanks in advance!
A.B.
-- 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to