From mboxrd@z Thu Jan 1 00:00:00 1970 From: greg@kroah.com (Greg KH) Date: Sun, 19 Nov 2017 10:50:21 +0100 Subject: Invoking a system call from within the kernel In-Reply-To: <20171118190931.GA9566@localhost.hsd1.tn.comcast.net> References: <20171116021635.GA15260@localhost.hsd1.tn.comcast.net> <20171116095424.GA32731@kroah.com> <20171118181527.GA367@localhost.hsd1.tn.comcast.net> <93703.1511030684@turing-police.cc.vt.edu> <20171118190931.GA9566@localhost.hsd1.tn.comcast.net> Message-ID: <20171119095021.GA20058@kroah.com> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org 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. greg k-h