[PATCH v3 0/4] kmod: help make deterministic

Luis R. Rodriguez
2017-05-27T01:16:20Z

This v3 nukes the proc sysctl interface in favor for just letting userspace
just check kernel revision. Prior to whenever this is merged userspace should
try to avoid hammering more than 50 kmod threads as they can fail and it'd
get -ENOMEM.

We do away with the old heuristics on assuming you could end up with
less than max_threads/2 < 50 threads as Dmitry notes this would mean having
a system with 16 MiB of RAM with modules enabled. It simplifies our patch
"kmod: reduce atomic operations on kmod_concurrent" considerbly.

Since the sysctl interface is gone, this no longer depends on any
other patches, the series is independent. As usual the series is
available on my linux-next 20170526-kmod-only branch which is based
on next-20170526.

[0] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20170526-kmod-only

Luis

Luis R. Rodriguez (4):
module: use list_for_each_entry_rcu() on find_module_all()
kmod: reduce atomic operations on kmod_concurrent and simplify
kmod: add test driver to stress test the module loader
kmod: throttle kmod thread limit

kernel/kmod.c | 55 +-
kernel/module.c | 2 +-
lib/Kconfig.debug | 25 +
lib/Makefile | 1 +
lib/test_kmod.c | 1246 +++++++++++++++++++++++++++++++++
tools/testing/selftests/kmod/Makefile | 11 +
tools/testing/selftests/kmod/config | 7 +
tools/testing/selftests/kmod/kmod.sh | 615 ++++++++++++++++
8 files changed, 1930 insertions(+), 32 deletions(-)
create mode 100644 lib/test_kmod.c
create mode 100644 tools/testing/selftests/kmod/Makefile
create mode 100644 tools/testing/selftests/kmod/config
create mode 100755 tools/testing/selftests/kmod/kmod.sh

--
2.11.0