lmbench This is a "new idea,implementation and evaluation" paper. The designers of lmbench have used a simple principle: a system whose basic bulding blocks do not function well cannot work well overall. Application of this principle makes lmbench a useful testing tool for system developers and a valuable benchmark suite for potential system users. This is not to say that a suite of microbenchmarks alone is enough to evaluate the system, but it can be very helpful when results of macrobenchmarks are untrustworthy or complicated. lmbench has been carefully designed: the issues of sizing the benchmark, compile time issues and multiprocessor issues have been considered. The tests are very easy to interpret: For example the memory bandwidth test reports results from simple memory reads along with performance of bcopy - a routine very commonly used in the system. The presence of these simpler tests makes it easy to predict the expected behavior and detect anomalies. The goal of lmbench was to target the basic building blocks of the system. The important question to answer, therefore, is whether the lmbench designers have correctly and completely identified these basic building blocks. In my opinion, the lmbench could be improved if it did the following: 1. Many tests measure performance of software and hardware together, while it would be nice to see pure software overhead. lmbench results for several OS's running on the same hardware could help to isolate the overhead of the software. 2. Virtual memory is used so much in systems nowadays that it could be considered as a system's basic building block. It would be interesting to measure the vm system overhead. Overall, the paper is very well written, clear and easy to follow and provides significant contribution to research community.