Re: kernel_thread() causes segfault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux