User: Password:
Subscribe / Log in / New account

Warning: user space programmer opinion ahead!

Warning: user space programmer opinion ahead!

Posted Jan 20, 2013 6:29 UTC (Sun) by Fowl (subscriber, #65667)
Parent article: Deadlocking the system with asynchronous functions

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 request_module_async()?).

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.

(Log in to post comments)

Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds