Use ${} instead of $() in various makefilesAlso use ${.TARGET} and ${.ALLSRC] wherever impossible.Minor style adjustment in at(1)'s makefiles.
kernel - Refactor copyinstr and copystr* Replace lodsb/stosb sequence with discrete mov's. Remove related xchgq and cld.Suggested-by: mjg
test - Add lockmgr1, lockmgr2, lockmgr3 tests* Add tests which perform various system calls intended to exercise lockmgr() locks.* Generally shows a roughly 40% improvement in SMP performance
test - Add lockmgr1, lockmgr2, lockmgr3 tests* Add tests which perform various system calls intended to exercise lockmgr() locks.* Generally shows a roughly 40% improvement in SMP performance from the recent lockmgr changes when shared locks have high collision rates.
show more ...
test - Cleanup pipe2* Cleanup the pipe2 code a bit
test - Add various 900,000 process tests (2)* Connect tests to Makefile
test - Add various 900,000 process testsAdd tests involving a large number of user processes. These tests defaultto creating 900,000 user processes and require a machine with at least128GB of ra
test - Add various 900,000 process testsAdd tests involving a large number of user processes. These tests defaultto creating 900,000 user processes and require a machine with at least128GB of ram. The machine must be booted with kern.maxproc=4000000 in/boot/loader.conf.These test kernel resource management in the face of a large number ofprocesses. scheduler, pipe kvm, concurrent fork and exec, general kernelhandling of large numbers of processes, callout, tsleep, and wakeup.Also concurrent teardown for 900,000 processes when you hit ^C.* loop900k - Fork/exec's 900,000 processes which sleep 80 seconds and then go into an infinite loop. Tests the scheduler and kernel resource management.* pipe900k - Fork/exec's 900,000 processes which chain 900,000 pipe()s between them and runs an end-to-end test. Tests pipe chaining, kernel pipe resource creation and teardown, and kernel resource management.* sleep900k - Fork/exec's 900,000 processes which sleep 60 seconds and then go into an infinite loop with a 1/10 second sleep. Tests callout / tsleep / wakeup, and kernel resource management.Generally speaking these programs require about 80 seconds to stabilizeonce all 900,000 processes have forked. Fork speed will depend on numerousfactors but should scale fairly well with cpu threads. Initial forkingusually takes around 30 seconds. When you ^C, the machine may take upwardsof 10 seconds for basic teardown, and will continue clean up additional memoryand exit handling for the next 60 seconds or so.Machine should stay responsive through all stages in all tests except fora few seconds just after hitting ^C.
test - Flesh out randread statistics reporting* Cleanup the output. Report the aggregate IOPS, average latency, aggregate bandwidth, low and high latencies, and the standard deviation for the
test - Flesh out randread statistics reporting* Cleanup the output. Report the aggregate IOPS, average latency, aggregate bandwidth, low and high latencies, and the standard deviation for the test on a per-second basis.* Standard deviation notes: 68% Of the samples are within 1 standard deviation, so if the reported stddev is 7uS, then 68% of the samples are +/- 7uS of the average reported value. 95.45% Of the samples are within 2 standard deviations. +/- 14uS in the example. 99.73% Of the samples are within 3 standard deviations. +/- 21uS in the example.
kernel - Increase worst-case maximum exec rate* The pid reuse algorithm limits the maximum fork rate. This limit was set too low. Increase the limit from 10000/sec to 100000/sec. Currently ou
kernel - Increase worst-case maximum exec rate* The pid reuse algorithm limits the maximum fork rate. This limit was set too low. Increase the limit from 10000/sec to 100000/sec. Currently our opteron maxes out at 43000/sec. Note that with 999999 pids and a 10-second mandatory reuse time floor there isn't much of a point increasing the limit beyond 100000/sec. 100,000/sec. Currently our opteron maxes out at around 43,000/sec (vfork/exec/wait3/exit of a small static binary).* The domain reuse array was increased to 1MB to accomodate this change. In addition, update the array in a cache-friendly manner.* Modify test/sysperf/exec1 to take a nprocesses argument for the timing run.
test - Adjust blib and sc1* convert loops to loops/sec, and add a parameter to syscall1.c to allow the number of threads to be specified.
test - Add umtx1 code* Add umtx1 code - fast context switch tests* Make blib.c thread-safe.
test - Fix build warnings* Fix build warnings in the pipe1 and pipe2 tests.
debug - fix randread* Fix randread when used with large > 2GB areas. random() was limiting the range.
sysperf/ipitest: Run latency tests on all available CPUs3 CPUs are too small even for 2-way configuration.
ipiq: Add simple IPI latency measure sysctls (2)* Add /usr/src/test/sysperf/ipitest test script.* Make adjustments to the sysctl latency code, remove unnecessary critical section and convert th
ipiq: Add simple IPI latency measure sysctls (2)* Add /usr/src/test/sysperf/ipitest test script.* Make adjustments to the sysctl latency code, remove unnecessary critical section and convert the result to nanoseconds.
sysperf - Adjust syscall tests* Remove getuid_msg.c, no longer used.* Adjust syscall1.c to be more verbose.* Refactor syscall2.c to test on all threads in a somewhat more sophisticated manner
sysperf - Adjust syscall tests* Remove getuid_msg.c, no longer used.* Adjust syscall1.c to be more verbose.* Refactor syscall2.c to test on all threads in a somewhat more sophisticated manner. The test expects the scheduler to move the threads to their own cpus (and it should).
Fix some printf()s.
Remove upc_{control,register} syscalls and everything that has to do with it.It's no longer used for anything.Requested-by: vsrinivasApproved-by: dillon
sysperf - Add tests for clock_gettime(CLOCK_*_FAST...) modes* Add tests for some of the new clock_gettime() modes.
test - Adjust randread to not share file descriptors* Close and reopen the device when randread fork()s so the physical file descriptor is not shared. The vnode will still be shared.* Works ar
test - Adjust randread to not share file descriptors* Close and reopen the device when randread fork()s so the physical file descriptor is not shared. The vnode will still be shared.* Works around a serialization issue when a file descriptor is shared.
tests - Adjustments to memcpy/memzero test* Remove assembly from these tests so they compile on x86-64.* Clean up some timing reporting issues.
test - Add random seek/read program* Add program which reads a random 512 byte block in a device or file with 32 concurrent accessors and displays the results.* make /tmp/rr1 from /usr/src/test
test - Add random seek/read program* Add program which reads a random 512 byte block in a device or file with 32 concurrent accessors and displays the results.* make /tmp/rr1 from /usr/src/test/sysperf
sysperf /call-loop test - Ensure the nop() call is not optimized out
rename amd64 architecture to x86_64The rest of the world seems to call amd64 x86_64. Bite the bullet andrename all of the architecture files and references. This willhopefully make pkgsrc build
rename amd64 architecture to x86_64The rest of the world seems to call amd64 x86_64. Bite the bullet andrename all of the architecture files and references. This willhopefully make pkgsrc builds less painful.Discussed-with: dillon@
Revert "rename amd64 architecture to x86_64"This reverts commit c1543a890188d397acca9fe7f76bcd982481a763.I'm reverting it because: 1) the change didn't get properly discussed 2) it was based on
Revert "rename amd64 architecture to x86_64"This reverts commit c1543a890188d397acca9fe7f76bcd982481a763.I'm reverting it because: 1) the change didn't get properly discussed 2) it was based on false premises: "The rest of the world seems to call amd64 x86_64." 3) no pkgsrc bulk build was done to test the change 4) the original committer acted irresponsibly by committing such a big change just before going on vacation.
123