[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-tr] ibmtr.c error.
Mike Phillips writes:
> Paul,
>
> I may have found a bug in in the ibmtr.c code relating to dhb and mtu sizes. I was playing around with mtu size testing throughput to/from the new pci driver.
>
> ibmtr.c started giving xmit ret_cde 28 (length > dhb) error messages when I set the mtu size to 18000. Playing around with the mtu size, I isolated it down to the exact mtu size = 17933.
>
> Makes sense, 17932 + TR_HLEN = 17960 = 16mb_dhb for 64K shared ram.
Hmmm...I thought I put in (and tested) a bounds check. I'll check it...
> Also, interestingly ibmtr.c (or my isa card) is fastest with the mtu set around 8000 (I didn't test exhaustively, so I would think entire frame < 8192), increasing it over this almost halved the transfer times.
>
> The pci card handles any size - but then it is using system memory, which is far, far easier to use than having to copy from/to shared ram. Utmost respect to all who battle with the shared ram monster.
Actually it won't handle any size since there are limitations built
into the protocol - namely the maximum time allowed for a token to
circumnavigate the ring. That puts an upper bound on the size of a
frame. (Am I being pedantic?)
> FYI: On a dedicated hub with only the two machines running I was getting bit rates upto 15,054,663 bits / sec, 89% of maximum ring speed - not too shabby.
Is that PCI->PCI, or PCI->Shared-RAM?
> On a more ambigious note - Peter and I are looking into the multicast stuff, any suggestions, helpful hints etc.
I'll dig up what I've got and send it to you.