Provided by: lmbench-doc_3.0-a9-1_all bug

NAME

       line - cache line size

SYNOPSIS

       line [ -M <len> ] [ -W <warmups> ] [ -N <repetitions> ]

DESCRIPTION

       line tries to determine the cache line size in bytes of the largest cache which is smaller
       than len bytes.

       line creates pointer chains which access the first word on  each  cache  line  on  a  page
       (randomly meandering through all the lines in a page before jumping to the next page).  It
       measures the average memory latency for a variety of line sizes, starting with a line size
       of  one  word.   When  it  finds  an increase in the average latency that is significantly
       larger than the latency for the smaller line size then it assumes that it  has  found  the
       line size.

       This  algorithm  works  because  for line sizes less than the true line size, at least two
       line cache lines fit in the space of a true cache line.  Since that  cache  line  will  be
       accessed  twice,  the  first  access  will cause an expensive cache miss, while the second
       access will be a cache hit.  Once the line cache line is equal  to  the  true  cache  line
       size, then all accesses will cause cache misses.

BUGS

       line is an experimental benchmark, but it seems to work well on most systems.

SEE ALSO

       lmbench(8), tlb(8), cache(8), par_mem(8).

AUTHOR

       Carl Staelin and Larry McVoy

       Comments, suggestions, and bug reports are always welcome.

(c)2000 Carl Staelin and Larry McVoy          $Date$                                      LINE(8)