On Tue, Feb 17, 2004 at 10:08:52AM -0800, David S. Miller wrote: > On Tue, 17 Feb 2004 17:22:14 +0100 > Manfred Spraul wrote: > > > >+ * we want a new context here. This eliminates TLB > > >+ * flushes on the cpus where the process executed prior to > > >+ * the migration. > > >+ */ > > >+ flush_tlb_mm(current->mm); > ... > > I think flush_tlb_mm() is the wrong function - e.g. for i386, it's a > > wasted flush, because i386 disconnects previous cpus from the tlb flush > > automatically. > > And it's always the wrong thing if you've migrated one thread of a task > > that runs on multiple cpus. I think you need a new hook. > > Yes, you're probably right. Just name it tlb_migrate_prepare(mm) or > something like that. > > I think most if not all non-x86 platforms will define this straight > to flush_tlb_mm(). Here's an updated patch that creates the new wrapper. I only changed ia64 to call flush_tlb_mm() because I'm a little wary about assuming that all non-x86 arches want this. Boot tested on ia64, compile tested on x86. mh -- Martin Hicks Wild Open Source Inc. mort@wildopensource.com 613-266-2296