History log of /dragonfly/test/sysperf/loop900k.c (Results 1 – 1 of 1)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1
# b5daedd4 14-Aug-2017 Matthew Dillon <dillon@apollo.backplane.com>

test - Add various 900,000 process tests

Add tests involving a large number of user processes. These tests default
to creating 900,000 user processes and require a machine with at least
128GB of ra

test - Add various 900,000 process tests

Add tests involving a large number of user processes. These tests default
to creating 900,000 user processes and require a machine with at least
128GB 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 of
processes. scheduler, pipe kvm, concurrent fork and exec, general kernel
handling 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 stabilize
once all 900,000 processes have forked. Fork speed will depend on numerous
factors but should scale fairly well with cpu threads. Initial forking
usually takes around 30 seconds. When you ^C, the machine may take upwards
of 10 seconds for basic teardown, and will continue clean up additional memory
and exit handling for the next 60 seconds or so.

Machine should stay responsive through all stages in all tests except for
a few seconds just after hitting ^C.

show more ...