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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/