[2/4] event/sw: report periodic event timer capability

Message ID 20220803162634.3145885-1-s.v.naga.harish.k@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [1/4] eventdev/timer: add periodic event timer support |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Naga Harish K, S V Aug. 3, 2022, 4:26 p.m. UTC
  update the software eventdev pmd timer_adapter_caps_get
callback function to report the support of periodic
event timer capability

Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
---
 drivers/event/sw/sw_evdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Van Haaren, Harry Aug. 5, 2022, noon UTC | #1
> -----Original Message-----
> From: Naga Harish K, S V <s.v.naga.harish.k@intel.com>
> Sent: Wednesday, August 3, 2022 5:27 PM
> To: Carrillo, Erik G <erik.g.carrillo@intel.com>; jerinj@marvell.com; Van Haaren,
> Harry <harry.van.haaren@intel.com>
> Cc: dev@dpdk.org
> Subject: [PATCH 2/4] event/sw: report periodic event timer capability
> 
> update the software eventdev pmd timer_adapter_caps_get
> callback function to report the support of periodic
> event timer capability

Apologies for my non-familiarity with the Eventdev and DPDK Timer features.. but
what does a PMD need to "do" to be capable of TIMER_ADAPTER_CAP_PERIODIC?

I see the code change to enable reporting that "sw pmd supports it", but I didn't
find (in rte_eventdev.h[0] or event-timer-adapter docs[1]) what the PMD must
actually "do" to support it?

If a PMD does not have to actually change anything in the implementation, then why does the flag exist at all?

<snip patch contents>

[0] https://doc.dpdk.org/api/rte__eventdev_8h.html#ac9a05105d3e7f16cce2776408571e1a2
[1] https://doc.dpdk.org/guides-21.05/prog_guide/event_timer_adapter.html
  
Naga Harish K, S V Aug. 10, 2022, 11:01 a.m. UTC | #2
Hi,


> -----Original Message-----
> From: Van Haaren, Harry <harry.van.haaren@intel.com>
> Sent: Friday, August 5, 2022 5:31 PM
> To: Naga Harish K, S V <s.v.naga.harish.k@intel.com>; Carrillo, Erik G
> <erik.g.carrillo@intel.com>; jerinj@marvell.com
> Cc: dev@dpdk.org
> Subject: RE: [PATCH 2/4] event/sw: report periodic event timer capability
> 
> > -----Original Message-----
> > From: Naga Harish K, S V <s.v.naga.harish.k@intel.com>
> > Sent: Wednesday, August 3, 2022 5:27 PM
> > To: Carrillo, Erik G <erik.g.carrillo@intel.com>; jerinj@marvell.com;
> > Van Haaren, Harry <harry.van.haaren@intel.com>
> > Cc: dev@dpdk.org
> > Subject: [PATCH 2/4] event/sw: report periodic event timer capability
> >
> > update the software eventdev pmd timer_adapter_caps_get callback
> > function to report the support of periodic event timer capability
> 
> Apologies for my non-familiarity with the Eventdev and DPDK Timer
> features.. but what does a PMD need to "do" to be capable of
> TIMER_ADAPTER_CAP_PERIODIC?
> 
> I see the code change to enable reporting that "sw pmd supports it", but I
> didn't find (in rte_eventdev.h[0] or event-timer-adapter docs[1]) what the
> PMD must actually "do" to support it?
> 
> If a PMD does not have to actually change anything in the implementation,
> then why does the flag exist at all?
> 
> <snip patch contents>
> 
> [0]
> https://doc.dpdk.org/api/rte__eventdev_8h.html#ac9a05105d3e7f16cce277
> 6408571e1a2
> [1] https://doc.dpdk.org/guides-
> 21.05/prog_guide/event_timer_adapter.html

The SW eventdev PMD also exposes other adapter (Eth Rx adapter, Crypto adapter) capabilities in the same manner.
In general eventdev PMDs provide the adapter capabilities by design.
This may be to accommodate the eventdev PMDs which have Hardware interface between NIC and event device.

-Harish
  

Patch

diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index f93313b31b..89c07d30ae 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -564,7 +564,7 @@  sw_timer_adapter_caps_get(const struct rte_eventdev *dev, uint64_t flags,
 {
 	RTE_SET_USED(dev);
 	RTE_SET_USED(flags);
-	*caps = 0;
+	*caps = RTE_EVENT_TIMER_ADAPTER_CAP_PERIODIC;
 
 	/* Use default SW ops */
 	*ops = NULL;