On Saturday 26 April 2008 04:13, Jeremy Fitzhardinge wrote: > Linus Torvalds wrote: > > With each invocation being thousands of instructions and a cross-CPU IPI > > for the tlb flush, that kind of stuff adds up. We're likely talking real > > fractions of a second, rather than milliseconds. > > Doesn't vunmap batch the cross-CPU tlb flushes to amortize the cost? > Hm, no, it doesn't seem to. Oh, right, it was one of Nick's TBDs. Yeah and I do have patches... posted a few months ago IIRC. I forget offhand the exact details of the batching, but yes it should batch this case of Linus's. I think I set it to batch 1024 vunmaps or xxxxKB per IPI flush. With those patches it basically removed IPI flushing completely from profiles of vmap intensive workloads. The problem with vmap (outside this particular issue of text poking, which should be single-threaded anyway), really is that it is a single threaded allocator. The locking actually ends up hurting much more than the IPIs for non-trivial uses of vmap (like xfs with directories larger than PAGE_SIZE). Fortunately I have patches for that too ;) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html