From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5DF6AA0597; Wed, 8 Apr 2020 21:36:43 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C7E7F1C1EE; Wed, 8 Apr 2020 21:36:42 +0200 (CEST) Received: from mail-io1-f67.google.com (mail-io1-f67.google.com [209.85.166.67]) by dpdk.org (Postfix) with ESMTP id A7B611C1ED for ; Wed, 8 Apr 2020 21:36:41 +0200 (CEST) Received: by mail-io1-f67.google.com with SMTP id i19so1321527ioh.12 for ; Wed, 08 Apr 2020 12:36:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+3veO84j+wFYegJfiFNPldByhfx5mDOq1PrZ1YxEgDY=; b=m/AiSGfTsGVPRhOpda/VQMG7jQOkdUdcFv1D1ApULADBLwS3fEGADzU4iMKgSB6BYO fQBGWCC9dEuJTKWFFpjknEnGSONLUq1z2Wyff23NvqE2A6GVHBigvQECRAnCpH0gQ59Q bQTbxmeeGi6Z4srJ2xWSubUKmiunHZb9qhXrL5tIBzqpp26SKtk1Txk5HNAZddtGH7lf i7tI16qahantMq2u/BxZlxsViBn83WRYP4hW+YTS8jQNWzV/kjQsAbTPAMRF/7PKO3U6 WE9ION17Wmpulj5QUbMnQ+tgUaVytpPiwDl1tdeslIHwTe5VTLPuLLxZ0xhNWSeAc1JE MUXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+3veO84j+wFYegJfiFNPldByhfx5mDOq1PrZ1YxEgDY=; b=Y1xlMGL9GPuqXFJsjReNO7MugaHwxidjofnTquJJoNOXGQ09TjH7VW92NxojaTo9+l zuf/4A9ODeEon4vwtQVUxJJ4/M6UQo6r83Zd5ivdNdtq0LynLUKlog9ZLTZaC9q9/Y/c RxzzHzHlLgW2aL7dlXbtmzA2pLI0wIWUgeLHTzGNVH2AM4T0unp9hseI0h4xOd1TL0+U gYxwRxwFvZtXgFexaMejfD75NEpgYDugT8VLLANWAFUUXP7UW7PorEt8LgTBRJSPbJXO eTgnHxfmnx+36+Ck4dRrcVM/PxVw1qEn6Zhp5Hgwr5+0bGM/RBG1oQUAPPvbr9Z0wkra WtNA== X-Gm-Message-State: AGi0PuYCNK4W5fYtGlcLe1GyX75uPkznJJn8VL2ERrbpc7NmoOoSRlpv Hqv++tiJia86Ik2WSqCYoIGRwxEsaYi/i1Nba04= X-Google-Smtp-Source: APiQypJVInq4Pxw9gMJH44YOsY+/oqDIIPXj8eG7deF9vphqfKxmfXgC2+ZPdVW86RlmAO87K0cQJ2MF/pm090aN6Xg= X-Received: by 2002:a5d:87c6:: with SMTP id q6mr8406334ios.163.1586374600957; Wed, 08 Apr 2020 12:36:40 -0700 (PDT) MIME-Version: 1.0 References: <20200408175655.18879-1-mattias.ronnblom@ericsson.com> In-Reply-To: <20200408175655.18879-1-mattias.ronnblom@ericsson.com> From: Jerin Jacob Date: Thu, 9 Apr 2020 01:06:24 +0530 Message-ID: To: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= Cc: dpdk-dev , Jerin Jacob , Gage Eads , Bruce Richardson Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [RFC 1/3] eventdev: allow for event devices requiring maintenance X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Apr 8, 2020 at 11:27 PM Mattias R=C3=B6nnblom wrote: > > Extend Eventdev API to allow for event devices which require various > forms of internal processing to happen, even when events are not > enqueued to or dequeued from a port. > > Signed-off-by: Mattias R=C3=B6nnblom > --- > lib/librte_eventdev/rte_eventdev.h | 65 ++++++++++++++++++++++++++ > lib/librte_eventdev/rte_eventdev_pmd.h | 14 ++++++ > 2 files changed, 79 insertions(+) > > diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte= _eventdev.h > index 226f352ad..d69150792 100644 > --- a/lib/librte_eventdev/rte_eventdev.h > +++ b/lib/librte_eventdev/rte_eventdev.h > @@ -289,6 +289,15 @@ struct rte_event; > * single queue to each port or map a single queue to many port. > */ > > +#define RTE_EVENT_DEV_CAP_REQUIRES_MAINT (1ULL << 9) > +/**< Event device requires calls to rte_event_maintain() during This scheme would call for DSW specific API handling in fastpath. > + * periods when neither rte_event_dequeue_burst() nor The typical worker thread will be while (1) { rte_event_dequeue_burst(); ..proess.. rte_event_enqueue_burst(); } If so, Why DSW driver can't do the maintenance in driver context in dequeue() call. > + * rte_event_enqueue_burst() are called on a port. This will allow the > + * event device to perform internal processing, such as flushing > + * buffered events, return credits to a global pool, or process > + * signaling related to load balancing. > + */