Now
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.2245
/
diff
/
nxr@1.2245
src/distrib/sets/lists/tests/mi@1.799 / diff / nxr@1.799
src/distrib/sets/lists/tests/module.mi@1.14 / diff / nxr@1.14
src/share/man/man9/Makefile@1.434 / diff / nxr@1.434
src/share/man/man9/threadpool.9@1.1 / diff / nxr@1.1
src/sys/kern/files.kern@1.29 / diff / nxr@1.29
src/sys/kern/kern_threadpool.c@1.1 / diff / nxr@1.1
src/sys/rump/librump/rumpkern/Makefile.rumpkern@1.173 / diff / nxr@1.173
src/sys/sys/param.h@1.574 / diff / nxr@1.574
src/sys/sys/threadpool.h@1.1 / diff / nxr@1.1
src/tests/kernel/Makefile@1.55 / diff / nxr@1.55
src/tests/kernel/t_threadpool.sh@1.1 / diff / nxr@1.1
src/tests/kernel/threadpool_tester/Makefile@1.1 / diff / nxr@1.1
src/tests/kernel/threadpool_tester/threadpool_tester.c@1.1 / diff / nxr@1.1
src/distrib/sets/lists/tests/mi@1.799 / diff / nxr@1.799
src/distrib/sets/lists/tests/module.mi@1.14 / diff / nxr@1.14
src/share/man/man9/Makefile@1.434 / diff / nxr@1.434
src/share/man/man9/threadpool.9@1.1 / diff / nxr@1.1
src/sys/kern/files.kern@1.29 / diff / nxr@1.29
src/sys/kern/kern_threadpool.c@1.1 / diff / nxr@1.1
src/sys/rump/librump/rumpkern/Makefile.rumpkern@1.173 / diff / nxr@1.173
src/sys/sys/param.h@1.574 / diff / nxr@1.574
src/sys/sys/threadpool.h@1.1 / diff / nxr@1.1
src/tests/kernel/Makefile@1.55 / diff / nxr@1.55
src/tests/kernel/t_threadpool.sh@1.1 / diff / nxr@1.1
src/tests/kernel/threadpool_tester/Makefile@1.1 / diff / nxr@1.1
src/tests/kernel/threadpool_tester/threadpool_tester.c@1.1 / diff / nxr@1.1
Add threadpool(9), an abstraction that provides shared pools of kernel
threads running at specific priorities, with support for unbound pools
and per-cpu pools.
Written by riastradh@, and based on the May 2014 draft, with a few changes
by me:
- Working on the assumption that a relative few priorities will actually
be used, reduce the memory footprint by using linked lists, rather than
2 large (and mostly empty) tables. The performance impact is essentially
nil, since these lists are consulted only when pools are created (and
destroyed, for DIAGNOSTIC checks), and the lists will have at most 225
entries.
- Make threadpool job object, which the caller must allocate storage for,
really opaque.
- Use typedefs for the threadpool types, to reduce the verbosity of the
API somewhat.
- Fix a bunch of pool / worker thread / job object lifecycle bugs.
Also include an ATF unit test, written by me, that exercises the basics
of the API by loading a kernel module that exposes several sysctls that
allow the ATF test script to create and destroy threadpools, schedule a
basic job, and verify that it ran.
And thus NetBSD 8.99.29 has arrived.
threads running at specific priorities, with support for unbound pools
and per-cpu pools.
Written by riastradh@, and based on the May 2014 draft, with a few changes
by me:
- Working on the assumption that a relative few priorities will actually
be used, reduce the memory footprint by using linked lists, rather than
2 large (and mostly empty) tables. The performance impact is essentially
nil, since these lists are consulted only when pools are created (and
destroyed, for DIAGNOSTIC checks), and the lists will have at most 225
entries.
- Make threadpool job object, which the caller must allocate storage for,
really opaque.
- Use typedefs for the threadpool types, to reduce the verbosity of the
API somewhat.
- Fix a bunch of pool / worker thread / job object lifecycle bugs.
Also include an ATF unit test, written by me, that exercises the basics
of the API by loading a kernel module that exposes several sysctls that
allow the ATF test script to create and destroy threadpools, schedule a
basic job, and verify that it ran.
And thus NetBSD 8.99.29 has arrived.