On Tue, Jun 29, 2010 at 8:32 AM, Bruno Randolf <b...@einfach.org> wrote:

> On Tue June 29 2010 00:56:48 you wrote:
> > Today, i found that there would be only 1000 RXOK interrupt occured,
> that's
> > why only 1000 packets received. I suspected that it 's because the
> latency
> > of VxWorks jobQueue is much more than the Linux tasklet. So the card
> could
> > not get the next descriptor when the job function processed too slow.
> > I'm going to move part codes of rxbuf_setup() to the ath5k_intr(),
> setting
> > the next descriptor earlier, to reduce the influence brought by the high
> > latency.
>
> i'm not sure if i understand you right... but you don't need to call
> rxbuf_setup() for the hardware to be able to move on. the hardware reads
> the
> ds_link pointer and moves to the next descriptor when it has finished
> receiving one descriptor. but of course if your jobQueue is too late
> receiving
> pakckets, there might not be a next descriptor to move to. so maybe it
> could
> help to increase the number of ATH_RXBUF?
>
> bruno
>
Thank you for your advice.
i removed the jobQueuePost(i.e. schedule_tasklet in Linux) from the
ath5k_intr() function, so there will be no bottom-half, just calling the
ath5k_hw_get_isr().
i found that there were only 105 RXOK interrupts when sending 200+ pkts(pkt
len is 100). And i made several tests:
1. add some delay in the ath5k_intr(), finding that the RXOK number would
reduce.
2. add some delay in the sender, finding that the RXOK number would
increase, but the max value was no more than 1000.

So now there are two problems actually: one is that i cannot get enough RXOK
interrupts, and the other is that
 the bottom-half cannot process enough packets.
About the second one, i think that increasing the ATH_RXBUF would work.

But about the first one, i suspect that there are some kinds of limitation,
for example: the PCI controller, the DMA speed, the wireless card interrupt
processing ability, or something else.... i'm very confused now...

BTW: my platform is VxWorks 6.7 @ AMCC 440ep board(architecture is powerpc),
and the card chip is AR5414a.

any suggestions or discussions will be very appreciated.
-- 
Jack
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to