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 7061743AC2; Fri, 9 Feb 2024 09:43:56 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EA55E402AF; Fri, 9 Feb 2024 09:43:55 +0100 (CET) Received: from mail-yb1-f179.google.com (mail-yb1-f179.google.com [209.85.219.179]) by mails.dpdk.org (Postfix) with ESMTP id 28F7A40293 for ; Fri, 9 Feb 2024 09:43:55 +0100 (CET) Received: by mail-yb1-f179.google.com with SMTP id 3f1490d57ef6-dc6d5206e96so654920276.0 for ; Fri, 09 Feb 2024 00:43:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707468234; x=1708073034; darn=dpdk.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ZeqSLvPssoJn5t7piO6N88zIx/tY11WUYbunUVurJoc=; b=hURDNl3Lv41vUkPZEsWUgAdh39OiBxjVbLuBva9zOrD7AR7wmarLULi/4DLB70K3KW AlJ2Zk/wwgqWU8SdaFVSuobj9jAtHDH5OHn/7NdyGIDGtSG1QxCe38JcrY3fFo0DIGPC 6k/OCZ9whw/8eGtao7G5I9fojXVIqCYYX2iijFUf0kQyysfy90cQK2Bn7QiMzDUeAnAj VFxvCuVukt6M4ExA/fs/NVxCyOYjKwGF7tEFEXSsSqLEJLupit3Np7gc13gZMTjrZTz7 LRcYeRr57cy3Hd1bHssiPUrbtAUNgADaMRgUssywt4UGgSsJgR+J4bt+mQ/BZUnHzIO3 4eCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707468234; x=1708073034; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZeqSLvPssoJn5t7piO6N88zIx/tY11WUYbunUVurJoc=; b=p9nNEKWWjl5pi35M1nDQkMbkjbleJwv39waPIEKlEBIkXUHB5yx7uHpdT3MAF35zRQ tBR4CiyGXOyS3IFmTNISoZHBlJPIS6IF1FKGyxcVl9rhed4e33R6eqzroeKnByRQ+YWC bgd7G1MEsd0d5HlNh1xK3SJtXxfMnCG5iBhO8ukeZU0Ju0/9bkHLtCkxm8mUQi85oBxU CXnSfK81uuWUgoQpWK/zJN/SGsMDtLF76eO9oDDTN3ezF8113WY2BwcjZ9jtMjyU7DT0 d063MTO3mgjvAH431kBNCG9wKrlak6lXyQtjkch4GfCwBu7XTdPsoqg2S6auep2wDL71 us7A== X-Gm-Message-State: AOJu0YxUxZizN89b8FJUgBIjPWQu41jiaX2uR3rPZ+f/49ZcZuQi9lza cnLapiZ2kVjmzoMqz4qNbbEqyHwMjXhCxjNmw6wPc+I0SFWqRsmLFrJoWoHcoN7udjKZ3MyjbJ5 jlEXkC6+z0qCZFg0Uei0iAxUJdt9hN03KKmg= X-Google-Smtp-Source: AGHT+IEss10r0iF6PcRmI9ahr3yAmQvbA32p5R9vwICoDkFndbRkwx0ik1MlmRvOAF9sNmCQJ5ALxv1kIr1DhPfiqEE= X-Received: by 2002:a05:6902:220e:b0:dc7:4313:8b6f with SMTP id dm14-20020a056902220e00b00dc743138b6fmr890775ybb.54.1707468234363; Fri, 09 Feb 2024 00:43:54 -0800 (PST) MIME-Version: 1.0 References: <20240119174346.108905-1-bruce.richardson@intel.com> <20240202123953.77166-1-bruce.richardson@intel.com> <20240202123953.77166-2-bruce.richardson@intel.com> <7177dc02-8e31-47cd-baf2-41cb3eee6fe4@lysator.liu.se> In-Reply-To: <7177dc02-8e31-47cd-baf2-41cb3eee6fe4@lysator.liu.se> From: Jerin Jacob Date: Fri, 9 Feb 2024 14:13:27 +0530 Message-ID: Subject: Re: [PATCH v3 01/11] eventdev: improve doxygen introduction text To: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= Cc: Bruce Richardson , dev@dpdk.org, jerinj@marvell.com, mattias.ronnblom@ericsson.com, abdullah.sevincer@intel.com, sachin.saxena@oss.nxp.com, hemant.agrawal@nxp.com, pbhagavatula@marvell.com, pravin.pathak@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 Thu, Feb 8, 2024 at 3:20=E2=80=AFPM Mattias R=C3=B6nnblom wrote: > > On 2024-02-07 11:14, Jerin Jacob wrote: > > On Fri, Feb 2, 2024 at 7:29=E2=80=AFPM Bruce Richardson > > wrote: > >> > >> Make some textual improvements to the introduction to eventdev and eve= nt > >> devices in the eventdev header file. This text appears in the doxygen > >> output for the header file, and introduces the key concepts, for > >> example: events, event devices, queues, ports and scheduling. > >> > >> This patch makes the following improvements: > >> * small textual fixups, e.g. correcting use of singular/plural > >> * rewrites of some sentences to improve clarity > >> * using doxygen markdown to split the whole large block up into > >> sections, thereby making it easier to read. > >> > >> No large-scale changes are made, and blocks are not reordered > >> > >> Signed-off-by: Bruce Richardson > > > > Thanks Bruce, While you are cleaning up, Please add following or > > similar change to fix for not properly > > parsing the struct rte_event_vector. i.e it is coming as global > > variables in html files. > > > > l[dpdk.org] $ git diff > > diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h > > index e31c927905..ce4a195a8f 100644 > > --- a/lib/eventdev/rte_eventdev.h > > +++ b/lib/eventdev/rte_eventdev.h > > @@ -1309,9 +1309,9 @@ struct rte_event_vector { > > */ > > struct { > > uint16_t port; > > - /* Ethernet device port id. */ > > + /**< Ethernet device port id. */ > > uint16_t queue; > > - /* Ethernet device queue id. */ > > + /**< Ethernet device queue id. */ > > }; > > }; > > /**< Union to hold common attributes of the vector array. */ > > @@ -1340,7 +1340,11 @@ struct rte_event_vector { > > * vector array can be an array of mbufs or pointers or opaque= u64 > > * values. > > */ > > +#ifndef __DOXYGEN__ > > } __rte_aligned(16); > > +#else > > +}; > > +#endif > > > > /* Scheduler type definitions */ > > #define RTE_SCHED_TYPE_ORDERED 0 > > > >> > >> --- > >> V3: reworked following feedback from Mattias > >> --- > >> lib/eventdev/rte_eventdev.h | 132 ++++++++++++++++++++++------------= -- > >> 1 file changed, 81 insertions(+), 51 deletions(-) > >> > >> diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h > >> index ec9b02455d..a741832e8e 100644 > >> --- a/lib/eventdev/rte_eventdev.h > >> +++ b/lib/eventdev/rte_eventdev.h > >> @@ -12,25 +12,33 @@ > >> * @file > >> * > >> * RTE Event Device API > >> + * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >> * > >> - * In a polling model, lcores poll ethdev ports and associated rx que= ues > >> - * directly to look for packet. In an event driven model, by contrast= , lcores > >> - * call the scheduler that selects packets for them based on programm= er > >> - * specified criteria. Eventdev library adds support for event driven > >> - * programming model, which offer applications automatic multicore sc= aling, > >> - * dynamic load balancing, pipelining, packet ingress order maintenan= ce and > >> - * synchronization services to simplify application packet processing= . > >> + * In a traditional run-to-completion application model, lcores pick = up packets > > > > Can we keep it is as poll mode instead of run-to-completion as event mo= de also > > supports run to completion by having dequuee() and then Tx. > > > > A "traditional" DPDK app is both polling and run-to-completion. You > could always add "polling" somewhere, but "run-to-completion" in that > context serves a purpose, imo. Yeah. Some event devices can actually sleep to save power if packet is not present(using WFE in arm64 world). I think, We can be more specific then, like In a traditional run-to-completion application model where packet are dequeued from NIC RX queues, ....... > > A single-stage eventdev-based pipeline will also process packets in a > run-to-completion fashion. In such a scenario, the difference between > eventdev and the "tradition" lies in the (ingress-only) load balancing > mechanism used (which the below note on the "traditional" use of RSS > indicates).