|
From: | Siva Velusamy |
Subject: | Re: [lwip-users] problems with LWIP on Xilinx ML403 |
Date: | Tue, 2 Oct 2007 09:44:30 -0700 |
On Mon, 2007-10-01 at 12:46 -0700, Mike Caplinger wrote:
> I've been trying to do large bulk data transfers using the sockets API
> on an ML403 board using the version of LWIP bundled with EDK 8.2i. I
> won't bore you with all the total stalls of LWIP I've experienced, but I
> have noticed that there seems to be a huge bug in the Xilinx
> implementation of sys_arch. The function sys_arch_sem_wait is supposed
> to return the amount of time it had to wait to get the semaphore, or
> SYS_ARCH_TIMEOUT if it failed to get it. But the v2pro port version in
> EDK 8.2i simply returns the timeout immediately if it got the semaphore,
> regardless how long it had to wait, if at all. This causes the TCP
> thread, which is using a 250 msec timeout handler to call tcp_tmr, to
> go completely nuts during a transfer, since tcp_tmr ends up getting
> called at extremely high rates. Retransmits and timeouts happen too
> fast, RTO is completely misestimated (I've seen it stuck up at 32767) etc.
As this is a bug in a port rather than lwIP itself I think you'll have
to contact whoever distributes your EDK 8.2i and ask them to fix it.
This is code that is beyond our control.
Thanks
Kieran
[Prev in Thread] | Current Thread | [Next in Thread] |