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 A16A4A00C3 for ; Tue, 16 Aug 2022 07:54:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 724904068E; Tue, 16 Aug 2022 07:54:38 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2083.outbound.protection.outlook.com [40.107.101.83]) by mails.dpdk.org (Postfix) with ESMTP id 5D60C4067C for ; Tue, 16 Aug 2022 07:54:37 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EYm4JaAwC9pmSXloO1e6xEuhKiRPjjjnkYMJP5VaZKPUJSohUk5LG27JM/JODJsj5McgKn/RUxtyBLfhiesLw0FHg29UNICpJGiCiH9LSj5cE3I8Nb7aU/Luv82d9zVFtjROd4c7y9Vme06YRSvJmsCzTr0c3URtM2XSOT0/u5k5toPaUa/7hMIXtfaqLYxP90CkQH5YmVSmFdcLl4VgQsKYstrEpGbvhL6GN7+wb0a98isUFcSUtTAS6Mk9Q++M1PJwg/Bu4d5tC0uRyiXdCJQ0c1dYDCQSNNGWv+R11qvcjeV2WDLhICE7MMqoAbkhSlsPkpRhMVdgF/eHplBHyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pWfOzm71nIryYQfrolx4pJAURFK00chqLElz5yWDu0U=; b=AqhHFhSygIseBJCeJP8z47tcwgu98zX7nwriPKHoEfcTaPxUD8HiQiXyiGpA3/tMR6gLkRGdjU0j3ZAmExUV+0G5tC9ALaTl/rKDNIJMxd0jSgDXsLCqGUJZLg/g2v8W5Q4NQ8+De88ivT8FdER0gDDgg5baVDzkEhjkFJXlgc5r+Z5j9Uo9bQBR/ADopF2mhqGilVOhsYxPNQVC+r08STHohSLoUKUFMcWoQVdhs5khzIoxrmqOKUPBL4cIDVsf2dEJaC3iylHr49Y84PDquIclpSssD9W0jDNytuqLoffXRZ8nghhuqnQx+4FsPAoIrl12ZCwUtaFwiz9OtiMe/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pWfOzm71nIryYQfrolx4pJAURFK00chqLElz5yWDu0U=; b=WfYZtpITGtTWJMcWW+l0MiwWSv7ncQlAtJ/rnjyNo3HOrtnzWwz1k8oOAZT4y+wg4xHqTxVCA8KKgpEUC+WwpytxJYPvJib7ixzlki17zudkzo3vEe/B6RvVmrToxvpKoJmCJXOlZ+5gBy7vFTZpDJEBm8tLwbUbn2Pk09pA9PLp94ICSwXGH3eoF0vy/vyaHkXYECuaIP3oEg3qN/W9IPHz4tUKTl9Ww4jo22DzZz4Y+GYF6n6wnW46V6Dni+ZsIKCZYUc+KFKhGzqXW1RD4BWC4S83nBFR0s3BrUz3H2ndBNM5h5Y17b091QKQyWXixdPh39bgLIg37kfA+f0bAg== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39d::14) by DM6PR12MB4481.namprd12.prod.outlook.com (2603:10b6:5:2af::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.10; Tue, 16 Aug 2022 05:54:35 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::442b:be8b:c1ec:a6ee]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::442b:be8b:c1ec:a6ee%3]) with mapi id 15.20.5504.027; Tue, 16 Aug 2022 05:54:35 +0000 From: "Xueming(Steven) Li" To: Yuan Wang , "stable@dpdk.org" CC: "maxime.coquelin@redhat.com" , "chenbo.xia@intel.com" , "jiayu.hu@intel.com" , "cheng1.jiang@intel.com" , "qiming.yang@intel.com" , Stephen Hemminger Subject: RE: [PATCH 20.11] net/virtio-user: fix socket non-blocking mode Thread-Topic: [PATCH 20.11] net/virtio-user: fix socket non-blocking mode Thread-Index: AQHYsIuYu0928WlMMEyg807cQeeFAa2xB64g Date: Tue, 16 Aug 2022 05:54:35 +0000 Message-ID: References: <20220815173235.52217-1-yuanx.wang@intel.com> In-Reply-To: <20220815173235.52217-1-yuanx.wang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f5f0d275-ea96-45b4-f1ab-08da7f4bcc87 x-ms-traffictypediagnostic: DM6PR12MB4481:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QlNjt8uWERCchD3nH2Z8nzZ2v6ZSSNZK0NOlRCpBWsmtfVWijuRpXlzGOEgES5Plh67JfXlg98Wqp/QRJbTl35fu/iOhuqzPb37Nh+2VbVzDTp/syayy+/YB9HCCqiItKWouFvdU0/ol0ezT9d5aUog4kIfSQlRKl20FzJrjWMf0nMZmT+75SwFmGfNw72DQRBep8BDzoMIkD+HQWvbQFg/W1fql37kLj6AHJW10wGjQ9GZa6MOcWomlGFBN999qsqlIonGEOOhZoT+QtQIR7c4T6aDH60dBZlSy6VVuKE2bmPQPuGHy1yriS0wt1okHjZ2OYz555qXgbIaHt9YIdp5EO3Oi0w0grn0+fE+qkSS4G3TLdLRURSJmwpSipCLwTumYacZmzF/3BDnmjuyFATt8JIj1VJOnK+dGykcWsc5tmF8bg1Yt3BfkCkQTIKK8+hXX+l28F22bBIFMv37KKx6Fe7I/+thiz70aVN+pAQxlyDWleUG7MPLArfpJEeQzmvCynhRw+Ud6A2IF1G4k/dhrKkd/69Z4cg1TdGyjOPeVRrgsOJBuaIHUviBaaymWHbe+i9Rt16djGcw/LWcvfX4/YZBSyQUsOvwinLQyR6EfO+kXTHLNpoTTkobzVR50Thcmoswqu8QMWkqFCL4yaFflHE54ssENuLaphPiS6LkUiTU7b9P3fe8cklSDwQKfm3xDiaDKjMBtJrXnjSjlQqsFsYbckB9NHr3A7XOcnh8mnlMQlXes5e9+Wi+3hhpMX8Gu9HvYYT1aAMXpaqvRohArxUcWi1dm6Rab0X3OAxuTTZxPT88wRBL8dDY8/mqw x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(346002)(376002)(396003)(136003)(366004)(39860400002)(83380400001)(33656002)(38070700005)(64756008)(122000001)(5660300002)(66446008)(38100700002)(66946007)(8676002)(186003)(76116006)(66556008)(66476007)(316002)(52536014)(7696005)(4326008)(2906002)(9686003)(26005)(54906003)(71200400001)(478600001)(55016003)(41300700001)(110136005)(86362001)(53546011)(8936002)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?9COsbVs/NYYnX2sC40/Yo2o05hxRq4kneIES74DS1bkgOEXtu/FH1Gzse2Hx?= =?us-ascii?Q?xA4f7oUg3firWnorV88l3XXQKDhHWVFqlf2Ta/QB+W1SAl/upRhZEzL3Qwcr?= =?us-ascii?Q?EHxtPivYejobb3NckJnMgw41jWX7DXXpFkwXsSs0fiO+lmyvrdgUS1cRtlaM?= =?us-ascii?Q?oxXEZ2Y5rNDs7s9WLDGdoe+ByeJBEU/Y/47rdHARC/e+Zqz89AdLcBMeLJxW?= =?us-ascii?Q?kAvCLIuT9NEE1sUjQlGgAybjeUHWLgchtdoYyvsLKmke9dylDGbI32cstatG?= =?us-ascii?Q?3OdNOIJihzMQAV+IH7NlbfqnTBOF3hBbl+JN2TqEPMdegBy5pPipM+BqThND?= =?us-ascii?Q?B9WztmbpiiY+Ct8fpfzrovQ428KUi3ck6IFIdvKvpefLtxqWETAa1+g9aVWU?= =?us-ascii?Q?Eo6iIUYJEv41/wdtE5sLKtrVUKChXYyXeDqGWjjOyVtsIhMWAtRvhNUOmIbj?= =?us-ascii?Q?jl1LLB0l/bblTpgZRIqSM4eCHbya3OIsMrKcuUQ2Zsyg7HW8SRLY3tmxqcGe?= =?us-ascii?Q?Siqw8P/1Nakaq/zzUS6gNK4KySqKV+rtpYBH/6Y3cqwTcONFK1WUGeD7UX8f?= =?us-ascii?Q?iKnKL700dAAI5GU31Sdp7XdaYFX0AeCT5zsVj1ufNPvQZpl7SbFjVE6KPSLT?= =?us-ascii?Q?X/5tiWbKILMmVIr8I1D1km2KdIDf6WBvL+Tj6kDXmjmeaekoUEyeK1g9Ggpm?= =?us-ascii?Q?g1uRWY8UzWTj4wlkQsizppwhDUh6yTIhZnM1pwvmvuUrGzs7P/l7DvCbofn0?= =?us-ascii?Q?9KmeRX64+cYOcOo6qsqePovs1kVq4wexdo63twCB4ZdVEHUW5a7yOX/6v4iG?= =?us-ascii?Q?MHrH7CEoZLTXBOhRlg3jjWiMPWyQJ3wA33dZsasiOhE23E2XsBHTKm9gcXUm?= =?us-ascii?Q?qCo6sg5kievLYdkHLCesm8P1KBxT+1CukLrmTAfS0XBl0Kv8gP6ENXYp+F3Z?= =?us-ascii?Q?RO/okr7m6YmBwHhAsrm9374udHTLn24Fs2JJHO+n3eNUiR2r9vOLP6lDs1Je?= =?us-ascii?Q?zpukYE5yhce5N+myA1ikv/WrlAiCQ3Z4b9T80j1piyFY4nxXwXzSpkvMtNC1?= =?us-ascii?Q?wxNNs0FS0HXFoZU8HDBdkA9UTIglXLUGlIVqKabdvbe0wcU/wQuqxQ3NhbwF?= =?us-ascii?Q?FUfVSSLV/xuR7ApMue6VY/AxwLxYUJ9hN+8oSj/UUUJmycRsLMxwaTvtH3Uc?= =?us-ascii?Q?nrjIKR7Bd0GO3ENVuVMRUoSFyxUrPv9rhkSE8CUFHcJy2eIQd2vFb8A8v8eW?= =?us-ascii?Q?W9MimyxHUNKV9U7nn0qDK/fc/G0PKxW5NSihEEPcT/gEL9+zGweavoYhbvvi?= =?us-ascii?Q?n2TLCHQpo08t5fpEA3SAd1HrM0UW/N1+mhE5qxjVGdAAzs6el7ukQRG+ihRw?= =?us-ascii?Q?qh6jYacn6r9rk1W02FaTNANtdS95m8ylczeEGW5WktjB2nrr0tsM9tuV8ANQ?= =?us-ascii?Q?lAbILd8V5gyfr9f5HvoXoQbhrUa5h24qRTjtbtGRB3Ivx2w/HkttKv7t3lYP?= =?us-ascii?Q?iRdkhyfbSkrLPN3OYTMtmxlAwX7bFKoXJ9WsJJTmzKNn/rOD8CWw8C7qZeVw?= =?us-ascii?Q?bfmiVqjW+f0gisCXy6mgWWFtFTV/IfD8jzsAPTvG?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5f0d275-ea96-45b4-f1ab-08da7f4bcc87 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2022 05:54:35.6458 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GOJpqp5jNKE3qwR6tiAihbzCYVHd2+bXNVqCRGXnqwv22BflC07IMZepsMMe1uyhAiHamwqmry/kyOLse4KDHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4481 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi Yuan, 20.11 RC1 test has started, this patch will queue to the next LTS. Thanks, Xueming Li > -----Original Message----- > From: Yuan Wang > Sent: Tuesday, August 16, 2022 1:33 AM > To: Xueming(Steven) Li ; stable@dpdk.org > Cc: maxime.coquelin@redhat.com; chenbo.xia@intel.com; jiayu.hu@intel.com;= cheng1.jiang@intel.com; qiming.yang@intel.com; Yuan > Wang ; Stephen Hemminger > Subject: [PATCH 20.11] net/virtio-user: fix socket non-blocking mode >=20 > [ upstream commit 41f9a1757ffc010cc3debaad9a56af8ad88d0c6d ] >=20 > The virtio-user initialization requires unix socket to receive backend me= ssages in block mode. However, virtio_user_read_dev_config() sets > the same socket to nonblocking via fcntl, which affects all threads. > Enabling the rxq interrupt can causes both of these behaviors to occur co= ncurrently, with the result that the initialization may fail because > no messages are received in nonblocking socket. >=20 > Fix that by replacing O_NONBLOCK with the recv per-call option MSG_DONTWA= IT. >=20 > Fixes: ef53b6030039 ("net/virtio-user: support LSC") >=20 > Signed-off-by: Yuan Wang > Acked-by: Stephen Hemminger > Reviewed-by: Chenbo Xia > --- > drivers/net/virtio/virtio_user_ethdev.c | 15 ++------------- > 1 file changed, 2 insertions(+), 13 deletions(-) >=20 > diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio= /virtio_user_ethdev.c > index 04d6d7e2f..347caeef4 100644 > --- a/drivers/net/virtio/virtio_user_ethdev.c > +++ b/drivers/net/virtio/virtio_user_ethdev.c > @@ -252,15 +252,9 @@ virtio_user_read_dev_config(struct virtio_hw *hw, si= ze_t offset, >=20 > if (dev->vhostfd >=3D 0) { > int r; > - int flags; >=20 > - flags =3D fcntl(dev->vhostfd, F_GETFL); > - if (fcntl(dev->vhostfd, F_SETFL, > - flags | O_NONBLOCK) =3D=3D -1) { > - PMD_DRV_LOG(ERR, "error setting O_NONBLOCK flag"); > - return; > - } > - r =3D recv(dev->vhostfd, buf, 128, MSG_PEEK); > + r =3D recv(dev->vhostfd, buf, 128, > + MSG_PEEK | MSG_DONTWAIT); > if (r =3D=3D 0 || (r < 0 && errno !=3D EAGAIN)) { > dev->net_status &=3D (~VIRTIO_NET_S_LINK_UP); > PMD_DRV_LOG(ERR, "virtio-user port %u is down", @@ -276,11 +270,6 @@ > virtio_user_read_dev_config(struct virtio_hw *hw, size_t offset, > } else { > dev->net_status |=3D VIRTIO_NET_S_LINK_UP; > } > - if (fcntl(dev->vhostfd, F_SETFL, > - flags & ~O_NONBLOCK) =3D=3D -1) { > - PMD_DRV_LOG(ERR, "error clearing O_NONBLOCK flag"); > - return; > - } > } else if (dev->is_server) { > dev->net_status &=3D (~VIRTIO_NET_S_LINK_UP); > if (virtio_user_server_reconnect(dev) >=3D 0) > -- > 2.25.1