From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Harry van Haaren <harry.van.haaren@intel.com>
Cc: dev@dpdk.org, Bruce Richardson <bruce.richardson@intel.com>
Subject: Re: [dpdk-dev] [PATCH v4 04/17] eventdev: add APIs for extended stats
Date: Thu, 23 Mar 2017 15:50:10 +0530 [thread overview]
Message-ID: <20170323102009.ld525nyacfbuspsk@localhost.localdomain> (raw)
In-Reply-To: <20170317122227.uymznz5a2cs4ahit@localhost.localdomain>
On Fri, Mar 17, 2017 at 05:52:28PM +0530, Jerin Jacob wrote:
> On Fri, Mar 10, 2017 at 07:43:19PM +0000, Harry van Haaren wrote:
> > From: Bruce Richardson <bruce.richardson@intel.com>
> >
> > Add in APIs for extended stats so that eventdev implementations can report
> > out information on their internal state. The APIs are based on, but not
> > identical to, the equivalent ethdev functions.
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
>
> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Applied to dpdk-next-eventdev/master. Thanks.
>
> >
> > ---
> >
> > v3 -> v4:
> > - xstats API reset allows selection of device/port/queue to reset
> > ---
> > lib/librte_eventdev/rte_eventdev.c | 83 ++++++++++++++++
> > lib/librte_eventdev/rte_eventdev.h | 142 +++++++++++++++++++++++++++
> > lib/librte_eventdev/rte_eventdev_pmd.h | 74 ++++++++++++++
> > lib/librte_eventdev/rte_eventdev_version.map | 4 +
> > 4 files changed, 303 insertions(+)
> >
> > diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c
> > index 68bfc3b..0280ef0 100644
> > --- a/lib/librte_eventdev/rte_eventdev.c
> > +++ b/lib/librte_eventdev/rte_eventdev.c
> > @@ -920,6 +920,89 @@ rte_event_dev_dump(uint8_t dev_id, FILE *f)
> >
> > }
> >
> > +static int
> > +xstats_get_count(uint8_t dev_id, enum rte_event_dev_xstats_mode mode,
> > + uint8_t queue_port_id)
> > +{
> > + struct rte_eventdev *dev = &rte_eventdevs[dev_id];
> > + if (dev->dev_ops->xstats_get_names != NULL)
> > + return (*dev->dev_ops->xstats_get_names)(dev, mode,
> > + queue_port_id,
> > + NULL, NULL, 0);
> > + return 0;
> > +}
> > +
> > +int
> > +rte_event_dev_xstats_names_get(uint8_t dev_id,
> > + enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
> > + struct rte_event_dev_xstats_name *xstats_names,
> > + unsigned int *ids, unsigned int size)
> > +{
> > + RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -ENODEV);
> > + const int cnt_expected_entries = xstats_get_count(dev_id, mode,
> > + queue_port_id);
> > + if (xstats_names == NULL || cnt_expected_entries < 0 ||
> > + (int)size < cnt_expected_entries)
> > + return cnt_expected_entries;
> > +
> > + /* dev_id checked above */
> > + const struct rte_eventdev *dev = &rte_eventdevs[dev_id];
> > +
> > + if (dev->dev_ops->xstats_get_names != NULL)
> > + return (*dev->dev_ops->xstats_get_names)(dev, mode,
> > + queue_port_id, xstats_names, ids, size);
> > +
> > + return -ENOTSUP;
> > +}
> > +
> > +/* retrieve eventdev extended statistics */
> > +int
> > +rte_event_dev_xstats_get(uint8_t dev_id, enum rte_event_dev_xstats_mode mode,
> > + uint8_t queue_port_id, const unsigned int ids[],
> > + uint64_t values[], unsigned int n)
> > +{
> > + RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -ENODEV);
> > + const struct rte_eventdev *dev = &rte_eventdevs[dev_id];
> > +
> > + /* implemented by the driver */
> > + if (dev->dev_ops->xstats_get != NULL)
> > + return (*dev->dev_ops->xstats_get)(dev, mode, queue_port_id,
> > + ids, values, n);
> > + return -ENOTSUP;
> > +}
> > +
> > +uint64_t
> > +rte_event_dev_xstats_by_name_get(uint8_t dev_id, const char *name,
> > + unsigned int *id)
> > +{
> > + RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, 0);
> > + const struct rte_eventdev *dev = &rte_eventdevs[dev_id];
> > + unsigned int temp = -1;
> > +
> > + if (id != NULL)
> > + *id = (unsigned int)-1;
> > + else
> > + id = &temp; /* ensure driver never gets a NULL value */
> > +
> > + /* implemented by driver */
> > + if (dev->dev_ops->xstats_get_by_name != NULL)
> > + return (*dev->dev_ops->xstats_get_by_name)(dev, name, id);
> > + return -ENOTSUP;
> > +}
> > +
> > +int rte_event_dev_xstats_reset(uint8_t dev_id,
> > + enum rte_event_dev_xstats_mode mode, int16_t queue_port_id,
> > + const uint32_t ids[], uint32_t nb_ids)
> > +{
> > + RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);
> > + struct rte_eventdev *dev = &rte_eventdevs[dev_id];
> > +
> > + if (dev->dev_ops->xstats_reset != NULL)
> > + return (*dev->dev_ops->xstats_reset)(dev, mode, queue_port_id,
> > + ids, nb_ids);
> > + return -ENOTSUP;
> > +}
> > +
> > int
> > rte_event_dev_start(uint8_t dev_id)
> > {
> > diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
> > index 4876353..d462047 100644
> > --- a/lib/librte_eventdev/rte_eventdev.h
> > +++ b/lib/librte_eventdev/rte_eventdev.h
> > @@ -1405,6 +1405,148 @@ rte_event_port_links_get(uint8_t dev_id, uint8_t port_id,
> > int
> > rte_event_dev_dump(uint8_t dev_id, FILE *f);
> >
> > +/** Maximum name length for extended statistics counters */
> > +#define RTE_EVENT_DEV_XSTATS_NAME_SIZE 64
> > +
> > +/**
> > + * Selects the component of the eventdev to retrieve statistics from.
> > + */
> > +enum rte_event_dev_xstats_mode {
> > + RTE_EVENT_DEV_XSTATS_DEVICE,
> > + RTE_EVENT_DEV_XSTATS_PORT,
> > + RTE_EVENT_DEV_XSTATS_QUEUE,
> > +};
> > +
> > +/**
> > + * A name-key lookup element for extended statistics.
> > + *
> > + * This structure is used to map between names and ID numbers
> > + * for extended ethdev statistics.
> > + */
> > +struct rte_event_dev_xstats_name {
> > + char name[RTE_EVENT_DEV_XSTATS_NAME_SIZE];
> > +};
> > +
> > +/**
> > + * Retrieve names of extended statistics of an event device.
> > + *
> > + * @param dev_id
> > + * The identifier of the event device.
> > + * @param mode
> > + * The mode of statistics to retrieve. Choices include the device statistics,
> > + * port statistics or queue statistics.
> > + * @param queue_port_id
> > + * Used to specify the port or queue number in queue or port mode, and is
> > + * ignored in device mode.
> > + * @param[out] xstats_names
> > + * Block of memory to insert names into. Must be at least size in capacity.
> > + * If set to NULL, function returns required capacity.
> > + * @param[out] ids
> > + * Block of memory to insert ids into. Must be at least size in capacity.
> > + * If set to NULL, function returns required capacity. The id values returned
> > + * can be passed to *rte_event_dev_xstats_get* to select statistics.
> > + * @param size
> > + * Capacity of xstats_names (number of names).
> > + * @return
> > + * - positive value lower or equal to size: success. The return value
> > + * is the number of entries filled in the stats table.
> > + * - positive value higher than size: error, the given statistics table
> > + * is too small. The return value corresponds to the size that should
> > + * be given to succeed. The entries in the table are not valid and
> > + * shall not be used by the caller.
> > + * - negative value on error:
> > + * -ENODEV for invalid *dev_id*
> > + * -EINVAL for invalid mode, queue port or id parameters
> > + * -ENOTSUP if the device doesn't support this function.
> > + */
> > +int
> > +rte_event_dev_xstats_names_get(uint8_t dev_id,
> > + enum rte_event_dev_xstats_mode mode,
> > + uint8_t queue_port_id,
> > + struct rte_event_dev_xstats_name *xstats_names,
> > + unsigned int *ids,
> > + unsigned int size);
> > +
> > +/**
> > + * Retrieve extended statistics of an event device.
> > + *
> > + * @param dev_id
> > + * The identifier of the device.
> > + * @param mode
> > + * The mode of statistics to retrieve. Choices include the device statistics,
> > + * port statistics or queue statistics.
> > + * @param queue_port_id
> > + * Used to specify the port or queue number in queue or port mode, and is
> > + * ignored in device mode.
> > + * @param ids
> > + * The id numbers of the stats to get. The ids can be got from the stat
> > + * position in the stat list from rte_event_dev_get_xstats_names(), or
> > + * by using rte_eventdev_get_xstats_by_name()
> > + * @param[out] values
> > + * The values for each stats request by ID.
> > + * @param n
> > + * The number of stats requested
> > + * @return
> > + * - positive value: number of stat entries filled into the values array
> > + * - negative value on error:
> > + * -ENODEV for invalid *dev_id*
> > + * -EINVAL for invalid mode, queue port or id parameters
> > + * -ENOTSUP if the device doesn't support this function.
> > + */
> > +int
> > +rte_event_dev_xstats_get(uint8_t dev_id,
> > + enum rte_event_dev_xstats_mode mode,
> > + uint8_t queue_port_id,
> > + const unsigned int ids[],
> > + uint64_t values[], unsigned int n);
> > +
> > +/**
> > + * Retrieve the value of a single stat by requesting it by name.
> > + *
> > + * @param dev_id
> > + * The identifier of the device
> > + * @param name
> > + * The stat name to retrieve
> > + * @param[out] id
> > + * If non-NULL, the numerical id of the stat will be returned, so that further
> > + * requests for the stat can be got using rte_eventdev_xstats_get, which will
> > + * be faster as it doesn't need to scan a list of names for the stat.
> > + * If the stat cannot be found, the id returned will be (unsigned)-1.
> > + * @return
> > + * - positive value or zero: the stat value
> > + * - negative value: -EINVAL if stat not found, -ENOTSUP if not supported.
> > + */
> > +uint64_t
> > +rte_event_dev_xstats_by_name_get(uint8_t dev_id, const char *name,
> > + unsigned int *id);
> > +
> > +/**
> > + * Reset the values of the xstats of the selected component in the device.
> > + *
> > + * @param dev_id
> > + * The identifier of the device
> > + * @param mode
> > + * The mode of the statistics to reset. Choose from device, queue or port.
> > + * @param queue_port_id
> > + * The queue or port to reset. 0 and positive values select ports and queues,
> > + * while -1 indicates all ports or queues.
> > + * @param ids
> > + * Selects specific statistics to be reset. When NULL, all statistics selected
> > + * by *mode* will be reset. If non-NULL, must point to array of at least
> > + * *nb_ids* size.
> > + * @param nb_ids
> > + * The number of ids available from the *ids* array. Ignored when ids is NULL.
> > + * @return
> > + * - zero: successfully reset the statistics to zero
> > + * - negative value: -EINVAL invalid parameters, -ENOTSUP if not supported.
> > + */
> > +int
> > +rte_event_dev_xstats_reset(uint8_t dev_id,
> > + enum rte_event_dev_xstats_mode mode,
> > + int16_t queue_port_id,
> > + const uint32_t ids[],
> > + uint32_t nb_ids);
> > +
> > #ifdef __cplusplus
> > }
> > #endif
> > diff --git a/lib/librte_eventdev/rte_eventdev_pmd.h b/lib/librte_eventdev/rte_eventdev_pmd.h
> > index 828dfce..86e0076 100644
> > --- a/lib/librte_eventdev/rte_eventdev_pmd.h
> > +++ b/lib/librte_eventdev/rte_eventdev_pmd.h
> > @@ -421,6 +421,71 @@ typedef void (*eventdev_dequeue_timeout_ticks_t)(struct rte_eventdev *dev,
> > */
> > typedef void (*eventdev_dump_t)(struct rte_eventdev *dev, FILE *f);
> >
> > +/**
> > + * Retrieve a set of statistics from device
> > + *
> > + * @param dev
> > + * Event device pointer
> > + * @param ids
> > + * The stat ids to retrieve
> > + * @param values
> > + * The returned stat values
> > + * @param n
> > + * The number of id values and entries in the values array
> > + * @return
> > + * The number of stat values successfully filled into the values array
> > + */
> > +typedef int (*eventdev_xstats_get_t)(const struct rte_eventdev *dev,
> > + enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
> > + const unsigned int ids[], uint64_t values[], unsigned int n);
> > +
> > +/**
> > + * Resets the statistic values in xstats for the device, based on mode.
> > + */
> > +typedef int (*eventdev_xstats_reset_t)(struct rte_eventdev *dev,
> > + enum rte_event_dev_xstats_mode mode,
> > + int16_t queue_port_id,
> > + const uint32_t ids[],
> > + uint32_t nb_ids);
> > +
> > +/**
> > + * Get names of extended stats of an event device
> > + *
> > + * @param dev
> > + * Event device pointer
> > + * @param xstats_names
> > + * Array of name values to be filled in
> > + * @param size
> > + * Number of values in the xstats_names array
> > + * @return
> > + * When size >= the number of stats, return the number of stat values filled
> > + * into the array.
> > + * When size < the number of available stats, return the number of stats
> > + * values, and do not fill in any data into xstats_names.
> > + */
> > +typedef int (*eventdev_xstats_get_names_t)(const struct rte_eventdev *dev,
> > + enum rte_event_dev_xstats_mode mode, uint8_t queue_port_id,
> > + struct rte_event_dev_xstats_name *xstats_names,
> > + unsigned int *ids, unsigned int size);
> > +
> > +/**
> > + * Get value of one stats and optionally return its id
> > + *
> > + * @param dev
> > + * Event device pointer
> > + * @param name
> > + * The name of the stat to retrieve
> > + * @param id
> > + * Pointer to an unsigned int where we store the stat-id for future reference.
> > + * This pointer may be null if the id is not required.
> > + * @return
> > + * The value of the stat, or (uint64_t)-1 if the stat is not found.
> > + * If the stat is not found, the id value will be returned as (unsigned)-1,
> > + * if id pointer is non-NULL
> > + */
> > +typedef uint64_t (*eventdev_xstats_get_by_name)(const struct rte_eventdev *dev,
> > + const char *name, unsigned int *id);
> > +
> > /** Event device operations function pointer table */
> > struct rte_eventdev_ops {
> > eventdev_info_get_t dev_infos_get; /**< Get device info. */
> > @@ -451,6 +516,15 @@ struct rte_eventdev_ops {
> > /**< Converts ns to *timeout_ticks* value for rte_event_dequeue() */
> > eventdev_dump_t dump;
> > /* Dump internal information */
> > +
> > + eventdev_xstats_get_t xstats_get;
> > + /**< Get extended device statistics. */
> > + eventdev_xstats_get_names_t xstats_get_names;
> > + /**< Get names of extended stats. */
> > + eventdev_xstats_get_by_name xstats_get_by_name;
> > + /**< Get one value by name. */
> > + eventdev_xstats_reset_t xstats_reset;
> > + /**< Reset the statistics values in xstats. */
> > };
> >
> > /**
> > diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map
> > index 7a6921c..1fa6b33 100644
> > --- a/lib/librte_eventdev/rte_eventdev_version.map
> > +++ b/lib/librte_eventdev/rte_eventdev_version.map
> > @@ -12,6 +12,10 @@ DPDK_17.05 {
> > rte_event_dev_stop;
> > rte_event_dev_close;
> > rte_event_dev_dump;
> > + rte_event_dev_xstats_by_name_get;
> > + rte_event_dev_xstats_get;
> > + rte_event_dev_xstats_names_get;
> > + rte_event_dev_xstats_reset;
> >
> > rte_event_port_default_conf_get;
> > rte_event_port_setup;
> > --
> > 2.7.4
> >
next prev parent reply other threads:[~2017-03-23 10:20 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1484580885-148524-1-git-send-email-harry.van.haaren@intel.com>
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 00/15] next-eventdev: event/sw software eventdev Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 01/15] eventdev: remove unneeded dependencies Harry van Haaren
2017-02-06 8:12 ` Jerin Jacob
2017-02-08 14:35 ` Jerin Jacob
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 02/15] eventdev: add APIs for extended stats Harry van Haaren
2017-02-06 8:22 ` Jerin Jacob
2017-02-06 10:37 ` Van Haaren, Harry
2017-02-07 6:24 ` Jerin Jacob
2017-02-09 14:04 ` Van Haaren, Harry
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 03/15] event/sw: add new software-only eventdev driver Harry van Haaren
2017-02-06 8:32 ` Jerin Jacob
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 04/15] event/sw: add device capabilities function Harry van Haaren
2017-02-06 8:34 ` Jerin Jacob
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 05/15] event/sw: add configure function Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 06/15] event/sw: add fns to return default port/queue config Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 07/15] event/sw: add support for event queues Harry van Haaren
2017-02-06 9:25 ` Jerin Jacob
2017-02-06 10:25 ` Van Haaren, Harry
2017-02-07 6:58 ` Jerin Jacob
2017-02-07 9:58 ` Van Haaren, Harry
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 08/15] event/sw: add support for event ports Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 09/15] event/sw: add support for linking queues to ports Harry van Haaren
2017-02-06 9:37 ` Jerin Jacob
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 10/15] event/sw: add worker core functions Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 11/15] event/sw: add scheduling logic Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 12/15] event/sw: add start stop and close functions Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 13/15] event/sw: add dump function for easier debugging Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 14/15] event/sw: add xstats support Harry van Haaren
2017-01-31 16:14 ` [dpdk-dev] [PATCH v2 15/15] app/test: add unit tests for SW eventdev driver Harry van Haaren
2017-02-08 10:23 ` Jerin Jacob
2017-02-08 10:44 ` Van Haaren, Harry
2017-02-13 10:28 ` Jerin Jacob
2017-02-13 10:45 ` Bruce Richardson
2017-02-13 11:21 ` Jerin Jacob
2017-02-08 18:02 ` Nipun Gupta
2017-02-13 11:37 ` Jerin Jacob
2017-02-11 9:13 ` Jerin Jacob
2017-02-06 8:07 ` [dpdk-dev] [PATCH v2 00/15] next-eventdev: event/sw software eventdev Jerin Jacob
2017-02-06 10:14 ` Van Haaren, Harry
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 00/17] " Harry van Haaren
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 01/17] eventdev: fix API docs and test for timeout ticks Harry van Haaren
2017-02-20 15:22 ` Mcnamara, John
2017-03-06 10:33 ` Jerin Jacob
2017-03-10 15:24 ` Van Haaren, Harry
2017-03-08 10:35 ` [dpdk-dev] [PATCH] eventdev: improve API docs " Harry van Haaren
2017-03-13 8:48 ` Jerin Jacob
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 02/17] eventdev: increase size of enq deq conf variables Harry van Haaren
2017-02-19 12:05 ` Jerin Jacob
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 03/17] app/test: eventdev link all queues before start Harry van Haaren
2017-02-19 12:09 ` Jerin Jacob
2017-02-17 14:53 ` [dpdk-dev] [PATCH v3 04/17] eventdev: add APIs for extended stats Harry van Haaren
2017-02-19 12:32 ` Jerin Jacob
2017-02-20 12:12 ` Van Haaren, Harry
2017-02-20 12:34 ` Jerin Jacob
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 05/17] event/sw: add new software-only eventdev driver Harry van Haaren
2017-02-19 12:37 ` Jerin Jacob
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 06/17] event/sw: add device capabilities function Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 07/17] event/sw: add configure function Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 08/17] event/sw: add fns to return default port/queue config Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 09/17] event/sw: add support for event queues Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 10/17] event/sw: add support for event ports Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 11/17] event/sw: add support for linking queues to ports Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 12/17] event/sw: add worker core functions Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 13/17] event/sw: add scheduling logic Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 14/17] event/sw: add start stop and close functions Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 15/17] event/sw: add dump function for easier debugging Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 16/17] event/sw: add xstats support Harry van Haaren
2017-02-17 14:54 ` [dpdk-dev] [PATCH v3 17/17] app/test: add unit tests for SW eventdev driver Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 00/17] next-eventdev: event/sw software eventdev Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 01/17] eventdev: increase size of enq deq conf variables Harry van Haaren
2017-03-13 8:47 ` Jerin Jacob
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 02/17] app/test: eventdev link all queues before start Harry van Haaren
2017-03-20 4:46 ` Jerin Jacob
2017-03-23 10:18 ` Jerin Jacob
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 03/17] test/eventdev: rework timeout ticks test Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 04/17] eventdev: add APIs for extended stats Harry van Haaren
2017-03-17 12:22 ` Jerin Jacob
2017-03-23 10:20 ` Jerin Jacob [this message]
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 05/17] event/sw: add new software-only eventdev driver Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 06/17] event/sw: add device capabilities function Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 07/17] event/sw: add configure function Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 08/17] event/sw: add fns to return default port/queue config Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 09/17] event/sw: add support for event queues Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 10/17] event/sw: add support for event ports Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 11/17] event/sw: add support for linking queues to ports Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 12/17] event/sw: add worker core functions Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 13/17] event/sw: add scheduling logic Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 14/17] event/sw: add start stop and close functions Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 15/17] event/sw: add dump function for easier debugging Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 16/17] event/sw: add xstats support Harry van Haaren
2017-03-10 19:43 ` [dpdk-dev] [PATCH v4 17/17] app/test: add unit tests for SW eventdev driver Harry van Haaren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170323102009.ld525nyacfbuspsk@localhost.localdomain \
--to=jerin.jacob@caviumnetworks.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).