[PATCH v4 0/3] kmod: help make deterministic

From: Luis R. Rodriguez
Date: Wed Jun 28 2017 - 18:32:17 EST


Andrew,

I'm submitting the last few patches of my kmod series through your tree and as
suggested by Jessica I am picking up maintenance on kmod. These last changes
can either wait until the next release or can be merged now provided someone
reviews the kmod test driver and the merge conflict is addressed with Jessica's
tree with the kmod patch she picked up.

This v4 moves back again from swait to regular waitqueue as suggested generally
by Linus as swait is very specialized [0], and it also drops two patches picked
up by Jessica. Jessica picked the following two patches visible on linux-next
tag next-20170628 as follows:

165d1cc0074b kmod: reduce atomic operations on kmod_concurrent and simplify
93437353daef module: use list_for_each_entry_rcu() on find_module_all()

FWIW, the swait --> wait change proved to just help speed up tests only
marginally, even over a spread of tests these results were generally
consistent. Figured some peformance folks might be interested in that tidbit,
should they wish to go play.

With wait:

time ./kmod.sh -t 0008
real 0m16.366s
user 0m0.883s
sys 0m8.916s

time ./kmod.sh -t 0009
real 0m50.803s
user 0m0.791s
sys 0m9.852s

With swait:

time ./kmod.sh -t 0008
real 0m16.523s
user 0m0.879s
sys 0m8.977s

time ./kmod.sh -t 0009
real 0m51.258s
user 0m0.812s
sys 0m10.133s

If anyone wants these in a git tree you can check out the 20170628-kmod-only
branch from my linux-next tree [1], based on next-20170628. If there are any
questions or issues please let me know.

[0] https://marc.info/?l=linux-kernel&m=149851347228696&w=2
[1] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20170628-kmod-only

Luis R. Rodriguez (3):
MAINTAINERS: give kmod some maintainer love
kmod: add test driver to stress test the module loader
kmod: throttle kmod thread limit

MAINTAINERS | 9 +
kernel/kmod.c | 16 +-
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, 1921 insertions(+), 9 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