Hi,
Inspired by your advice , I have changed the method of preventing
the module
from being unloaded while "intrpt_routine" is still in the task queue.Now it
can freely
"insmod" and "rmmod" in my linux(2.4.18-3,not on mips) at any time.But
unfortunatlly,
When I port it to mips_linux, it get some errors as you can see in my mail to
linux-mips@linux-mips.org . It confuses me .Why? And what should I MUST pay
attention to
or what should I MUST learn if I I want to implement schedualing a function to
be called
on every timer interrupt.
Thank you again and eagering your enthusiastic again!
======= 2003-09-16 13:17:00 WROTE:=======
>Guangxing Zhang wrote:
>
>>Hi, Fuxin Zhang
>>
>>
>>
>>>for any warnings. BTW, I don't the method you used to cleanup is safe,
>>>there maybe a task queued but not executed at the time you
>>>'rmmod',doesn't it?
>>>
>>>
>>Yes ,in http://www.faqs.org/docs/kernel/x1145.html#AEN1201 , it mentions the
>>situation as you said.And just to overcoming it ,it use the sleep_on().But as
>>you
>>see, now it can not "rmmod" correctly and my linux will broke.
>>
>>As a newbie to kernel module ,I am not sure why and not know how to scheduale
>>a
>>function to be called on every timer interrupt or every seconds in kernle
>>module.
>>Eagering your help!
>>
>>
>>>>interrupt
>>>>
>>>>
>
>Most ethernet adapter driver(e.g. drivers/net/eepro100.c) use timer,you
>can check them for examples.
>
>
>Have you check the sleep_on and wakeup routine's argument type? They
>should be wait_queue_head_t *
>for recent kernels?
= = = = = = = = = = = = = = = = = = = =
Guangxing Zhang
guangxing@ict.ac.cn
2003-09-16
|