[dpdk-dev] [PATCH v3 0/2] Timer library changes
Carrillo, Erik G
erik.g.carrillo at intel.com
Tue Mar 5 23:41:50 CET 2019
Hi all,
I'd like to bring this patch proposal up again and see if I can get any more feedback from the maintainer or others.
I need to update the map file to reflect the next release, so I'll add those changes in if any other modifications are suggested.
Thanks,
Erik
ML: https://mails.dpdk.org/archives/dev/2018-December/120864.html
Patchwork: https://patches.dpdk.org/project/dpdk/list/?series=2767
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Erik Gabriel Carrillo
> Sent: Thursday, December 13, 2018 4:27 PM
> To: rsanford at akamai.com
> Cc: stephen at networkplumber.org; jerin.jacob at caviumnetworks.com;
> pbhagavatula at caviumnetworks.com; dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v3 0/2] Timer library changes
>
> This patch series modifies the timer library in such a way that structures that
> used to be statically allocated in a process's data segment are now allocated
> in shared memory. As these structures contain lists of timers, new APIs are
> introduced that allow a caller to specify the particular structure instance into
> which a timer should be inserted or from which a timer should be removed.
> This enables primary and secondary processes to modify the same timer list,
> which enables some multi-process use cases that were not previously
> possible; e.g. a secondary process can start a timer whose expiration is
> detected in a primary process running a new flavor of timer_manage().
>
> The original library API is mostly unchanged, though implementations are
> updated to call into newly added functions with a default structure instance
> ID that provides the original behavior. New functions are introduced to
> enable applications to allocate structure instances to house timer lists, and to
> reference them with an identifier when starting and stopping timers, and
> finally, to manage the timer lists referenced with an identifier.
>
> My initial performance testing with the "timer_perf_autotest" test shows no
> performance regression or improvement, and inspection of the generated
> optimized code shows that the extra function call gets inlined in the functions
> that now have an extra function call.
>
> Depends on: https://patches.dpdk.org/patch/48417/
>
> Changes in v3:
> - remove C++ style comment in first patch in series (Stephen)
>
> Changes in v2:
> - split these changes out into their own series
> - version the symbols where the existing ABI was updated, and
> provide alternate implementation with behavior equivalent to original
> behavior. Validated ABI compatibility with validate-abi.sh
> - refactor changes to simplify patches
>
> Erik Gabriel Carrillo (2):
> timer: allow timer management in shared memory
> timer: add function to stop all timers in a list
>
> lib/librte_timer/Makefile | 1 +
> lib/librte_timer/rte_timer.c | 558
> ++++++++++++++++++++++++++++++---
> lib/librte_timer/rte_timer.h | 258 ++++++++++++++-
> lib/librte_timer/rte_timer_version.map | 23 ++
> 4 files changed, 795 insertions(+), 45 deletions(-)
>
> --
> 2.6.4
More information about the dev
mailing list