kernel_thread() causes segfault

Shashank Khasare sskkernelnewbie at gmail.com
Tue Mar 22 07:21:44 EDT 2016


I am trying to implement ideas mentioned in the following OSDI paper:
L. Soares and M. Stumm. FlexSC: flexible system call scheduling with
exception-less system calls. In Proc. OSDI, 2010.
http://www.cs.cmu.edu/~chensm/Big_Data_reading_group/papers/flexsc-osdi10.pdf

The paper propose a new mechanism for applications to make syscall.
The brief idea is to have two types of threads 1) User thread 2) Kernel
Thread.
These two threads share same address space, file descriptor tables, parent
pid etc.
Whenever user thread wants to make syscall, it would post the information
about syscall number & arguments
to syscall in common shared page. User thread would then wait till the
results are posted on shared page.
The kernel thread reads the syscall arguments from shared page and writes
the results to shared page.
User thread consumes the results and continues execution.
Since the kernel thread and user thread can be scheduled on different cpu
cores, and user thread is ideally never executing
kernel code and vice versa, one can expect gain in instruction per cycle
for application, since the cache pollution is reduced to
some extent*.*

So to implement this mechanism, it is important for the user and kernel
thread to share address space, fd tables etc.
kernel_thread() works fine with older kernels to achieve this task, but is
no longer an option.

Is there of any mechanism for sharing fd tables as well?
Please let me know.

Thanks a lot,
Shashank
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20160322/1bdf0577/attachment.html 


More information about the Kernelnewbies mailing list