[dpdk-dev] [RFC] queue: introduce queue APIs and driver framework
Honnappa Nagarahalli
Honnappa.Nagarahalli at arm.com
Wed Jul 11 04:02:32 CEST 2018
-----Original Message-----
From: Jerin Jacob <jerin.jacob at caviumnetworks.com>
Sent: Wednesday, June 27, 2018 11:20 AM
To: Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com>
Cc: dev at dpdk.org; Gavin Hu <Gavin.Hu at arm.com>; nd <nd at arm.com>
Subject: Re: [dpdk-dev] [RFC] queue: introduce queue APIs and driver framework
-----Original Message-----
> Date: Wed, 27 Jun 2018 11:06:13 -0500
> From: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
> To: dev at dpdk.org
> CC: honnappa.nagarahalli at arm.com, gavin.hu at arm.com, nd at arm.com
> Subject: [dpdk-dev] [RFC] queue: introduce queue APIs and driver
> framework
> X-Mailer: git-send-email 2.7.4
>
>
> DPDK offers pipeline model of packet processing. One of the key
> components of this model is the core to core packet exchange.
> rte_ring and rte_event_ring functions are 2 methods provided currently
> for core to core communication. However, these two do not separate the
> APIs from implementation. This does not allow using hardware queue
> implementations in pipeline model.
> This change adds queue APIs and driver framework so that HW queues can
> be used for core to core communication in pipeline model.
> When different implementations (ex: HW queues and rte_ring) are used
Just to understand, Do you have any HW in mind where it can do generic multi producer/multi consumer queue operations for core to core in HW as offload.
It is my understanding that NXP SoCs provide this capability (Hemant, please correct me if I am wrong).
It is not needed that the offload is a queue. It can be some other mechanism (for ex: enqueue/dequeue via the scheduler) as long as it performs better than the rte_ring implementation.
> for the same object in different platforms, it is important to make
> sure that the application is portable. Hence features of different
> implementations must be elevated to the API level, so that the
> application writers can make the right choice.
> Currently, basic APIs are created, will add more required APIs as this
> progresses.
>
> Honnappa Nagarahalli (1):
> queue: introduce queue APIs and driver framework
>
> lib/librte_queue/rte_queue.c | 122 ++++++++++++++++++++++
> lib/librte_queue/rte_queue.h | 200 ++++++++++++++++++++++++++++++++++++
> lib/librte_queue/rte_queue_driver.h | 157
> ++++++++++++++++++++++++++++
> 3 files changed, 479 insertions(+)
> create mode 100644 lib/librte_queue/rte_queue.c create mode 100644
> lib/librte_queue/rte_queue.h create mode 100644
> lib/librte_queue/rte_queue_driver.h
>
> --
> 2.7.4
>
More information about the dev
mailing list