Re: 2.4.18 orinoco.c __orinoco_ev_rx question

David Gibson (david@gibson.dropbear.id.au)
Mon, 3 Jun 2002 16:24:18 +1000


On Wed, May 29, 2002 at 09:06:13AM +0200, Wolfgang Wegner wrote:
> Hi David,
> On Wed, May 29, 2002 at 01:28:22PM +1000, David Gibson wrote:
> > No it doesn't have to be done in the interrupt handler, it could be
> > done in a bottom half. However essentially every other network driver
> > does all the Rx work (up to netif_rx()) in the hard irq, so I'm
> > disinclined to do it otherwise.
> well, you have a point here.
> However, my observation shows that this blocks interrupts for quite a
> long time (800us, compared to the 700us which i remember being shouted
> at in another discussion some days ago), which is quite a lot. (IMHO)
> Furthermore, airo.c either has a faster way of doing so or the Cisco
> PCM-352 are faster by themselves. (Did not look into airo.c as close
> as orinoco.c...)

Yes, that is quite a long time. How long does it take in the airo
driver? If it's possible to speed up the orinoco.c interrupt handler,
rather than moving stuff into a BH I'd prefer to do that.

It's possible the Cisco cards are just faster, although I would have
thought it a bit unlikely, since I beleive the recent Cisco's are
based on the same MAC controller as the Lucent and Intersil cards (but
different firmware).

> It was just a question if it could be done.
>
> I would like to try it, so another question (the rxfid stuff...):
>
> Could I leave just getting the rxfid (rxfid = hermes_read_regn(hw, RXFID);)
> in the interrupt handler and let the bottom half process something like
> a list of FIDs filled by the interrupt handler, or is there any caveat
> in doing so? Would it be better (if at all possible) to leave reading
> in the head in the interrupt handler, such that the status could be
> evaluated and do just the copying of data (which i suspect to be the most
> time-consuming) from the bottom half?

Yes, it's possible. It adds significant complexity though, so I'd
really prefer not to.

-- 
David Gibson			| For every complex problem there is a
david@gibson.dropbear.id.au	| solution which is simple, neat and
				| wrong.  -- H.L. Mencken
http://www.ozlabs.org/people/dgibson
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/