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 1A0E4426B7; Wed, 4 Oct 2023 19:48:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD480402B3; Wed, 4 Oct 2023 19:48:07 +0200 (CEST) Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) by mails.dpdk.org (Postfix) with ESMTP id 28863402A9 for ; Wed, 4 Oct 2023 19:48:06 +0200 (CEST) Received: by mail-qt1-f172.google.com with SMTP id d75a77b69052e-4197310af61so328291cf.3 for ; Wed, 04 Oct 2023 10:48:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696441685; x=1697046485; 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=+CLC78O07aip3Ql5/1uH1zkUAbkDXUrA46vfpisTH+Q=; b=a5C1nPODeOa4VhRi79oq8EM53/FJ0UX7Ynnzxnz903dHIdwMxryWKfRO3K5iyK0wjB 4XRwmioWL/DPtpWjg/YyQEMGZtPDIpYGXg1vuIjSQrQFeCo15mD/7ZlAaAtMLsXyMnpq K6uQ1/wKqAGtVRPloTqBDXVrkiVxj/5xza5VPDdMURRuWqU0QVPSLk+wavW76YWXBSC4 5+vp39Je9/J7QKgTxykfD/B0jc3AGnGCUuKeBQD7cyGWmWWDV9MtMP81vPA0uwCSft9m UBbhQMJ/Fy6dIeRyrNV1E/odQOVXeFG8p00C/gi2/YjfWveKtLJ3J8A5OpHeyrQHEsiH yHyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696441685; x=1697046485; 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=+CLC78O07aip3Ql5/1uH1zkUAbkDXUrA46vfpisTH+Q=; b=C6MxoD/bhbudqkWd5+bT+8sepTmNXrzFQAXbTJER3DBYqlqjy9WXEd0An4V0VI7Wx/ ufP45Z+kCkg5xBNtqKHoeIfq8jVFUlPV/dENWKVQu945PX/QGrcWsaIPHJqHgRdJoUTk K1yd15YR1l5GSVr/pioYPRrln+ye3vEixeJfaIUYJj/Ui+pgKl9/RP9PDZEhCAFnqDZU TnOJCjirgOwvePhUFv6jHu/OzHdwxmlxQ5rmVNKQ/QkaAhu/W2cHdzKjZ5cKHj7mlQJ8 7pJpTl4/wA3eDO3iSbBo3zG2566dByk8Bk18u4Cdgy8w5WS2g5qBJmBcU0hyzXptjcKv xOEg== X-Gm-Message-State: AOJu0YzS2xaB1qSt/C+1uMYt/YaaCNAKCv5upXSYTwpLWWkXDXpKM2r4 d48Q9O6b1KRyxyobJWggOqdoETAQ8lTP7u6g3d8= X-Google-Smtp-Source: AGHT+IHuLcR/KrRlhzl/pldzsjqBx45bnk372Ji+p+pFqPLro4DYkcyjFUHgvqtmkIS3lfdCu71Z9WKd2vK5/+5VPug= X-Received: by 2002:a05:622a:11d1:b0:418:15b9:8290 with SMTP id n17-20020a05622a11d100b0041815b98290mr3090571qtk.53.1696441685388; Wed, 04 Oct 2023 10:48:05 -0700 (PDT) MIME-Version: 1.0 References: <20231003204110.3344703-1-tduszynski@marvell.com> In-Reply-To: <20231003204110.3344703-1-tduszynski@marvell.com> From: Jerin Jacob Date: Wed, 4 Oct 2023 23:17:39 +0530 Message-ID: Subject: Re: [PATCH] raw/cnxk_bphy: support multi-process mode To: Tomasz Duszynski Cc: dev@dpdk.org, Jakub Palider , Anatoly Burakov , jerinj@marvell.com, thomas@monjalon.net 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 Wed, Oct 4, 2023 at 5:16=E2=80=AFAM Tomasz Duszynski wrote: > > Add support for sharing BPHY PMD across multiple running processes. > In scenarios where resources need to be shared across processes > user-space need to ensure serialization. > > Signed-off-by: Tomasz Duszynski > Reviewed-by: Jerin Jacob Kollanukkaran > Tested-by: Jerin Jacob Kollanukkaran Updated the git commit as follows and applied to dpdk-next-net-mrvl/for-next-net. Thanks Author: Tomasz Duszynski Date: Tue Oct 3 22:41:09 2023 +0200 raw/cnxk_bphy: support multi-process mode Add support for multi process mode in BPHY PMD. Signed-off-by: Tomasz Duszynski > --- > doc/guides/rawdevs/cnxk_bphy.rst | 8 ++++++++ > drivers/raw/cnxk_bphy/cnxk_bphy.c | 16 ++++++++++------ > 2 files changed, 18 insertions(+), 6 deletions(-) > > diff --git a/doc/guides/rawdevs/cnxk_bphy.rst b/doc/guides/rawdevs/cnxk_b= phy.rst > index 2490912534..b544b543a3 100644 > --- a/doc/guides/rawdevs/cnxk_bphy.rst > +++ b/doc/guides/rawdevs/cnxk_bphy.rst > @@ -19,6 +19,14 @@ The BPHY CGX/RPM implements following features in the = rawdev API: > - Access to BPHY CGX/RPM via a set of predefined messages > - Access to BPHY memory > - Custom interrupt handlers > +- Multiprocess aware > + > +Limitations > +----------- > + > +In multiprocess mode user-space application must ensure no resources > +sharing takes place. Otherwise, user-space application should ensure > +synchronization. > > Device Setup > ------------ > diff --git a/drivers/raw/cnxk_bphy/cnxk_bphy.c b/drivers/raw/cnxk_bphy/cn= xk_bphy.c > index d42cca649c..15dbc4c1a6 100644 > --- a/drivers/raw/cnxk_bphy/cnxk_bphy.c > +++ b/drivers/raw/cnxk_bphy/cnxk_bphy.c > @@ -359,10 +359,12 @@ bphy_rawdev_probe(struct rte_pci_driver *pci_drv, > bphy_dev->mem.res2 =3D pci_dev->mem_resource[2]; > bphy_dev->bphy.pci_dev =3D pci_dev; > > - ret =3D roc_bphy_dev_init(&bphy_dev->bphy); > - if (ret) { > - rte_rawdev_pmd_release(bphy_rawdev); > - return ret; > + if (rte_eal_process_type() =3D=3D RTE_PROC_PRIMARY) { > + ret =3D roc_bphy_dev_init(&bphy_dev->bphy); > + if (ret) { > + rte_rawdev_pmd_release(bphy_rawdev); > + return ret; > + } > } > > return 0; > @@ -390,8 +392,10 @@ bphy_rawdev_remove(struct rte_pci_device *pci_dev) > return -EINVAL; > } > > - bphy_dev =3D (struct bphy_device *)rawdev->dev_private; > - roc_bphy_dev_fini(&bphy_dev->bphy); > + if (rte_eal_process_type() =3D=3D RTE_PROC_PRIMARY) { > + bphy_dev =3D (struct bphy_device *)rawdev->dev_private; > + roc_bphy_dev_fini(&bphy_dev->bphy); > + } > > return rte_rawdev_pmd_release(rawdev); > } > -- > 2.34.1 >