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)