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 2B2AF4418E; Sat, 8 Jun 2024 18:03:05 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A88F9400D7; Sat, 8 Jun 2024 18:03:04 +0200 (CEST) Received: from mail.lysator.liu.se (mail.lysator.liu.se [130.236.254.3]) by mails.dpdk.org (Postfix) with ESMTP id ADA064003C for ; Sat, 8 Jun 2024 18:03:03 +0200 (CEST) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 45B7915135 for ; Sat, 8 Jun 2024 18:03:02 +0200 (CEST) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id 3939115065; Sat, 8 Jun 2024 18:03:02 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on hermod.lysator.liu.se X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=ALL_TRUSTED,AWL, T_SCC_BODY_TEXT_LINE autolearn=disabled version=4.0.0 X-Spam-Score: -1.3 Received: from [192.168.1.59] (h-62-63-215-114.A163.priv.bahnhof.se [62.63.215.114]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 9CA2E15134; Sat, 8 Jun 2024 18:02:59 +0200 (CEST) Message-ID: <9275e923-a16c-45fe-ba2f-53b18713eafc@lysator.liu.se> Date: Sat, 8 Jun 2024 18:02:59 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] event/dsw: support explicit release only mode To: Jerin Jacob , =?UTF-8?Q?Mattias_R=C3=B6nnblom?= Cc: Jerin Jacob , dev@dpdk.org, bruce.richardson@intel.com, Peter Nilsson J , =?UTF-8?B?U3ZhbnRlIErDpHJ2c3Ryw6V0?= , Heng Wang References: <20240605133820.369677-1-mattias.ronnblom@ericsson.com> <20240607133615.374993-1-mattias.ronnblom@ericsson.com> Content-Language: en-US From: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Scanned: ClamAV using ClamSMTP 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 2024-06-08 08:14, Jerin Jacob wrote: > On Fri, Jun 7, 2024 at 7:17 PM Mattias Rönnblom > wrote: >> >> Add the RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE capability to the >> DSW event device. >> >> This feature may be used by an EAL thread to pull more work from the >> work scheduler, without giving up the option to forward events >> originating from a previous dequeue batch. This in turn allows an EAL >> thread to be productive while waiting for a hardware accelerator to >> complete some operation. >> >> Prior to this change, DSW didn't make any distinction between >> RTE_EVENT_OP_FORWARD and RTE_EVENT_OP_NEW type events, other than that >> new events would be backpressured earlier. >> >> After this change, DSW tracks the number of released events (i.e., >> events of type RTE_EVENT_OP_FORWARD and RTE_EVENT_OP_RELEASE) that has >> been enqueued. >> >> For efficiency reasons, DSW does not track the identity of individual >> events. This in turn implies that a certain stage in the flow >> migration process, DSW must wait for all pending releases (on the >> migration source port, only) to be received from the application, to >> assure that no event pertaining to any of the to-be-migrated flows are >> being processed. >> >> With this change, DSW starts making a distinction between forward and >> new type events for credit allocation purposes. Only RTE_EVENT_OP_NEW >> events needs credits. All events marked as RTE_EVENT_OP_FORWARD must >> have a corresponding dequeued event from a previous dequeue batch. >> >> Flow migration for flows on RTE_SCHED_TYPE_PARALLEL queues remains >> unaffected by this change. >> >> A side-effect of the tweaked DSW migration logic is that the migration >> latency is reduced, regardless if implicit release is enabled or not. >> >> Another side-effect is that migrated flows are now not processed >> during any part of the migration procedure. An upside of this change >> it reduces the load of the overloaded port. A downside is it >> introduces slightly more jitter for the migrated flows. >> >> This patch is contains various minor refactorings, improved >> formatting, fixed spelling, and the removal of unnessary memory >> barriers. > > Move changelog after --- > I never remember where it should go, so I checked an old patch of mine, were I also got it wrong... Anyway, thanks. >> >> v3: >> * Fix broken RTE_ASSERT()s. (Jerin Jacob) >> >> v2: >> * Remove redundant memory barriers. >> * Discontinue processing of migrated flows throughout the migration >> procedure. This is a part of a fix to address a reordering issue >> v1 of this patch introduced. >> * Added entry in the release notes. >> * Fix spelling issues in commit message. >> >> Signed-off-by: Mattias Rönnblom >> --- >> doc/guides/rel_notes/release_24_07.rst | 7 + >> drivers/event/dsw/dsw_evdev.c | 8 +- >> drivers/event/dsw/dsw_evdev.h | 7 +- >> drivers/event/dsw/dsw_event.c | 405 ++++++++++++++----------- >> 4 files changed, 254 insertions(+), 173 deletions(-) >> >> diff --git a/doc/guides/rel_notes/release_24_07.rst b/doc/guides/rel_notes/release_24_07.rst >> index a69f24cf99..706cc71212 100644 >> --- a/doc/guides/rel_notes/release_24_07.rst >> +++ b/doc/guides/rel_notes/release_24_07.rst >> @@ -24,6 +24,13 @@ DPDK Release 24.07 >> New Features >> ------------ >> >> +* **Updated the DSW event device.** >> + >> + * Added support for ``RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE``, >> + allowing applications to take on new tasks without having completed >> + (released) the previous event batch. This in turn facilities DSW >> + use alongside high-latency look-aside hardware accelerators. >> + >> .. This section should contain new features added in this release. >> Sample format: > > Update should be here(after the template). > > > Fixed above issues and applied to dpdk-next-eventdev/for-main. Thanks