[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lwip-commits] [SCM] lwIP - A Lightweight TCPIP stack branch, master, updated. cfe51823807e67058d6ab785a8eb0e39d6a89a43,
Sylvain Rochet <=