The whole existence of
async_synchronize_full() seems like a hack to me - a new "BKL" even. You should only be synchronizing on the tasks that you actually created/depend on - this performs better and makes deadlocks much easier to detect. Either module loading is asynchronous or it isn't.
request_module() should block until the module is actually loaded/inited, or return something that can be waited upon/polled. (maybe call it
Many languages/libraries have this kind of async handling as "tasks", "futures" or "promises" - maybe the kernel needs a more fully fleshed out framework for these kind of operations, which are only going to get more common.
Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds