[PATCH v3 0/4] module: Merge same-name module load requests

From: Petr Pavlu
Date: Sun Oct 16 2022 - 08:31:21 EST


Changes since v2 [1]:
- Add kselftests to verify the expected behavior.
- Split a clean-up change to the module_mutex comment into a separate patch.
- Clarify a description of the main patch and mention that it fixes also
a recently reported problem with module vmap space allocation errors.
- Improve some code comments.

Changes since v1 [2]:
- Change the error returned by a duplicate load when the main insert
fails from -ENODEV to -EBUSY.
- Change the error returned by a duplicate load when a same-name module
is going from -EAGAIN to -EBUSY.
- Use a per-shared_load_info completion object to inform waiting loads
when the main one is done.
- Add a patch to correct wake up of module_wq.

[1] https://lore.kernel.org/linux-modules/20220919123233.8538-1-petr.pavlu@xxxxxxxx/
[2] https://lore.kernel.org/linux-modules/20220905084131.14567-1-petr.pavlu@xxxxxxxx/

Petr Pavlu (4):
module: Correct wake up of module_wq
module: Update a comment describing what is protected by module_mutex
module: Merge same-name module load requests
selftests: kmod: Add tests for merging same-name module load requests

kernel/module/main.c | 222 +++++++++++++-----
tools/testing/selftests/kmod/.gitignore | 1 +
tools/testing/selftests/kmod/Makefile | 17 +-
tools/testing/selftests/kmod/init_module.c | 49 ++++
tools/testing/selftests/kmod/kmod.sh | 139 +++++++++++
.../selftests/kmod/kmod_test_0014/Makefile | 14 ++
.../kmod/kmod_test_0014/kmod_test_0014.c | 29 +++
7 files changed, 402 insertions(+), 69 deletions(-)
create mode 100644 tools/testing/selftests/kmod/.gitignore
create mode 100644 tools/testing/selftests/kmod/init_module.c
create mode 100644 tools/testing/selftests/kmod/kmod_test_0014/Makefile
create mode 100644 tools/testing/selftests/kmod/kmod_test_0014/kmod_test_0014.c

--
2.35.3