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