On Thu, 10 Apr 2014 12:40:58 -0400 Richard Yao <[email protected]> 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

