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 0947B4418C; Sat, 8 Jun 2024 08:14:54 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D4B794026A; Sat, 8 Jun 2024 08:14:53 +0200 (CEST) Received: from mail-qv1-f45.google.com (mail-qv1-f45.google.com [209.85.219.45]) by mails.dpdk.org (Postfix) with ESMTP id D5FFF40144 for ; Sat, 8 Jun 2024 08:14:51 +0200 (CEST) Received: by mail-qv1-f45.google.com with SMTP id 6a1803df08f44-6b0682d1b12so3494006d6.0 for ; Fri, 07 Jun 2024 23:14:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717827291; x=1718432091; 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=lDLQRU+JumCEjKnttl0b+oi+3UYayY0HbbVhcQdgxU0=; b=GH4Fc9/QKeatRXZ+ptL/Tu9hkC5COED4bto3w7fzpQKW3HAxU0tsAB1rh7+59Fqmrc GxenimSwcdC+UUAdP4XZVLreeHS+hkhEOSmw7MgSPkbLH6alUY/NY97bwonKum4Bn9zq mQl9fDD/c2pJb8FYpTMvyx/mBkw6QQ3SHyOUr1nLwj9ELePc+/0acNSVPrQOJyAj4MS7 94PAOUDcop4aDpIU6kEafzNRwJx38pERDyjVmnkcnwOg5LohL+nMOSWK//epb534O33A yu309JJwyldYP6C49cBFkaBdu7esRSXdEuZLy+I2ziVvDBGyOdneRB4IY36VBMSZmRI+ VD/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717827291; x=1718432091; 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=lDLQRU+JumCEjKnttl0b+oi+3UYayY0HbbVhcQdgxU0=; b=ClfXgDUl5FFGlPaNvj+6sXIkfZ1OTPy07XxYGq7qFQatXRM9Ae7kxHBWmt1tLwBQZP /8DRh6yTLd0UzYHQ36DhVTrPVPFWE7/+atctRGzotCdknBTeRCmeK1LXUZMlqZSYRLWf lxbQVbhotsONByYqGwWTrnkGkde05T02aSE3Tf8jJNjkxcXID10XUWFLRNSbKFIlzZkC qj+X/KP8sVKIzCrL0TPp74/WiHOWEt9HQ9+mSfpHRrUhFpJShutvc5zXTXcuuDAf1zVi oGlQgpJllFxIIIvtsf4fCl7TpN6KDK8emHHs11wBKGk6uf+n3zfUE22UWTQJtUauufnv PQOg== X-Forwarded-Encrypted: i=1; AJvYcCVVBJN7vsr2GUe4Uv5ZH2QtxkoXsMrnIvTQA8KuCWHYUA0kVUEoKkJ780BBIuJQ4L0n65BSNbm35bfHFx0= X-Gm-Message-State: AOJu0Yy4JRVAAvscF/L0Nfl5RZppU3VEE8FLQoiUL/QSIulLVKKv8vao ihPPWoTAQPs64QkCB0m1ALufFV+YMg26BTS/fMbjEQ+BH6jLIaiL0H7sHcjrv5QIJ++IxAUs1wH KaTqkui6ZMgGfn9oyPvRPnmnt2YM= X-Google-Smtp-Source: AGHT+IFKENlKi6+wiCdcbYKqN3MKAy/eEI241d+zeLzf9XxYZRLKZvdGWQujCjzoahPVXzqn7MO1vmv/6TFikoysG10= X-Received: by 2002:a05:622a:1350:b0:440:2b02:f04c with SMTP id d75a77b69052e-44041b66f90mr54565691cf.18.1717827291118; Fri, 07 Jun 2024 23:14:51 -0700 (PDT) MIME-Version: 1.0 References: <20240605133820.369677-1-mattias.ronnblom@ericsson.com> <20240607133615.374993-1-mattias.ronnblom@ericsson.com> In-Reply-To: <20240607133615.374993-1-mattias.ronnblom@ericsson.com> From: Jerin Jacob Date: Sat, 8 Jun 2024 11:44:24 +0530 Message-ID: Subject: Re: [PATCH v3] event/dsw: support explicit release only mode To: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= Cc: Jerin Jacob , dev@dpdk.org, hofors@lysator.liu.se, bruce.richardson@intel.com, Peter Nilsson J , =?UTF-8?B?U3ZhbnRlIErDpHJ2c3Ryw6V0?= , Heng Wang 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 Fri, Jun 7, 2024 at 7:17=E2=80=AFPM Mattias R=C3=B6nnblom 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 --- > > 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=C3=B6nnblom > --- > 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_note= s/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