lwip-commits
[Top][All Lists]
Advanced

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

[lwip-commits] [SCM] lwIP - A Lightweight TCPIP stack branch, master, up


From: Sylvain Rochet
Subject: [lwip-commits] [SCM] lwIP - A Lightweight TCPIP stack branch, master, updated. cfe51823807e67058d6ab785a8eb0e39d6a89a43
Date: Mon, 20 Jun 2016 14:21:22 +0000 (UTC)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "lwIP - A Lightweight TCPIP stack".

The branch, master has been updated
       via  cfe51823807e67058d6ab785a8eb0e39d6a89a43 (commit)
      from  2040f4f0b18ebee9f4f4a06e642a91171fb2f029 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit cfe51823807e67058d6ab785a8eb0e39d6a89a43
Author: Sylvain Rochet <address@hidden>
Date:   Sun May 8 03:56:48 2016 +0200

    timers: fix wrong timings for !NO_SYS targets
    
    issue 1:
    
    sys_arch_sem_wait() is supposed to return an elapsed time in ms, what could
    happen given a > 1 kHz calling rate for high throughput systems is that it
    might always returns 0 ms. This is a problem for systems which compute the
    elapsed time from a high precision clock source.
    
    This is what is currently happening in the unix port in sys_arch_sem_wait():
    
    start time -> 1000000000;  // ns
    -- less than a ms before an event arrive --
    end time   -> 1000xxxxxx;  // ns
    return value -> (end time - start time)/1000000 -> 0
    
    The return value is used to reduce the next timer interval, if
    sys_arch_sem_wait() always return 0 no more timers are fired anymore
    
    issue 2:
    
    The current timer implementation for !NO_SYS targets only count elapsed
    time while -waiting- for semaphore and doesn't count at all the time
    spent by the stack to process packets. For CPU bound traffic patterns no
    more timers are fired anymore.
    
    Both are serious design issues which cannot be easily fixed without 
reworking
    everything. This patch uses the properly implemented timers for NO_SYS 
targets
    for !NO_SYS targets and merge them both into one single timers 
implementation.

-----------------------------------------------------------------------

Summary of changes:
 src/core/timers.c |   93 +++++++++++++++++------------------------------------
 1 file changed, 30 insertions(+), 63 deletions(-)


hooks/post-receive
-- 
lwIP - A Lightweight TCPIP stack



reply via email to

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