Re: In-kernel tasks

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

 



On Fri, Nov 04, 2005 at 11:13:29 +0100, Oliver Korpilla wrote:
> Hello!
> 
> I'm working on embedded projects, and am currently putting some of the 
> more performance-critical stuff into kernel space.
> 
> I did just wonder: Is there anything resembling a Linux process/thread 
> or a VxWorks task in kernel space? Or this way round: Are there 
> schedulable entities with priority able to run a function I supply.

There is nothing *LIKE* process/thread in kernel space. Process/thread
*DO* run kernel code.

 a) Every task (process/thread -- schedulable entity) sometimes runs in
    kernel space -- when executing a syscall.
 b) There is nothing saying they ever have to return to userland.
 c) There is even nothing saying that a task must have a userland.
    Indeed, it does not.
 d) "kernel threads", as they are called are created by call
    kernel_thread (from inside kernel, usually module init function). It
    takes a function to execute as an argument.

Additionally there are the tasklets, that you can use to schedule
_short_ function to run when possible.

> It's important that there no such constraints like "only one per cpu" or 
> "one in the whole system".

There is no such constraint. There can be many kernel tasks and they
will be scheduled on whichever CPU is available.

--
						 Jan 'Bulb' Hudec <bulb@xxxxxx>

Attachment: signature.asc
Description: Digital signature


[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