Jun Sun wrote:
On Thu, Aug 14, 2003 at 12:17:52PM +0300, Sirotkin, Alexander wrote:
I suspect that what happens is as follows :
system call arrives and while it's being processed and interrupt to one
of the drivers arrives. This interrupt
schedules a tasklet which however is not executed after the system call
finishes,
The tasklet should be executed at the return of interrupt handling.
If not, there is a bug.
I have a feeling that we are going in circles. Tasklets are executed at
the return of interrupt handler.
However, I suspect that this is not enough. On mips (contrary to x86),
system call is NOT an interrupt.
It's a different exception with different handler. Therefore I suspect
that tasklets are NOT called at
the end of system call exception handler (which is a different handler,
not do_IRQ).
only after the next timer
interrupt which causes up to 10 ms latency (not all the time, only when
somebody makes a system call).
BTW, make sure tasklet_schedule() is indeed called in an interrupt handler.
I am not sure why will happen otherwise.
If you suspect it is a bug, you can easily trace them. You may my
little tracing tool useful,
I can try to trace it, I just wanted to ensure that what I was saying
makes sense. See above.
http://linux.junsun.net/patches/generic/experimental/030716.a-jstrace.patch
Jun
--
Alexander Sirotkin
SW Engineer
Texas Instruments
Broadband Communications Israel (BCIL)
Tel: +972-9-9706587
________________________________________________________________________
"Those who do not understand Unix are condemned to reinvent it, poorly."
-- Henry Spencer
|
|