This series reduces memory usage for repairing a 97 million inode filesystem for ~7.3 GB to ~5.3 (that is the resident set, virtual memory requirements are about 300MB higher for both). The main change is linking against the tcmalloc library from the Google perftools, with uses more efficient data structures, and is able to garbage collect freed memory from the per-thread queues. At least for xfs_repair it doesn't scale noticably better than ptmalloc, as the final runtime is only minimally faster, and probably not significant. Given that xfs_repair generally is I/O bound that is to be expected, though. I'd love to build with tcmalloc by default instead of requiring the ./configure opt-in, but I'm missing the autoconf-foo to not break the build in case it isn't present. The same applies to using the libtcmalloc_minimal variant that doesn't include some of the debugging infrastructure - if anyone has the autoconf foo to use it alternatively it would be great to also offer it. The two preceding patches just remove some useless internal freelist and make sure we actuall return memory to the system pool. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs