This series is a variant of Linus's jiffies based caching approach in the: "get_vmalloc_info() and /proc/meminfo insanely expensive" thread on lkml. The idea is to track modifications to the vmalloc list by wrapping the lock/unlock primitives, and to put a flag next to the spinlock. If the spinlock is taken then it's cheap to modify this flag, and if it has not been taken (the cached case) it will be a read-mostly variable for every CPU in essence. It seems to work for me, but it's only very (very!) lightly tested. Would something like this be acceptable (and is it correct)? Thanks, Ingo Ingo Molnar (3): mm/vmalloc: Abstract out vmap_area_lock lock/unlock operations mm/vmalloc: Track vmalloc info changes mm/vmalloc: Cache the vmalloc memory info mm/vmalloc.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 57 insertions(+), 25 deletions(-) -- 2.1.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>