>>>>> On Wed, 26 Nov 2003 09:43:01 -0600, Jack Steiner <steiner@sgi.com> said: Jack> The SGI NUMA platform does not use the hardware "ptc" instruction Jack> to flush TLBs. Instead, it has to write an MMR on the chipset on each Jack> node to cause a TLB flush transaction to be placed on the bus. On Jack> large systems, the overhead to broadcast the TLB flush to every node Jack> in the system is one of the hot spots in the kernel. Jack> In most cases, the TLB context being flushed has been loaded into Jack> a small subset of the nodes. Flushing every node is unnecessary. Jack> I'm looking for suggestions on the best way to limit TLB flushing so Jack> that only the necessary nodes are flushed. Here is patch that Jack> I believe will work. I added a bitmask to the mm_context_t to Jack> track nodes where the context has been loaded. The TLB flush routine Jack> issues the TLB flush requests only to these nodes. Jack> Are there other/better ways that I can do this?? Why not use mm->cpu_vm_mask? It will give you CPU instead of node-granularity, but if you really want nodes instead, you can do the mapping in the NUMA-specific code. --david - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Mon Dec 1 16:45:27 2003
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:20 EST