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 1276943095; Fri, 18 Aug 2023 11:45:40 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D89D3410FD; Fri, 18 Aug 2023 11:45:39 +0200 (CEST) Received: from mail-vs1-f42.google.com (mail-vs1-f42.google.com [209.85.217.42]) by mails.dpdk.org (Postfix) with ESMTP id 6848140395 for ; Fri, 18 Aug 2023 11:45:38 +0200 (CEST) Received: by mail-vs1-f42.google.com with SMTP id ada2fe7eead31-44bfea78928so234943137.0 for ; Fri, 18 Aug 2023 02:45:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692351938; x=1692956738; 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=cooBELaH7bfeLOTA1yzYSnD4p28nduPdMTujRfseoqo=; b=EHt10tL6qYniTcLgUjb1aPj9n57OPxUSJit0qklYx8/FmLzRUncBA4vhp73WhFy35e 5jVmhnp3KOw6Ev14DytrFPfcYQzAJM78Wzpunx2B3Bc/k8Lo8T50ODKr6Uhr0Sez9IQs XMQBoHozLzTJaUPhjo7h/N7pTH4pmGezcxLHGVfArfiXkP3kOXFok12+t0TzsY94ScLS QxbY2wGbSDUGq6+KxeLPNano8o8upDYtwxGN1/sz+ctZnJS9m0Eu7D22gfE+wxZwB49J pRmEl0XiNUjSoMJf1+oF0B4v0xUo40svJYBtrS5fqjBF56VSF8s3XYWdMLisnotj4MXF HpLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692351938; x=1692956738; 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=cooBELaH7bfeLOTA1yzYSnD4p28nduPdMTujRfseoqo=; b=ivBq0dGMYeuBfcApOha3j5RhtV6MvrEQ5CrQT1YQupU5oesC5DujNlAIg7AITxiyLb tI8A+NZdT6zaR7NAYHCtyUgkFBWIKFQDdhR+qXVzICJFpRCHocZm2eGdfpQTO4CTMnGW SLBEFa488FlHyRVbbrtiB2NMAJaOxGtL7+tVl1Jri65SWMbCEtYgJqWofSKJZ/yECPEN FF3HrRYZS9q1OhpwCUEwU7O7VC8XHZ9XQhPGuhnxa79eKCOnyTshXOKhN8UWTcwYXsc+ h3mORcvXsnzRAwfuL4X6qeHcivauiiKEQSm8KkdLzDyihnoYq74O3ntkovFJS1JtKsNj lfbg== X-Gm-Message-State: AOJu0YzqYbO+l5qZPhClr6V0IjYMm7UBIyWb9drodvJD+PJ1jspJvWnJ ofk1SvG+6geef2Pm+uPhLFGHgFXC57GB24CwiGQ= X-Google-Smtp-Source: AGHT+IEOZpXv8yxsxCVRVvNdNyEqW1RA0O1ZbvdQoeKymdoilRevmBFOo8aQfoc3+uWq4kDUYJPHR9I3qAPYH3O7HEs= X-Received: by 2002:a05:6102:4b9:b0:447:6ef1:c4e with SMTP id r25-20020a05610204b900b004476ef10c4emr2479431vsa.34.1692351937647; Fri, 18 Aug 2023 02:45:37 -0700 (PDT) MIME-Version: 1.0 References: <20230423041227.22036-1-syalavarthi@marvell.com> <20230801070016.340-1-syalavarthi@marvell.com> <20230801070016.340-2-syalavarthi@marvell.com> In-Reply-To: <20230801070016.340-2-syalavarthi@marvell.com> From: Jerin Jacob Date: Fri, 18 Aug 2023 15:15:11 +0530 Message-ID: Subject: Re: [RFC PATCH v2 1/1] eventdev: introduce ML event adapter library To: Srikanth Yalavarthi Cc: Thomas Monjalon , Bruce Richardson , Jerin Jacob , dev@dpdk.org, sshankarnara@marvell.com, aprabhu@marvell.com, ptakkar@marvell.com, Amit Prakash Shukla , Sachin Saxena , Hemant Agrawal , "Gujjar, Abhinandan S" , "Naga Harish K, S V" , Erik Gabriel Carrillo , "McDaniel, Timothy" , Pavan Nikhilesh , Shijith Thotton , "Van Haaren, Harry" , =?UTF-8?Q?Mattias_R=C3=B6nnblom?= , Peter Mccarthy 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 Tue, Aug 1, 2023 at 12:30=E2=80=AFPM Srikanth Yalavarthi wrote: > > Introduce event ML adapter APIs. This patch provides information > on adapter modes and usage. Application can use this event adapter > interface to transfer packets between ML device and event device. > > Signed-off-by: Srikanth Yalavarthi Adding other eventdev maintainers Found a doc build issue /export/dpdk-next-eventdev/lib/eventdev/rte_eventdev.h:1489: error: argument 'id' of command @param is not found in the argument list of rte_event_ml_adapter_caps_get(uint8_t dev_id, int16_t mldev_id, uint32_t *caps) (warning treated as err or, aborting now) > --- > diff --git a/MAINTAINERS b/MAINTAINERS > index 18bc05fccd..3f9d4d2c43 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -544,6 +544,12 @@ F: drivers/raw/skeleton/ > F: app/test/test_rawdev.c > F: doc/guides/prog_guide/rawdev.rst > > +Eventdev ML Adapter API > +M: Srikanth Yalavarthi > +T: git://dpdk.org/next/dpdk-next-eventdev > +F: lib/eventdev/*ml_adapter* > +F: doc/guides/prog_guide/event_ml_adapter.rst Keep next to "Eventdev Crypto Adapter API". > + > +/** > + * Enqueue a burst of ML operations as event objects supplied in *rte_ev= ent* structure on an event > + * ML adapter designated by its event *evdev_id* through the event port = specified by *port_id*. This > + * function is supported if the eventdev PMD has the #RTE_EVENT_ML_ADAPT= ER_CAP_INTERNAL_PORT_OP_FWD > + * capability flag set. > + * > + * The *nb_events* parameter is the number of event objects to enqueue t= hat are supplied in the > + * *ev* array of *rte_event* structure. > + * > + * The rte_event_ml_adapter_enqueue() function returns the number of eve= nt objects it actually > + * enqueued. A return value equal to *nb_events* means that all event ob= jects have been enqueued. > + * > + * @param evdev_id > + * The identifier of the device. > + * @param port_id > + * The identifier of the event port. > + * @param ev > + * Points to an array of *nb_events* objects of type *rte_event* str= ucture which contain the > + * event object enqueue operations to be processed. > + * @param nb_events > + * The number of event objects to enqueue, typically number of > + * rte_event_port_attr_get(...RTE_EVENT_PORT_ATTR_ENQ_DEPTH...) availabl= e for this port. > + * > + * @return > + * The number of event objects actually enqueued on the event device= . The return value can be > + * less than the value of the *nb_events* parameter when the event devic= es queue is full or if > + * invalid parameters are specified in a *rte_event*. If the return valu= e is less than *nb_events*, > + * the remaining events at the end of ev[] are not consumed and the call= er has to take care of them, > + * and rte_errno is set accordingly. Possible errno values include: > + * Error code is not rendering properly in html doc > + * - EINVAL: The port ID is invalid, device ID is invalid, an event'= s queue ID is invalid, or an > + * event's sched type doesn't match the capabilities of the destination = queue. > + * - ENOSPC: The event port was backpressured and unable to enqueue = one or more events. This > + * error code is only applicable to closed systems. > + */ > +uint16_t > +rte_event_ml_adapter_enqueue(uint8_t evdev_id, uint8_t port_id, struct r= te_event ev[], > + uint16_t nb_events); > diff --git a/lib/mldev/rte_mldev.h b/lib/mldev/rte_mldev.h > index 222ecbdbe1..a14437eb72 100644 > --- a/lib/mldev/rte_mldev.h > +++ b/lib/mldev/rte_mldev.h > @@ -449,6 +449,12 @@ struct rte_ml_op { > * dequeue and enqueue operation. > * The application should not modify this field. > */ > + uint32_t private_data_offset; > + /**< Offset to indicate start of private data (if any). > + * The offset is counted from the start of the rte_ml_op. > + * The offset provides an offset to locate the request / > + * response information in the rte_ml_op. Could you move this change out of event adapter changes.i.e merged through main tree. > + */ > } __rte_cache_aligned; Since it is similar to crypto adapter, no more review comments. If there are further review comments in mailing list, please work on v1 with test application and driver changes.