Invoking a system call from within the kernel
greg at kroah.com
Sun Nov 19 04:50:21 EST 2017
On Sat, Nov 18, 2017 at 02:09:31PM -0500, Demi Marie Obenour wrote:
> Async system calls move the thread pool to the kernel. The kernel has
> system-wide information and perform optimizations regarding e.g.
> scheduling and threadpool size that userspace cannot. Furthermore,
> the kernel threadpool threads have no userspace counterparts, so they
> avoid requiring a userspace stack or other data structures.
But they are not "free", you have to handle all of that within the
kernel now. In a way to properly account for all resources and
contraints that is needed in order to correctly manage such logic.
> There was a previous attempt to implement async system calls using the
> AIO interface. Linus rejected it on the basis that an async system call
> API should be more general.
Yes, please go look at those previous attempts and learn from why they
failed if you wish to try to attempt this again. Don't ignore history :)
Best of luck, it should be some fun work.
More information about the Kernelnewbies