On Thu, 10 Apr 2014 12:40:58 -0400 Richard Yao <ryao@xxxxxxxxxx> wrote: > Performance analysis of software compilation by Gentoo portage on an > Intel E5-2620 with 64GB of RAM revealed that a sizeable amount of time, > anywhere from 5% to 15%, was spent in get_vmalloc_info(), with at least > 40% of that time spent in the _raw_spin_lock() invoked by it. This means that something in userspace is beating the crap out of /proc/meminfo. What is it and why is it doing this? /proc/meminfo reads a large amount of stuff and gathering it will always be expensive. I don't think we really want to be doing significant work and adding significant complexity to optimize meminfo. If there really is a legitimate need to be reading meminfo with this frequency then it would be pretty simple to optimise get_vmalloc_info(): all it does is to return two ulongs and we could maintain those at vmalloc/vfree time rather than doing the big list walk. If we can address these things then the vmap_area_lock problem should just go away - the kernel shouldn't be calling vmalloc/vfree at high frequency, especially during a compilation workload. -- 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>