[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] problems with LWIP on Xilinx ML403
From: |
Kieran Mansley |
Subject: |
Re: [lwip-users] problems with LWIP on Xilinx ML403 |
Date: |
Tue, 02 Oct 2007 08:42:01 +0100 |
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