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 C0BCB46555; Thu, 10 Apr 2025 20:09:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C66940A6E; Thu, 10 Apr 2025 20:09:48 +0200 (CEST) Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11021113.outbound.protection.outlook.com [40.93.194.113]) by mails.dpdk.org (Postfix) with ESMTP id 6BA24406B7 for ; Thu, 10 Apr 2025 20:09:47 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mfgyCE77HSFqRhmRR5J1ilwJesfqj6jbA3QGtCpJJttWNgofrJkAbx/u/wR1UKSjSvI26BombZGBmFaHj5t0LDfUX5qfYuywOyW44aEQEeBaxRZZky1uGDsOVkR3T9tffhIv9911qSWg4mu0WJGFmDsjar7OBLq3kzOLfn+2bRXGj3MzbG7isd1u429YVmzcxgt3lvBZVpYMsgNPLkHQGzgV+Qaae9jwVzf/WJ1pH5z7rPjr9gmgNHzH1rpgSnsc7o1F+mLgkph/AiwHfcPecp8D1hHcdsG0xZYUOuwNyJB+I4aANmsbUfPlkqe+jpjyFXPw2xHv5oNrhSLyW6gBPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=+UCLjz3xomeCZH4feORXkeXynS4lLL0vsfBGs18kXB8=; b=X1ndjxDBzdE0f4Vjd6kQ9HtGnBzM2nH4EbvcLYeKi/WY0iexso4G3J3UXG1Mmq2ah5CscWvdRFY6NMvoPm+dVNlSYjQvEB1iZreG3JMYpDYafB/Acg+R90PwnJGQI1x+h2cjNP+wSQZcVeb33kr0k2whLkHA39wlP5iVgNBnDh4c7xAG8ITjMS5JHl/X0sNFmvN6oFquzEqqmzd4wWGOFdCnVB1ED520d+s4bcHlNIuPJta+O4FkiDdEekn2aO6luM/Djj3VX0qFJfhgOER07ZKJ/Foq28T/ZtT7Ns04+pUkZ6U7IcTV0SQeM1XX7tZ0yD47D4nSXXAVZzR1fqlHHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+UCLjz3xomeCZH4feORXkeXynS4lLL0vsfBGs18kXB8=; b=ZG62w02FfIGwmAGrREkpn1Y3oVjeXYogiiJcBa1ScCMIDAcy3P56COZj7XZ7yzik524uEzD9GaTt4DC0JwHJCASdsbFpNKxZlfmmaIbuHNGe6X7SDN9knqlNEo7E/Z/Jp6dkXKU0udmVxm6Z76cROqB9jkrFOvPDsKLhSvrrjUc= Received: from SA6PR21MB4231.namprd21.prod.outlook.com (2603:10b6:806:412::20) by SA1PR21MB4032.namprd21.prod.outlook.com (2603:10b6:806:38f::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.3; Thu, 10 Apr 2025 18:09:45 +0000 Received: from SA6PR21MB4231.namprd21.prod.outlook.com ([fe80::5c62:d7c6:4531:3aff]) by SA6PR21MB4231.namprd21.prod.outlook.com ([fe80::5c62:d7c6:4531:3aff%6]) with mapi id 15.20.8632.011; Thu, 10 Apr 2025 18:09:45 +0000 From: Long Li To: Stephen Hemminger , "longli@linuxonhyperv.com" CC: Wei Hu , "dev@dpdk.org" Subject: RE: [EXTERNAL] Re: [Patch v3 6/6] bus/vmbus: set event for channel without monitoring support Thread-Topic: [EXTERNAL] Re: [Patch v3 6/6] bus/vmbus: set event for channel without monitoring support Thread-Index: AQHbpw41wZ6tLppZZU2QKZyIO8/F/rOdN6bA Date: Thu, 10 Apr 2025 18:09:45 +0000 Message-ID: References: <1743813338-28238-1-git-send-email-longli@linuxonhyperv.com> <1743813338-28238-7-git-send-email-longli@linuxonhyperv.com> <20250406090853.78499346@hermes.local> In-Reply-To: <20250406090853.78499346@hermes.local> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=8be7ef7e-382b-4cfc-91ba-f5e320a7bbbe; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2025-04-10T18:03:36Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Tag=10, 3, 0, 1; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA6PR21MB4231:EE_|SA1PR21MB4032:EE_ x-ms-office365-filtering-correlation-id: 7cd59203-c2d7-4106-62f1-08dd785adfa4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?cjR8nMt46SnMjAdjUu1Tnzg0tYNq99hGOmPELKA4UW3HBeI+NwA/R190O1O7?= =?us-ascii?Q?dTRDmMY8ikPEdjdFvF5G/xODco1kumviwXDf+KgERMVXVT8cM19C7RpiKDqO?= =?us-ascii?Q?OWVG9tZ7ZXxo5PHypanL+/6rzdlJYIosSWo9w6sgok8UIrmeJZhoc3PL/BKZ?= =?us-ascii?Q?LEpp2yfzux+fsPV4h8Ti91+LwOLN8IE/ZSuhCOzSSXpPkPxwb/ViR+URWzgL?= =?us-ascii?Q?flwqVH8liCkA7jIz04WBgv8Q8Zfwfn8E8dSB3HwQGnVgqSLftud5GOgsEnIY?= =?us-ascii?Q?y+4M1pYXeY/9kyFHw8UGcFWgK7pDnIe6FUhq4LY9w/QJoMRoRxpQdQX5IicV?= =?us-ascii?Q?CZT3WMsG9RlOQ3xxx08mtW06fHD5VZ2EYqqqbNQ5lCUgpNKstLaoakQNIOOx?= =?us-ascii?Q?PAWoXc7OjWasEL07iB6vXHngIwZr1ek1VyrjKT6SgHiZSIXN+GYbskmM8wgN?= =?us-ascii?Q?g5KKHpreXdBaI2DHBKoiTmAMj7pvZY8Zkc44Pd3SwxS2sMHEZ1ENOnaoFloH?= =?us-ascii?Q?3Yi3z2/P9RDJOPHapndyt0QDbq/0+vROJSat8JqfKyZTaRGd8CTlrqiJur9S?= =?us-ascii?Q?Cw9TKVXjuMr27H/AMa+Nl3O1itrNRttAIRpDeQc0KXAr/rwwNcdRHw+vLXwC?= =?us-ascii?Q?z06Pe5msva5gm+EynTbkAfma0wHndKvLbFl/aTqYNJ8tIbrFJ5e/oPnrzGzg?= =?us-ascii?Q?8aQzD/piDxC5vD7laNpgZkHBRT7jss6lKnrBWEhOriyXrQf9z5bkbuOrh7fQ?= =?us-ascii?Q?ozIOMBn/AukZOB6AanZ0zpgqKXgcYe4NyGZ/Qaf7qv0aZBTQkrWC3IRIeKUW?= =?us-ascii?Q?6gf+aEXQkPddPeoBawpFR7vqAw4VSJtY1c0HrJIV5AmgBXK08X/NZH6DIAR0?= =?us-ascii?Q?R7fZiO02SPy5jjvjytOgo/Hs0agEvF009ynbvXBdIj/NYiraofeVv7iOYJEc?= =?us-ascii?Q?Wc/TqoeEgOJGuO91Bdae2YMMdOmPV5YTKLE58BpqXulBgAefRuytoq3BDr+7?= =?us-ascii?Q?70GRjJALRvdj36VtXSJ4oKeFS33RhPMGEF/9x1MUgIasiWZGYVDhsiERos7p?= =?us-ascii?Q?INWxF2YiEq2FXwkun+Qr9N//C2csU3D+uBYLsGDzCoai4FgC2b/pY6NKFHZJ?= =?us-ascii?Q?sobdRTwGcGIi+rvL7o7+op3VpAQOf17a8H4fkHBdtKAPonxwDdeSGTGwcZnh?= =?us-ascii?Q?xeB9x/5NbG2aezt5Q00Omjl1ZrIqSmEHmS7XMr24/b8vKQbXB1NrQcHNyPlu?= =?us-ascii?Q?jg97EUc5eJt/DVj+LXmcV0PiJEWeuJqHrfjPUfjlpCABZ2FF1KPFmbLNRzgB?= =?us-ascii?Q?BalHZnHYw8X3RkqtFGMFELCyiE0BvILOA+nQ22UVTxFdthVdw8UXp2Aozc40?= =?us-ascii?Q?10/cgOXrkrkJcmZoJ0py3KZyzMUV6ij40KIB42fXreMCjPUl4sUiyVeUWIbj?= =?us-ascii?Q?hDSEA2aXjfVFEGKfp5rOY5/lnoyeWNtG5AxeP8NoYOpNRRTNef1T9rkB1IMu?= =?us-ascii?Q?WnZc0FblqZr/0n4=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA6PR21MB4231.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?A+2Loa6Afhi/PUnu6+hdurRiVLHG8XrXEUCf+zJx5K+e8PgpHs5xS/fp63DG?= =?us-ascii?Q?DSIqjHmr+1Ih+oi2cyjT7MtL/4ln/nMGCE5SEbDvO7rLy42+60OVJwO6KYe3?= =?us-ascii?Q?SlUYgVF1dTTnR00kGzuxYa7ltMdiruKmdOMAG+U8DJd3eYCVQxG19KAvjRj5?= =?us-ascii?Q?4QqX3dmRBWVuB+J2hC2TDooiony8xeGNbGBRKzHz1WMHN0dawSf1GC07mXvm?= =?us-ascii?Q?l2BDGigekNzEbtYS1TccahGQF8C8xnnJ9ilZYNGEG/Iu+ukpVpLSml/NZ+6F?= =?us-ascii?Q?zV96lgvRf9e5V3sZTnBvxQZuRIaPb7vP4bwO+tSDgu1hlw6/kdgH20qdvAPo?= =?us-ascii?Q?eOlxNms6efHEMd93DokvYHy+PhCqPX4YpAUkINV5RN4hdPX8b7mCnRQ4Qd2q?= =?us-ascii?Q?TFJj3CgBPWbipYCQD35dAVhoivPjeXICwda64q1UIvSNCUnb7wik8CAzzifc?= =?us-ascii?Q?7DP8gjhv5aSUwRHsS9kPlm6ILDrGFTXlgdfX8CGMgj5YOsFnNHSrhxCSQ+DH?= =?us-ascii?Q?MvNb4XsGMO2mcH4pSPZ127KJuzmPTCI+rUMGdJV7ZE+T7WbCJQ7AFAVpFfMx?= =?us-ascii?Q?xuTz9G68Et8Hj5eXsfjRMx/S585yWYeIdyyWC+OlCLZn3Ea85hN6LXeUYL8/?= =?us-ascii?Q?9nrDM1GLedYHZVEoo18TVgvrREf7k2TvxERCj3EeCOcLq9+sS8NB5Xdi87Gb?= =?us-ascii?Q?Q+eJx7d5qSuuAidza15g2wk0457vvcxz8ntkcQbganVBPzfDkJ1sfJ4QGQ82?= =?us-ascii?Q?jCKotWxmYvibvAIp3KdPMFsJnIvU64y72GcRF67tawRVsahWtYx/gbp/+1D4?= =?us-ascii?Q?b/yrLiNizHJCY66gfEtA21Fo5QF5OlyHR87SLzb4wQ77AK5ew7VGWViGcH7n?= =?us-ascii?Q?VjNVVU7lbFvquITPXBdf4MEm/6gdYwGSXDTsmOeUSbYFxsdgvmu0DWA6pzmj?= =?us-ascii?Q?E40wGkigU+orNe9l/Gfzj4T1QyzkJPn85R18drY2YK2ivlKDLHqR3Gs4ykU1?= =?us-ascii?Q?6lYq4ygCbSQrPC4TgREqyOfL9BqS5VbZQEzsXqlUgvyE6YVeZXCVEEZhbSkI?= =?us-ascii?Q?JDfKMrYqn3dazOoNAX/vrhg935pahR4HJ2DvviT/T5tB09v2co7JzBMOC62S?= =?us-ascii?Q?BSkNaZHuTmeNlDfBqsTZP4Rwv5D0LomaqYU7pY6od9HwQt6ZLSyGYgJX1qfx?= =?us-ascii?Q?TsO+qo/urMuWnD1/SxPUMdTS1sacVXwIp7jEecY6WasSMydbY/U5TH4LiODQ?= =?us-ascii?Q?jEcGYohUyFFXg+d8M5WXgxufHeBIMphQ1xazmx5jeXfWbpfHJl3PzANKcs4+?= =?us-ascii?Q?aTYntOEPlkXKQYTioxyFJJ9NMCie0HuL5rFiB+0Kjtd3jbeDsMAxf79QTLyx?= =?us-ascii?Q?5TovnV0tLz8T8WMR1qFY8yzonfC4HmdQr/Ldv8vdm4AmBGxXhCty21JXpUQ+?= =?us-ascii?Q?fk0CIeYaCdZKRaTh3akThS4R95pK5IE6Q63SQYFAJRLg+PqUVxi31Mwk1CTq?= =?us-ascii?Q?M2uemMHNCjcxkjbThi2e2Ina6XbEHV/QKGkIudqnv/cNzrDBxogW12ci99CM?= =?us-ascii?Q?zkTttg/jEf6f20EM0GIw+jhRBlADgtMaDv4t3Wfd?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA6PR21MB4231.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7cd59203-c2d7-4106-62f1-08dd785adfa4 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2025 18:09:45.0815 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WUzZlU/rB2AVbBWg8YLCg8IZln2gr2UeiCzYG0Xo9QbzC60dOCvn1pei7+wQuiC1JXBKZnYh4akF4pg0ZOLJSg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR21MB4032 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 > Subject: [EXTERNAL] Re: [Patch v3 6/6] bus/vmbus: set event for channel w= ithout > monitoring support >=20 > On Fri, 4 Apr 2025 17:35:38 -0700 > longli@linuxonhyperv.com wrote: >=20 > > diff --git a/drivers/bus/vmbus/vmbus_channel.c > > b/drivers/bus/vmbus/vmbus_channel.c > > index bccef168d3..81e8096190 100644 > > --- a/drivers/bus/vmbus/vmbus_channel.c > > +++ b/drivers/bus/vmbus/vmbus_channel.c > > @@ -24,6 +24,19 @@ vmbus_sync_set_bit(volatile RTE_ATOMIC(uint32_t) > *addr, uint32_t mask) > > rte_atomic_fetch_or_explicit(addr, mask, rte_memory_order_seq_cst); > > } > > > > +static inline void > > +vmbus_send_interrupt(const struct rte_vmbus_device *dev, uint32_t > > +relid) { > > + RTE_ATOMIC(uint32_t) *int_addr; > > + uint32_t int_mask; > > + > > + int_addr =3D (RTE_ATOMIC(uint32_t)*) (dev->int_page + relid / 32); > > + int_mask =3D 1u << (relid % 32); > > + vmbus_sync_set_bit(int_addr, int_mask); > > + > > + vmbus_uio_irq_control(dev, 1); > > +} > > + >=20 > This part doesn't look right. RTE_ATOMIC() is just a macro to add the _At= omic > attribute. >=20 > Can it be simplified like this? >=20 >=20 > static inline void > vmbus_sync_set_bit(RTE_ATOMIC(uint32_t *) addr, uint32_t mask) { > rte_atomic_fetch_or_explicit(addr, mask, rte_memory_order_seq_cst); } >=20 > static inline void > vmbus_send_interrupt(const struct rte_vmbus_device *dev, uint32_t relid) = { > RTE_ATOMIC(uint32_t *) int_addr; > uint32_t int_mask; >=20 > int_addr =3D dev->int_page + relid / 32; > int_mask =3D 1u << (relid % 32); > vmbus_sync_set_bit(int_addr, int_mask); >=20 > vmbus_uio_irq_control(dev, 1); > } Hi Stephen, I need to go back to this version of the patch, as v5 doesn't compile succe= ssfully under clang with the following error: [459/3553] Compiling C object drivers/libtmp_rte_bus_vmbus.a.p/bus_vmbus ccache gcc -Idrivers/libtmp_rte_bus_vmbus.a.p -Idrivers -I../drivers -Idriv= ers/bus/vmbus -I../drivers/bus/vmbus -I../drivers/bus/vmbus/linux -Ilib/eal= /common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include= -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -I= lib/eal/x86/include -I../lib/eal/x86/include -I../kernel/linux -Ilib/eal -I= ../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metric= s -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -fdiagnostics-color= =3Dalways -pipe -D_FILE_OFFSET_BITS=3D64 -Wall -Winvalid-pch -Wextra -Werro= r -std=3Dc11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -W= format -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissi= ng-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsig= n-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-align= ed -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=3Dcorei7 -mrt= m -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno= -address-of-packed-member -DRTE_LOG_DEFAULT_LOGTYPE=3Dbus.vmbus -MD -MQ dri= vers/libtmp_rte_bus_vmbus.a.p/bus_vmbus_vmbus_channel.c.o -MF drivers/libtm= p_rte_bus_vmbus.a.p/bus_vmbus_vmbus_channel.c.o.d -o drivers/libtmp_rte_bus= _vmbus.a.p/bus_vmbus_vmbus_channel.c.o -c ../drivers/bus/vmbus/vmbus_channe= l.c ../drivers/bus/vmbus/vmbus_channel.c: In function 'vmbus_set_monitor': ../drivers/bus/vmbus/vmbus_channel.c:51:22: error: assignment to 'uint32_t = *' {aka 'unsigned int *'} from incompatible pointer type '_Atomic uint32_t = *' {aka '_Atomic unsigned int *'} [-Werror=3Dincompatible-pointer-types] 51 | monitor_addr =3D &channel->monitor_page->trigs[trigger_inde= x].pending; | ^ cc1: all warnings being treated as errors I think it's okay to define those pointers as "RTE_ATOMIC(uint32_t) *". The= pointers themselves are not atomic, but data in the addresses they point t= o are atomic. Do you think it is okay to proceed with this patch? Thanks, Long