From: chas w. - C. <ch...@cm...> - 2010-09-07 15:59:56
|
On Mon, 30 Aug 2010 12:11:59 +0530 mahendra varman <mah...@gm...> wrote: > Hi All > > In the ATM driver I have maintained rsmNumStatusQueueEntries = 256 > > > Iam facing two types of errors. > > 1. Status_queue_overflow error. ( Rx data size is 40 bytes) > Whenever I face this error, Iam setting the RSM_RESET bit and > clearing it. > The error got cleared and Iam receiving data continuously. > > 2. FBQ_underflow error. (Rx data size is 1024 bytes) > Whenever I face this error, the Early packet discard bit and > underflow bit is set in the register > Iam setting the RSM_RESET bit and clearing it. > Iam adding Saraddrsmbuffers. > But the error is still not cleared and Iam not receiving any data. > > Can you Please tell me a way how I can solve this error to receive > data continuously.. ? what hardware are you using? what is your line rate and usage? at a guess i would say that your num status queue entries is too small, especially at an oc-3 rate and 40 byte packets. since there is some latency from getting the interrupt and handling the interrupt, you need to allow for the status queue to grow while you are getting ready to handle it. at oc-3 and 40-byte packets, that is 3,500,000 packets per second. with a queue length of 256, you need to handle the interrupt in less than 72us to avoid overflowing the status queue. as for underflow, it seems like there might not be enough reassembly memory thus the early packet discard. most cards have some sort of onboard memory to assemble the pdu's since the pdu's from multiple vpi's can arrive interleaved. i would need to see the programmer's guide to go any further on this one. |