From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH v3 1/4] app/eventdev: add event timer adapter as a producer Date: Fri, 6 Apr 2018 16:48:31 +0530 Message-ID: <20180406111830.GD1749@jerin> References: <20180318131216.11699-1-pbhagavatula@caviumnetworks.com> <20180405115329.22372-1-pbhagavatula@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: santosh.shukla@caviumnetworks.com, erik.g.carrillo@intel.com, dev@dpdk.org To: Pavan Nikhilesh Return-path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0082.outbound.protection.outlook.com [104.47.37.82]) by dpdk.org (Postfix) with ESMTP id 487E220F for ; Fri, 6 Apr 2018 13:18:52 +0200 (CEST) Content-Disposition: inline In-Reply-To: <20180405115329.22372-1-pbhagavatula@caviumnetworks.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Thu, 5 Apr 2018 17:23:26 +0530 > From: Pavan Nikhilesh > To: jerin.jacob@caviumnetworks.com, santosh.shukla@caviumnetworks.com, > erik.g.carrillo@intel.com > Cc: dev@dpdk.org, Pavan Nikhilesh > Subject: [dpdk-dev] [PATCH v3 1/4] app/eventdev: add event timer adapter as > a producer > X-Mailer: git-send-email 2.16.3 > > Add event timer adapter as producer option that can be selected by > passing --prod_type_timerdev. > > Signed-off-by: Pavan Nikhilesh > +static inline int > +perf_event_timer_producer(void *arg) > +{ > + struct prod_data *p = arg; > + struct test_perf *t = p->t; > + struct evt_options *opt = t->opt; > + uint32_t flow_counter = 0; > + uint64_t count = 0; > + uint64_t arm_latency = 0; > + const uint8_t nb_timer_adptrs = opt->nb_timer_adptrs; > + const uint32_t nb_flows = t->nb_flows; > + const uint64_t nb_timers = opt->nb_timers; > + struct rte_mempool *pool = t->pool; > + struct perf_elt *m = NULL; NULL assignment is not required. > + struct rte_event_timer_adapter **adptr = t->timer_adptr; > + uint64_t timeout_ticks = opt->optm_bkt_tck_nsec ? > + (opt->nb_bkt_tcks * opt->bkt_tck_nsec) > + / opt->optm_bkt_tck_nsec : opt->nb_bkt_tcks; > + > struct perf_elt { > + struct rte_event_timer tim; This will make perf_elf two Cacheline, use union + offset of scheme to fit timestamp on the first cacheline. > uint64_t timestamp; > } __rte_cache_aligned; With above changes: Acked-by: Jerin Jacob