Manual Reference Pages - TLB (8)
tlb - TLB size and latency benchmark
-L <line size> ]
-M <len> ]
-W <warmups> ]
-N <repetitions> ]
tlb tries to determine the size, in pages, of the TLB.
The largest amount of memory it will examine is
tlb compares the memory latency for two different pointer chains.
The two chains occupy the same amount of cache space, but they stress
the memory subsystem differently. The first chain accesses one word
per page, while the second chain
randomly jumps through all the lines on a page before jumping to the
next page. When all of the pointers reside in the cache (which is the
usual case), and all of the pages for the first chain reside in the
TLB, then the average memory latencies should be identical. Assuming
there is a fixed size TLB, then at some point the number of pages
accessed by the first page will be larger than the TLB. At this point
the average latency for each memory access for the first chain will be
a cache hit plus some fraction of a TLB miss.
Once the TLB boundary is located
tlb reports the TLB miss latency as the TLB latency for twice as many
pages as the TLB can hold.
tlb is an experimental benchmark, but it seems to work well on most
systems. However, if a processor has a TLB hierarchy
tlb only finds the top level TLB.
lmbench(8), line(8), cache(8), par_mem(8).
Carl Staelin and Larry McVoy
Comments, suggestions, and bug reports are always welcome.
|(c)2000 Carl Staelin and Larry McVoy ||TLB (8) ||$Date$ |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.