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
