From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1C63643183; Tue, 17 Oct 2023 01:41:19 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 95EBD4067C; Tue, 17 Oct 2023 01:41:18 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id C70D7402BE for ; Tue, 17 Oct 2023 01:41:16 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id EA6AD20B74C0; Mon, 16 Oct 2023 16:41:15 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com EA6AD20B74C0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1697499675; bh=PAOBF/ymY3A7BBojjQrbeQD69LkEDAd2NqWxfyrWUZk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sWDggNTTMCdKdag2ba2htQOKAxEf1sO3h0tCcvADfuGV42us/+Lt1GotwV8ioPn/b U7p8TbZVGEneY+Gn3p85m2dP1KuDawFvMg5PVSL3GfqculeVIthe/qDarrFk4T4tfe cX44WkirUPSQB6fbOo2k9Hj0Fj+hrzDN3TvFf6Qw= Date: Mon, 16 Oct 2023 16:41:15 -0700 From: Tyler Retzlaff To: Sivaprasad Tummala Cc: jerinjacobk@gmail.com, harry.van.haaren@intel.com, anatoly.burakov@intel.com, dev@dpdk.org, ferruh.yigit@amd.com, david.hunt@intel.com Subject: Re: [PATCH v1 2/6] event/sw: support power monitor Message-ID: <20231016234115.GA13553@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <20230419095427.563185-1-sivaprasad.tummala@amd.com> <20231016205715.970999-1-sivaprasad.tummala@amd.com> <20231016205715.970999-2-sivaprasad.tummala@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231016205715.970999-2-sivaprasad.tummala@amd.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Mon, Oct 16, 2023 at 01:57:11PM -0700, Sivaprasad Tummala wrote: > Currently sw eventdev pmd does not support ``rte_power_monitor`` api. > This patch adds support by adding monitor callback that is called > whenever we enter sleep state and need to check if it is time to > wake up. > > Signed-off-by: Sivaprasad Tummala > --- > drivers/event/sw/sw_evdev.c | 1 + > drivers/event/sw/sw_evdev.h | 2 ++ > drivers/event/sw/sw_evdev_worker.c | 27 +++++++++++++++++++++++++++ > 3 files changed, 30 insertions(+) > > diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c > index 6d1816b76d..99b3c0d92f 100644 > --- a/drivers/event/sw/sw_evdev.c > +++ b/drivers/event/sw/sw_evdev.c > @@ -958,6 +958,7 @@ sw_probe(struct rte_vdev_device *vdev) > .port_link = sw_port_link, > .port_unlink = sw_port_unlink, > .port_unlinks_in_progress = sw_port_unlinks_in_progress, > + .get_monitor_addr = sw_event_get_monitor_addr, > > .eth_rx_adapter_caps_get = sw_eth_rx_adapter_caps_get, > > diff --git a/drivers/event/sw/sw_evdev.h b/drivers/event/sw/sw_evdev.h > index c7b943a72b..26aa2fe283 100644 > --- a/drivers/event/sw/sw_evdev.h > +++ b/drivers/event/sw/sw_evdev.h > @@ -312,6 +312,8 @@ int sw_xstats_reset(struct rte_eventdev *dev, > int16_t queue_port_id, > const uint64_t ids[], > uint32_t nb_ids); > +int sw_event_get_monitor_addr(void *port, > + struct rte_power_monitor_cond *pmc); > > int test_sw_eventdev(void); > > diff --git a/drivers/event/sw/sw_evdev_worker.c b/drivers/event/sw/sw_evdev_worker.c > index 063b919c7e..139c98cfe2 100644 > --- a/drivers/event/sw/sw_evdev_worker.c > +++ b/drivers/event/sw/sw_evdev_worker.c > @@ -10,6 +10,33 @@ > > #define PORT_ENQUEUE_MAX_BURST_SIZE 64 > > +static int > +sw_event_ring_monitor_callback(const uint64_t value, > + const uint64_t arg[RTE_POWER_MONITOR_OPAQUE_SZ]) > +{ > + /* Check if the head pointer has changed */ > + return value != arg[0]; > +} > + > +int > +sw_event_get_monitor_addr(void *port, struct rte_power_monitor_cond *pmc) > +{ > + struct sw_port *p = (void *)port; ^^^^^^ cast seems redundant