Queue task

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

 



Hi

I have some questions about kernel programming, i hope i'll find here
an approprite help. Thank you

I would like to implement some kind of soft real-time system. It has
own time scheduler with own timetable and it executes events
step-by-step at certain time. Now it works like this: there is an
infinite loop,on every iteration the clock timer is checked and if
event is scheduled for this time period, it executes.

The first question is: Can I use an internal linux scheduler (in 2.6)
instead of using this infinite loop? I would like that kernel will
care about execution of specified task  at specified time by himself.
For example like this: when time point comes, the kernel  wake up my
application, gives them execution control and after execution my
application will sleep until next event.

Of cource, realtime systems (like RTLinux and rtoi)can be used
instead, but i really don't need them - their perfomance slower and
they are hard real-time (it means that missing an event is a
failure)... I realy don't need so serious stuff. And also i have only
one "Real-Time" thread. How do it best?

Also this "pseudo" realtime system should react very fast (i prefer
immidiatly :) )for incoming network packets. i've changed network
driver to send a signal to userspace application when packet arrived
to the interface. And i want to do it very fast. So, my next question
is : How can kernel driver inform userspace application the fastest
way? Now i use only signals (SIGUSR1 and SIGUSR2), it's good enoung,
but i want more :)

And third question: What is the fastest way to communicate between
kernel and userspace? Now i use ioctl (via special device file, e.g.
/dev/mydevice), but i think that communication through system calls
can be a little bit faster. Is it true?

Thank you for you understanding and any corresponding help.
Sergey Semionov

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[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