Messages in this thread | | | Date | Sun, 28 Jan 2007 16:17:00 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] mm: remove global locks from mm/highmem.c |
| |
* Christoph Hellwig <hch@infradead.org> wrote:
> On Sun, Jan 28, 2007 at 03:11:34PM +0100, Peter Zijlstra wrote: > > Eradicate global locks. > > > > - kmap_lock is removed by extensive use of atomic_t, a new flush > > scheme and modifying set_page_address to only allow NULL<->virt > > transitions. > > What's the point for this? [...]
scalability. I did lock profiling on the -rt kernel, which exposes such things nicely. Half of the lock contention events during kernel compile were due to kmap(). (The system had 2 GB of RAM, so 40% lowmem, 60% highmem.)
> [...] In doubt we just need to convert that caller to kmap_atomic.
the pagecache ones cannot be converted to kmap_atomic, because we can block while holding them. Plus kmap_atomic is quite a bit slower than this scalable version of kmap().
Ingo
ps. please fix your mailer to not emit Mail-Followup-To headers. In Mutt you can do this via "set followup_to=no" in your .muttrc. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |