kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: sskkernelnewbie@gmail.com (Shashank Khasare)
To: kernelnewbies@lists.kernelnewbies.org
Subject: kernel_thread() causes segfault
Date: Tue, 22 Mar 2016 16:51:44 +0530	[thread overview]
Message-ID: <CAGwMyOAxpQJjR9LRDLCp-ZLgHqKPcaLuJwDWyowBMsHHs5sjug@mail.gmail.com> (raw)
In-Reply-To: <CAOsfsFL4-syi0szL81hKfMW2Ln4rCUEp9rf1O50aNJqb3rM3Tw@mail.gmail.com>

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 

  reply	other threads:[~2016-03-22 11:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-22 10:14 kernel_thread() causes segfault Manoj Nayak
2016-03-22 11:21 ` Shashank Khasare [this message]
2016-03-22 17:13   ` Valdis.Kletnieks at vt.edu
  -- strict thread matches above, loose matches on Subject: below --
2016-03-22 13:45 Manoj Nayak
2016-03-21  6:16 Shashank Khasare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAGwMyOAxpQJjR9LRDLCp-ZLgHqKPcaLuJwDWyowBMsHHs5sjug@mail.gmail.com \
    --to=sskkernelnewbie@gmail.com \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).