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-boun...@dpdk.org] On Behalf Of Erik Gabriel Carrillo > Sent: Thursday, December 13, 2018 4:27 PM > To: rsanf...@akamai.com > Cc: step...@networkplumber.org; jerin.ja...@caviumnetworks.com; > pbhagavat...@caviumnetworks.com; dev@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