Kernel thread, tasklet, taskqueue, bottom half
From: parrell (parrell_at_baubau.com)
Date: 05/31/04
- Next message: Alexander Sirotkin: "Re: /proc wrapper (library)"
- Previous message: vishal: "Re: Mapping kernel virtual address to user virtual address"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 30 May 2004 20:53:04 -0700
I am writing L2/L3 interaction module program.(kernel version is 2.4.20)
In that program, when user excutes a IOCTL, L2 module calls L3's callback
function via kernel thread that adds a IPv6 address in the network interface.
Situation is like this
in l2.o -----------------------------
int call(void *data)
{
...
l3_callback();
...
}
l2_ioctl()
{
...
case MYV6ADDADDR:
...
kernel_thread(call, my_data, 0);
...
break;
...
}
--------------------------- l2.o ----
in l3.o -----------------------------
callback implementation in l3.o
callback_impl()
{
my_add_v6addr();
}
-------------------------------------
Anyway, kernel threads excute well, so a new IPv6 address added in my interface.
BUT, I WANNA KNOW is that there is another way to perform such task without
kernel thread. (tasklet, taskqueue..., I've tried to use tasklet, but failed)
- Next message: Alexander Sirotkin: "Re: /proc wrapper (library)"
- Previous message: vishal: "Re: Mapping kernel virtual address to user virtual address"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]