Thread (1 message) 1 message, 1 author, 2001-08-19

Re: Task Queue Imediate Bottom Halfs question.

From: Ben Collins <hidden>
Date: 2001-08-19 23:18:10

On Sun, Aug 19, 2001 at 03:38:38PM -0700, Ira Weiny wrote:
This is going to seem like a real stupid question but I just got burned
because I did not know the answer and I would like to know.

In the 1394 stack (OHCI) the IRQ handler schedules "bottom half tasklets
(task queues in the old stack)".  They are scheduled to be "imediate"
bottom half's.  I thought (wrongly) that a bottom half executed out of
IRQ time with interrupts __enabled__.  As a result I put in a Async Rec
handler which used printk (60ms worth to be exact).  Needless to say
this greatly disturbed our ISO transfers which did not get processed.

So, my question is, why use a bottom half here?  Or really what is the
difference between scheduling a task queue (tasklet) imediate vs just
running the code in the IRQ handler?
A performance hit? Running it straight from the interrupt handler mean
that the handler is blocking until the request is finished. Not only
does it have to wait for the ohci layer to process it, but also the
ieee1394 layer, which in turn processes to the protocol drivers (sbp2,
etc.). Really bad.

Ben

--
 .----------=======-=-======-=========-----------=====------------=-=-----.
/  Ben Collins  --  ...on that fantastic voyage...  --  Debian GNU/Linux   \
`  bcollins@debian.org  --  bcollins@openldap.org  --  bcollins@linux.com  '
 `---=========------=======-------------=-=-----=-===-======-------=--=---'

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help