[Prism54-devel] [patch 0/6] [prism54 svn trunk] various fixes for prism54 svn

Jean-Baptiste Note jean-baptiste.note at wanadoo.fr
Tue May 17 15:34:56 UTC 2005


Hello Bruno,

> platform: mips32 (au1500), little endian
> kernel: 2.4.27

Having read the prism2 driver, I'm contemplating another round of
patches which would use another round of tasklets to do the rx job and
probably increase performance and cache impact of the driver greatly.

I'm thinking about :
1/ leave the interrupt handler as-is (after the patches !) -- it already
does mimimum work.
2/ modify the update_tasklet so that it only acks the txs on tx queues,
and on rx queues, queues the skbs for processing, refill the rx queues,
signal the device and (if needed !) schedules 3 - 3'/ below
3 - 3'/ add a mgmt_rx tasklet and a data_rx tasklet that would dequeue the 
preceding skbs and process them in order. 

Gains : 
- clearer code
- share code between the rx queues 
This can be done without all the tasklet thing, with only splitting the
work into smaller functions.

- we allow the device to resend frames as soon as possible on our part.
- for mgmt frames, the big bunch of code processing them
would only be loaded into cache when needed, that is, not very often.

I'll do this if it can't be regarded as over-engeneering.

Being on an embedded platform, have you got any problems with
performance under heavy traffic (dropped packets, etc.) with the
standard kernel driver, that would make those improvements worthwhile ?
-- i guess that if you don't, those updates are unnecessary...

JB

-- 
Jean-Baptiste Note
+33 (0)6 83 03 42 38
jean-baptiste.note at wanadoo.fr


More information about the Prism54-devel mailing list