lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] problems with LWIP on Xilinx ML403


From: Mike Caplinger
Subject: [lwip-users] problems with LWIP on Xilinx ML403
Date: Mon, 01 Oct 2007 12:46:17 -0700
User-agent: Thunderbird 1.5.0.2 (X11/20060420)

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.

Maybe this isn't an issue when using the raw interface, and maybe this is why nobody interested in performance uses the socket interface.

Has anyone else encountered this, or am I crazy? Maybe later versions of EDK addressed this?






reply via email to

[Prev in Thread] Current Thread [Next in Thread]