mbox series

[v4,0/1] New software event timer adapter

Message ID 1544829347-29302-1-git-send-email-erik.g.carrillo@intel.com (mailing list archive)
Headers show
Series New software event timer adapter | expand

Message

Carrillo, Erik G Dec. 14, 2018, 11:15 p.m. UTC
This patch introduces a new version of the event timer adapter software
PMD [1]. In the original design, timer event producer lcores in the primary
and secondary processes enqueued event timers into a ring, and a service
core in the primary process dequeued them and processed them further.  To
improve performance, this version does away with the ring and lets lcores in
both primary and secondary processes insert timers directly into timer
skiplist data structures; the service core directly accesses the lists as
well, when looking for timers that have expired. (This behavior requires
the patch to the timer library that is referenced below.)

Depends on: https://patches.dpdk.org/project/dpdk/list/?series=2767

[1] https://doc.dpdk.org/guides/prog_guide/event_timer_adapter.html

Changes in v4:
 - Addressed the following comments from Mattias Ronnblom:
   - remove unnecessary header include
   - add missing read barrier in timer cancel function

Changes in v3:
 - Addressed comments from Mattias Ronnblom:
   - remove unnecessary header include
   - remove unnecessary cast in mempool_put() call
   - update alignment of elements of array to avoid false sharing issue

Changes in v2:
 - split this change out into its own patch series

Erik Gabriel Carrillo (1):
  eventdev: add new software event timer adapter

 lib/librte_eventdev/rte_event_timer_adapter.c | 689 +++++++++++---------------
 1 file changed, 277 insertions(+), 412 deletions(-)

Comments

Jerin Jacob Kollanukkaran Dec. 18, 2018, 8:11 p.m. UTC | #1
On Fri, 2018-12-14 at 17:15 -0600, Erik Gabriel Carrillo wrote:
> This patch introduces a new version of the event timer adapter
> software
> PMD [1]. In the original design, timer event producer lcores in the
> primary
> and secondary processes enqueued event timers into a ring, and a
> service
> core in the primary process dequeued them and processed them
> further.  To
> improve performance, this version does away with the ring and lets
> lcores in
> both primary and secondary processes insert timers directly into
> timer
> skiplist data structures; the service core directly accesses the
> lists as
> well, when looking for timers that have expired. (This behavior
> requires
> the patch to the timer library that is referenced below.)
> 
> Depends on: https://patches.dpdk.org/project/dpdk/list/?series=2767

Looks like this series not cleanly applying to master branch.

I will pull this change when depended patch pulled into master tree and
there are not more review comments.


> 
> [1] https://doc.dpdk.org/guides/prog_guide/event_timer_adapter.html
> 
> Changes in v4:
>  - Addressed the following comments from Mattias Ronnblom:
>    - remove unnecessary header include
>    - add missing read barrier in timer cancel function
> 
> Changes in v3:
>  - Addressed comments from Mattias Ronnblom:
>    - remove unnecessary header include
>    - remove unnecessary cast in mempool_put() call
>    - update alignment of elements of array to avoid false sharing
> issue
> 
> Changes in v2:
>  - split this change out into its own patch series
> 
> Erik Gabriel Carrillo (1):
>   eventdev: add new software event timer adapter
> 
>  lib/librte_eventdev/rte_event_timer_adapter.c | 689 +++++++++++-----
> ----------
>  1 file changed, 277 insertions(+), 412 deletions(-)
> 
> --
> 2.6.4
>
Carrillo, Erik G Dec. 18, 2018, 8:14 p.m. UTC | #2
> -----Original Message-----
> From: Jerin Jacob Kollanukkaran [mailto:jerinj@marvell.com]
> Sent: Tuesday, December 18, 2018 2:12 PM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Carrillo, Erik G
> <erik.g.carrillo@intel.com>
> Cc: rsanford@akamai.com; mattias.ronnblom@ericsson.com;
> pbhagavatula@caviumnetworks.com; dev@dpdk.org
> Subject: Re: [EXT] [PATCH v4 0/1] New software event timer adapter
> 
> On Fri, 2018-12-14 at 17:15 -0600, Erik Gabriel Carrillo wrote:
> > This patch introduces a new version of the event timer adapter
> > software PMD [1]. In the original design, timer event producer lcores
> > in the primary and secondary processes enqueued event timers into a
> > ring, and a service core in the primary process dequeued them and
> > processed them further.  To improve performance, this version does
> > away with the ring and lets lcores in both primary and secondary
> > processes insert timers directly into timer skiplist data structures;
> > the service core directly accesses the lists as well, when looking for
> > timers that have expired. (This behavior requires the patch to the
> > timer library that is referenced below.)
> >
> > Depends on: https://patches.dpdk.org/project/dpdk/list/?series=2767
> 
> Looks like this series not cleanly applying to master branch.
> 
> I will pull this change when depended patch pulled into master tree and
> there are not more review comments.
> 

Ok, thanks Jerin.

> 
> >
> > [1] https://doc.dpdk.org/guides/prog_guide/event_timer_adapter.html
> >
> > Changes in v4:
> >  - Addressed the following comments from Mattias Ronnblom:
> >    - remove unnecessary header include
> >    - add missing read barrier in timer cancel function
> >
> > Changes in v3:
> >  - Addressed comments from Mattias Ronnblom:
> >    - remove unnecessary header include
> >    - remove unnecessary cast in mempool_put() call
> >    - update alignment of elements of array to avoid false sharing
> > issue
> >
> > Changes in v2:
> >  - split this change out into its own patch series
> >
> > Erik Gabriel Carrillo (1):
> >   eventdev: add new software event timer adapter
> >
> >  lib/librte_eventdev/rte_event_timer_adapter.c | 689 +++++++++++-----
> > ----------
> >  1 file changed, 277 insertions(+), 412 deletions(-)
> >
> > --
> > 2.6.4
> >