[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.
- [lwip-users] Timing issue with fast interfaces,
Bob Grice <=