On Thu, 2004-09-02 at 02:43, Christoph Lameter wrote: > This would limit the time that the page_table_lock is held to a minimum > and may still offer some of the performance improvements. > > Would that be acceptable? Not sure... You probably want to have the set_pte and the later flush_* in the same lock to maintain expected semantics with those platforms... It's not that a simple issue. I have ways to do sort-of lock-less by using my PAGE_BUSY lock bit in the PTE instead on ppc64 and I think doing that properly would result in almost no overhead over what we have now, so I'm still interested. ppc32 would have to take a global spinlock, but that's fine as we aren't looking for scalability on this arch. So while I like your idea, I think it needs a bit more thinking & work on some platforms. David wrote about potential issues on sparc64, and I wonder if it would be worth re-thinking some of the pte invalidation semantics a bit (pushing more logic into set-pte, that is making it higher level, rather than having the common code split changing of PTEs and invalidations, with eventually some beign/end semantics for batches) BTW. We should get David's patch in first thing before tackling with this complicated issue (the one adding mm & addr to set_pte & friends). Ben. - 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 Wed Sep 1 19:37:41 2004
This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:30 EST