From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11012054.outbound.protection.outlook.com [52.101.53.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A59F233F8C5 for ; Mon, 3 Aug 2026 21:51:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.54 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785793883; cv=fail; b=owIxJSfopOmFG68H2h/kWTKvxyIasF1yBAI9Y+SSOf4obltflaoVlW1jo4xhV1/RbKEYKI+pmPFPeca1MGEqb0QzeDSbI1CvtQi1MPE1Qn5FTC6xgKfcKnUUvhOLp3RakCHonpc7cYtsoiFjcY7NOzl47LM9iDruX6fLnUMDWFc= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785793883; c=relaxed/simple; bh=Va3T0twpKlRIjBahv3EEzmJ6Qi4m3EDUsRbTzwI+tAg=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=LzgH5uWoh7LtiSw9cXr+1vc0K0dy5WFQhcrxWlmwlhTF5z8QEFIHtqUlzITUY6f+D6kcQ5vqfBGU2qx5PcxMOZD7zbU4imnH/Zw6RJbYIHcE80xavnNGN16kHb/aTWnY2ZSzd92OAXVRrxNs31wXh9JDxkZpULmNKYs8Zur5ylc= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=uTtHSKi6; arc=fail smtp.client-ip=52.101.53.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="uTtHSKi6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=b3KFVZxN/WHo4riFnbsN/Yk1gqkNS+PWhztt/0/o+Na3ScGRmFe9T7c1fVk5ub4vc+s9xJlR4FS+rMFg2WFBaGHS+0nrmTselQ76Gm7Pebwaf0th+8pK59uTZ9/hr/PUP655X+UCrtLkxrxkhke3v9UOaU5xF71CBjzDZbUN4aMcbTyQ6OdZev5KLsxKdyAt3IcgF3ibHik6QZBFHPX/CaZA0a6hOdJe7MQO/e5+jq/6loN9gkEb/JeuUH9usEuU8+YM4sXtt8cjUm685HoWK6oYVxYByUB9Pz1TvKJpCpEBfHdpU2FnK1xO+48kuuS7Si/Riv/PF/DSJgRzCx6hwA== 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=ndKfmXaZzKgUnRFHKrFSSgXDxNQRgSlc83LH5J0ETuE=; b=EwTKlQcMWsgyHw8cHpGhrfsl2u9yrpYBIbu3O8DF/oUkEdoydIu7yM2Bdd8DbtiRz4oncUQawWZeERQUVgcRe8rhAOl8LfxgPifypIZAcWTiedHIQAwZBPIiQSzas5IR7NPjQ+IQeKhsT9iG3MrxafLCimOvP7tjmdX/vKUG7LfGSHq54QzyU8aFMfkvgYJnPomEIen30tiYf+tUF1sBel/4oyhEGM/fWmGHMaQ7Xv5LknH+k8lfmYnsCluWOeEb8IV5ysLr2fE4+SPe2e6Uo+T5Ryq/PvCb0PVsRz57jo9R2sD/EJrY3VUV1pfPCZ1iLJmKr2ms7Xq/mdwSf4Ktag== 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=ndKfmXaZzKgUnRFHKrFSSgXDxNQRgSlc83LH5J0ETuE=; b=uTtHSKi6dtqWignUrUHUmWw+iDe4qkY6B5T5rsknc+fQuPUkoP7KQZ+DMTiPQIl1YSaqCAuGinQeUO4x2zz/AqsZNBrs9j2f1D5Sm/cJKvcCQxNmNoO+Mv9G9hOpKCC2wqip668wOlkuNwNM25BJmCGDWa5vcQnyn+/JGqwuzgJqvl3pZ5dRZzYB71jG5iHEKENcy29FrIoPWh5c6xhWrSchDyYxM3QLs2onVdjrrAV5nUe5EhSAdlxGDFtMYJGd9jD+kqIQ7ocC4YmIFF/SS2SelejHz1OePTpq4mh/UUeLAsVcY6EZyhFQKzL7pBw7tOBt3n3rC7qc4TTRU7+U2g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV3PR12MB9356.namprd12.prod.outlook.com (2603:10b6:408:20c::21) by PH7PR12MB6467.namprd12.prod.outlook.com (2603:10b6:510:1f5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.18; Mon, 3 Aug 2026 21:51:18 +0000 Received: from LV3PR12MB9356.namprd12.prod.outlook.com ([fe80::1c36:31b4:c420:6286]) by LV3PR12MB9356.namprd12.prod.outlook.com ([fe80::1c36:31b4:c420:6286%5]) with mapi id 15.21.0270.016; Mon, 3 Aug 2026 21:51:18 +0000 Date: Mon, 3 Aug 2026 17:51:15 -0400 From: Yury Norov To: Bibo Mao Cc: Yury Norov , Rasmus Villemoes , linux-kernel Subject: Re: One question about API cpumask_setall() Message-ID: References: <96cd1c74-a40d-336d-075c-cea54d621acd@loongson.cn> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <96cd1c74-a40d-336d-075c-cea54d621acd@loongson.cn> X-ClientProxiedBy: SJ0PR03CA0148.namprd03.prod.outlook.com (2603:10b6:a03:33c::33) To LV3PR12MB9356.namprd12.prod.outlook.com (2603:10b6:408:20c::21) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV3PR12MB9356:EE_|PH7PR12MB6467:EE_ X-MS-Office365-Filtering-Correlation-Id: 96fb1780-2f54-4335-107a-08def1a95916 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|376014|10067099003|11063799006|4143699003|6133799003|56012099006|3023799007|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: WVqA5bhm/61r3zwSPSXsqFyuZe5R5IXAr6YyiDYKLbdDVLKc6ihmYnIgRCRvYGGQbXN8ispUck/HhIqF4Qpj8TzczlFhevCRcjuFnXQLxmQjxHhsbh/DVKSlTlJtIG12hL+AYlE7xI7OYYFg59WABMsu9aYBi7iqPHZPGeUr/AvP34AMbXsjiRfJVYSL+l7Nf9763JUJ9mT1ql1BlxVOHW9Pz3qQJqzZ+DZS39PeHTQ94cGI+6NURvLbY04oXcDcFDiou/Fe9rvvcQYDgYeGqqkbdHiqLggLh6G+LaYlVMPv3tuTmHq07qPmdmmpqiUFvCEyWJoBlYZQdPb8pi/j35V68YpU4ZeVg2I9pSZuNSrSD4TmckLJLYb6B8awqPt52ica2YdO4oaVrfLsL6tW0FFlTtSPcqVnR7d0vZ2fVDAjd/+SPm5QhNzylTZsP8Gtpjh4/4u0zlkSbmkKDaHtvEhi5315TISQGgpnb3ICqrIoH5u8VE6mOT/BbpWz0vg4riCWqB8QJX/jP413TTDKqLw7mFLY3yWTIJAQpsS/+7FIkepXHQ/cd7NE7y2nlufctmv/xrCMAxgDHvZiitmwRNeDHi8VKF4IkdSjDFZpYAMcdNk6cYEgWxrSwEZgHOdzU/LuEb+PcMa5EDov6rDexxfL2EITCJEuJhH5WxmzPsE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV3PR12MB9356.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(1800799024)(376014)(10067099003)(11063799006)(4143699003)(6133799003)(56012099006)(3023799007)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YXhjSjI5Y1dlTi91TzJ0cXIxMTcxTk5Yd3N1RjdQemgvTExWYUozeDBQcldr?= =?utf-8?B?K1ppK3A5elBLc2Zic2had2FycHVLT2paV1NPUy9LYzQ4WGQvVWp3NWVhWGRJ?= =?utf-8?B?Q1JhcEtjemNZRy84ZVJMbFJkR3lTbWtmNWU3amV0QlN6Q0dmQ0F5RW9zZVNI?= =?utf-8?B?L1pWdVJuRGVTdTBQc0FwK1U2K0dmN1BXRnZuSXI5OWRxSy9idk16dGVjeGYx?= =?utf-8?B?dEJzbkcxRkVFSUFVZ0ZxU1B3ZEEzdm5VZGZyM3dtWEphdFloRWdpaGxkSUZt?= =?utf-8?B?NTVDWStNRnJVZHJGWjZOeUtOMFZxaFBYSnpNaExqUUYzd29GcjN4NmZmS3ow?= =?utf-8?B?b081bmttRXBNUWpWSWM4ZDRlMGxSLzZBZ0VSdDhqak5LREpMd3JkMmdpUkkx?= =?utf-8?B?VWlPYWFoSENxU1BWOEdxT2lXaTRBeHRBR2dZU3J5MW9MNktuWlEzMUpUN1Zk?= =?utf-8?B?VUw1QmtmUmJvS2NtUkk3TUN6bmF2VVVNUHN1RkJMR09WRVAzejFTRlZLTkEx?= =?utf-8?B?RzZqNEtMNFZ5OVl3STAwdjZyd0ZkVFE4d240MmRNVkVkUklCUHZSRmFRb05w?= =?utf-8?B?OHBpZ0cwaXFNaGYyY01MaHhpZk44TmJhWDhKRmUwRVZLU3F1Z0Z5WFlFOWoz?= =?utf-8?B?bzZCeG9OQU9SejF3V3ZNbEIzcjROMzNmZFBrWHJwMG11V3VPWnBLVk5CcHpl?= =?utf-8?B?WStpdVZNam1kbGdWakl0bGlKejYxWjlwb3cxKzQvMTEyeUhaUjJFL3B2M0xo?= =?utf-8?B?U2IwQXBXallhWTlXZXpFV1pDdHNNMGMwTURHY0c1ekpwM0dNUW1meHdoVk1q?= =?utf-8?B?aVdidE1TNnc1OXpMUHZXVHBJc3pNL3Yxd1NUNzdEc2xRSTdsY0xJY1JuaXp1?= =?utf-8?B?MTAzVlVNS0hWV3pXK0h2WHd6Q01FZmFqYXNvVVpuTGtTN2dWVFgrbU5VbCs4?= =?utf-8?B?YnVIOGdhdnhhTnVHYnA2WlJYb2d1L1o2SnhIc1dkeWdZS1lLVXpFQW5KNmJy?= =?utf-8?B?Sk9aZmV6OGlFMG9VcG1SaEVNRjgvNmZqRGwwOS8wdEJGTk8zKzB3Qy9POUVU?= =?utf-8?B?MW81UW1qdS8vNGhmK3gzUGVmcTUrcEY2ZEtvdDczRUE3dzMwTHZwVmY5enpt?= =?utf-8?B?Ty9DZzBDQnNTZnNpbkdKWTQ1WW9PT3Z5OU8vSTcxOHZIaFNmSlNDSnFtamRT?= =?utf-8?B?akc2MUsyUzVQd0k4N0hOdUVFL1FPanlic2xwQXl5SnRTWE9QUlpFYWtoV0VO?= =?utf-8?B?dEorL3F5NmR6bWdvQVcxdTV2cUtYZnlFNUp0cUxsalRRTis0bXFlcm9ZR3NV?= =?utf-8?B?SkpuOUx1ZmJvaDVwOTUxeUpGZ1Byb2NLZlVzRGVPS1hJbW1xTmljQ2xaZmtU?= =?utf-8?B?b0hCaDN3Vyt2TzlrUHNXVUlEMVVLKzh4SVBLQXRaMnVMc0lPZm9lUmVQZlg4?= =?utf-8?B?clNKTHRmNVBrVHduY3BpdDFXZUM3cDZ5eTVvSmVMTi9tS2pEazlKdmxFOHRI?= =?utf-8?B?eTFDTzNoaDR5QXhqWkZ3U2VuemdKL2lZc2htRDBoMjZ2RGFkKythQlJGM1E1?= =?utf-8?B?OVlka04zc3RUZ05kdVc1NU5DWi9ZRUQzV2pLYTlRRHJXbUFFVkErbGdSV2lj?= =?utf-8?B?amI0N1dmcjNlcE85R3F2WXdWZmdUMWRNNWVSSTgxc1FHajVacWV0TnYwb2JK?= =?utf-8?B?VFJPamNHbTRhZWZIMUdSOVl3eUdLTVFYTHJmbXF2L3Y0ZzB3RjBGUitLbE9E?= =?utf-8?B?N1lCSU9hSkhYZHNBUTRhSWNnM0JJTGlZUy9zeFFWd04zdGNOTkYxc3FvKys5?= =?utf-8?B?ZWlURjNvK1YzOXQycXJFUEE4elJsRnovNHcxWExsWDU1ZTNpcUhRNlpnS0dJ?= =?utf-8?B?ZGxEUC95Q2wzUWJXQ2ptNHQyZ2Z2ZXJnVFBGSXYweUtBNWVhZHFDR1F0RlR2?= =?utf-8?B?TWNzRDNhY3RIZFJaRWd2VE9MZ21kT2dzdDhzd1I3UDExb3pHTkVDcjNPUEtw?= =?utf-8?B?WmpNNWNHbnpyTFZuOGxOK1FrWXRXVXdtVERFSTNRS1pScVF4aUJUcCtLSmd3?= =?utf-8?B?TXovWU9SbXFFMi9Nck1PMnNpVHpqZ2d6N0FCbkdOd1VXMWlLcWR3c2JkbGE4?= =?utf-8?B?UUR6ZmhrTXFHMjRFbEdUaFRndndTQy8wUjB6d0xKaStrYk1vOE5GUldPOUpM?= =?utf-8?B?M3BPVkJYZFlSNXZzaDVHd0l2TTFxSnBlSlB6T1A0cnRNM09OVDRZVUZQL0FE?= =?utf-8?B?MG5DSXdSR3FqN2hhRzdZY01ZRXJvZnVMa2RmQ3Erb1JuMjdSZWJJTG43R0xP?= =?utf-8?B?KzhMN1B1ODJ6U3NGTmRSYTR4NU84czhPYkxzOEgwdFpzZnA4N0Zsdz09?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96fb1780-2f54-4335-107a-08def1a95916 X-MS-Exchange-CrossTenant-AuthSource: LV3PR12MB9356.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2026 21:51:18.1388 (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: B6j8Sk5G0H8WlSA47Q2Lf5CoBVDvY472QMIG/lR1hg91ZHZHH2eJ7D1g+GB3j0/H5lyHHfmn2Q2MiOCxA7uGcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6467 On Thu, Jul 30, 2026 at 02:41:42PM +0800, Bibo Mao wrote: > > > On 2026/7/30 上午1:57, Yury Norov wrote: > > On Wed, Jul 29, 2026 at 10:13:56AM +0800, Bibo Mao wrote: > > > > > > > > > On 2026/7/29 上午9:55, Yury Norov wrote: > > > > On Tue, Jul 28, 2026 at 04:16:27PM +0800, Bibo Mao wrote: > > > > > Hi, > > > > > > > > > > I am preparing to use API cpumask_setall() for TLB flush on LoongArch KVM > > > > > side. There are cpumask_test_and_clear_cpu/cpumask_setall() APIs, it seems > > > > > that API cpumask_setall() does not support atomic operation. > > > > > > > > > > Do you think it is reasonable to add new API similar with cpumask_setall() > > > > > which supports atomic operation? > > > > > > > > Maybe reasonable, but it's impossible. cpumask is a bitmap, which in > > > > turn is an array of unsigned longs. There's no atomic operations on > > > > arrays. > > > It should be workable with atomic operation on unsigned long, rather than > > > the array of unsigned longs, the API cpumask_test_and_clear_cpu is atomic > > > operation on unsigned long also. > > > > No, cpumask_test_and_clear_cpu is atomic() operates on cpumask_t*, > > which is a pointer to unsigned long. > > > Is it ok to use smp_store_mb() to fill the bitmap with the similar API > > > cpumask_setall()? where xchg() is used in smp_store_mb() wrapper instead. > > > > If your bitmap is longer than 1 word, you'll have to issue 2 or more > > smp_store_mb()'s. Then, a series of atomic operations is not atomic > > itself. > I understand what you say, the whole series of atomic operations is not > atomic. > > My concern is whether cpumask_test_and_clear_cpu() operation on cpumask_t* > will invalidate non-atomic write operation on another CPU. From MESI/MOSI > protocol, this will not happen, only that order of write and atomic > test_and_clear operation may be different. You're changing the topic now. You asked about the atomic version of cpumask_setall(), and I've pointed that it's impossible. Now you're asking about invalidation of caches. I can't say for each and every architecture out there, and all their caching modes. If you need to run cpumask_setall() concurrently with cpumask_test_and_clear_cpu(), please use external locking mechanism. Thanks, Yury