perform varying number of small IPC operations. It runs using a single
process and one thread, a single process and two threads, and using
multiple processes. Critical to its performance measure are the cost and
frequency of context switches, locking overhead, and threading
performance. The benchmark generates .csv output appropriate for reading
into a spreadsheet to generate summary statistics and perform statistical
tests easily.
of struct uma_zone. It is declared as an array of size [1], but then
sized at run-time by UMA to include room for mp_maxid+1 CPUs. We have to
copy the uma_zone first at the declared structure size, then check to make
sure it's not an internal zone before copying the larger size (UMA
internal zones don't use per-CPU caches). This fixes umastat for SMP.
the keg/zone lists, summarizing cache state, and walking bucket lists in
each zone. I seem to get inconsistent results on SMP, possibly due to
local header problems, but it seems to work quite well on UP. This tool
requires sufficient privilege to read /dev/mem (or a core dump), and is
for debugging purposes rather than administrative monitoring purposes
(use vmstat instead).
o Change the result of gctl(001) now that a bogus verb still requires
a valid geom,
o Insert gctl(024) to test for an appropriate error when a bogus verb
is given that does have a proper geom parameter.
whole name. This does not unnecessarily close the door that in some
future we want to test on something other than md(4) devices.
Also add a "conf" action so that we can check whether a gctl actually
did the right thing or not. It's one thing to check that the result
strings are as expected, but it doesn't tell us if the end result is
correct. This needs a bit more fleshing out, but for now a visual
(i.e. manual) check suffices.
tool:
- Use uname(3) to query the OS name to report in the HTTP headers.
This is probably more useful than hard-coding FreeBSD.
- If no path is specified, create a 1k temporary file and send that
instead. Pass a file descriptor into http_serve() rather than using
a global fd.
- Add more carriage returns to the HTTP headers to be a bit more
correct. (Suggested by: andre)
- Read to a buffer rather than a single character to reduce the number
of recv() system calls pulling in the HTTP request.
- Properly wait for two, not one, \n's on input.