[Top][All Lists]

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

[lwip-users] Timing issue with fast interfaces

From: Bob Grice
Subject: [lwip-users] Timing issue with fast interfaces
Date: Wed, 23 Nov 2005 10:31:30 -0000

I've been chasing a problem in LWIP (based on 1.1.0) which while not strictly a bug was causing me issues. The problem is related to the interface between sys_mbox_fetch( ) and sys_arch_mbox_fetch( ).
sys_arch_mbox_fetch is required to return the time in milliseconds that it waited for a message, the returned value is then used to reduce the sys_timeout on the next call.
With a fast interface (100 MHz), the stack was getting messages for received IP frames faster than one per millisecond. My implimentation in sys_arch_mbox_fetch was returning zero (i.e less than 1 ms) on a large number of the calls, and hence the timeout value was not getting decremented and timeout activity was not occurring.
The simplistic fix was to return a minimum value of one in sys_arch_mailbox_fetch, however this then has the side effect of reducing the timeouts.
A better solution would be to increase the returned resolution,  but this would then require a change to the sys_timeout structure to add a member for the parts of a millisec, or go through the entire code base changing all the timeout values to the higher resolution. 

reply via email to

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