From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EDB9DC5321E for ; Sun, 25 Aug 2024 17:56:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B6F018D0012; Sun, 25 Aug 2024 13:56:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A5E268D0017; Sun, 25 Aug 2024 13:56:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D8598D0014; Sun, 25 Aug 2024 13:56:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 603268D0014 for ; Sun, 25 Aug 2024 13:56:49 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id F1AA51407BE for ; Sun, 25 Aug 2024 17:56:48 +0000 (UTC) X-FDA: 82491523296.01.7256665 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf26.hostedemail.com (Postfix) with ESMTP id 73977140019 for ; Sun, 25 Aug 2024 17:56:47 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf26.hostedemail.com: domain of cmarinas@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=cmarinas@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724608588; a=rsa-sha256; cv=none; b=b6LQZmn/SfqfSmJb8OIOi5ogkvY7FMdKgcSeo5EcxCehcKAG17FD90Hf1SpBSvJpjWdVAq V/p/gy2LIY74a0MzdlOhlhkdYfZfsTLFis6pNeDAFGCG52Yp5+5mAR6mlXl0fM4eWSjkPn wNynJGxrpWwzS2aluedbwknMAwkonSk= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none); spf=pass (imf26.hostedemail.com: domain of cmarinas@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=cmarinas@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724608588; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Q8XKnc0XBARsVPQpuEIz81+11vl6+Ld+VEZ7OM6ATq0=; b=3XjgFp4iMrgQ6LP2fAMtRgqR0S2qYfKFeGobM0JBgIzMX4fFt07lB0ZXAYgUl+Qjd6k/4h vPy9v61cR1g0ozGEJ00hXI1pC3q67HOz79+6J5LIIadgmOkZP7XyukF5t6cQplXiOq684f k9h+zPrts7SS5pfaUpjTtYjye5q4yek= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 0683AA40B24; Thu, 22 Aug 2024 16:17:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7A5ABC32782; Thu, 22 Aug 2024 16:17:16 +0000 (UTC) Date: Thu, 22 Aug 2024 17:17:14 +0100 From: Catalin Marinas To: Mark Brown Cc: Will Deacon , Jonathan Corbet , Andrew Morton , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Arnd Bergmann , Oleg Nesterov , Eric Biederman , Shuah Khan , "Rick P. Edgecombe" , Deepak Gupta , Ard Biesheuvel , Szabolcs Nagy , Kees Cook , "H.J. Lu" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Florian Weimer , Christian Brauner , Thiago Jung Bauermann , Ross Burton , Yury Khrustalev , Wilco Dijkstra , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Subject: Re: [PATCH v11 21/39] arm64/gcs: Ensure that new threads have a GCS Message-ID: References: <20240822-arm64-gcs-v11-0-41b81947ecb5@kernel.org> <20240822-arm64-gcs-v11-21-41b81947ecb5@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240822-arm64-gcs-v11-21-41b81947ecb5@kernel.org> X-Rspam-User: X-Rspamd-Queue-Id: 73977140019 X-Rspamd-Server: rspam01 X-Stat-Signature: 4374t8hkcjpejuhu95f9kkh1xdzqmcyb X-HE-Tag: 1724608607-83313 X-HE-Meta: U2FsdGVkX18fPpLd5CmW+PrVBOkWnn4NfxDQhGlSUAgIQIZpnmWftHukZHLgDEdqfmF87zsjxnK8TnBnzW87foYeJzrs9A7olRGx6p6MUZkg1t2rTBLF8NfmCAuhPWzgDFJujz+PO/YCBPuqjaq/wXBGeF42zIw0ta4a8Fcti9AB+3iIYHMGdNFa4BS1f2qTZlp1lh0SPy/8cV88N8WaE9pcsB3el+uShZe+zKCyWlz+0TqbLiDmXoe69osv4B+PvFPNZLdaBb+qVmrJYM6rUVZLaDctpyeg0OEM4do9O6GIVhNNlNMd6ihdiYPTVbgya7y19J/CSWJmRpZEKW6QtQV+fWIIQRvAPOrAb6ODxQ+rti+BxNPef7ja4NCePUkanPAPey6SU6oJcfMHsCd+mIiGtDDzh5Fq3C9+gDkT1hpSWcecKtx1ERjts8iROvMAP0nETqJ+Ub/lFXvSmhbvCY1ef0+DvpZvL4CzTmonbm8WUuzcGfatGeKZI+H8JmzXPSkmj/w7jj8TT9D5GSJLEVJ7D7E4pSxqqsiB19cHw736mT2AI7i6yG5qs71+FpxxkfRIGg6BOwNOxo259OjRRYKUMkRc5qHTpLrEtL56lZDcXp2jq7KQMRZmJU05hcnLeVLa4gG2Gq1UiA+pAPVT1z+dFOFxVJT7CIPMabg7cLBiW5y+cJY/NFLlhyP15W8Pyn6p0mRZ1CD0J5cvPUnweREb6wr7/PPdFDjIsvnw0PatsHq7f8vZlcsKRK70ScJwFxoa4b6FAtesDfu35iZe8Mh048Cx9FKbYS3z4w6H9HYqmWtOrzwl6xA5IydY+65+KpRZRKA0ZVXeaSfy+Ch9ARsIhNXaJbLGJUsW9BJaZzfo0QG1b1By4IVMvKtQpieOVZDhDXLg2sZqngRws1CEGCFCgmwgdLSP1nHcf6k2lfeMigP7w+DKJ12VF5yl0+7BBA5drI5gQ8z5A75YaUc f3NJeSJZ 5ztj36HAxYcRFd53Mk8turKjhseAl/qlMH150sdVijhO44szhoJgg4yHZhmD+ddEpYABO6AmjM3+3Ym+B2j73e1vEJzMnACn3TbpdeIEEGjZpYXaAqYUmeg/2wDkBc2TiBQMqEatmU7PXY7wqFxaTqvJRU66AAg7F8PHGVhN+mIoJ/ionJPTV+l1twhOw+v9yWEIGNMr8yB2YuE99DccA1zjZbFyk52wepRuVzAAiWNKdgv6aaCHkzIz/IayCCt+EWxLI6Gp//GYIcebWW75YOMIADBiY2gFIOzvtgJ07ogI83Oslvzyk1W8CX6yMGQ6ikS+OZ3ZaFvL/y678aK5SbPWroxxzmvwA0TGQKqmWaomZYhrXFTrF9DHEIZnwKAKD7TyfAipx436DAE+GknliZwTAvxjf5/NVjGApKd8I46kE+u78qN3E48uQqCG8MJD4seS8Ffi3MlUdFIMBCGG4oszUMMcXSRp58/sz7wwtwir7zjeewc3NxMCeLbjK1SgNdWrq X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Aug 22, 2024 at 02:15:24AM +0100, Mark Brown wrote: > @@ -512,10 +538,16 @@ static void gcs_thread_switch(struct task_struct *next) > gcs_set_el0_mode(next); > > /* > - * Ensure that GCS changes are observable by/from other PEs in > - * case of migration. > + * Ensure that GCS memory effects of the 'prev' thread are > + * ordered before other memory accesses with release semantics > + * (or preceded by a DMB) on the current PE. In addition, any > + * memory accesses with acquire semantics (or succeeded by a > + * DMB) are ordered before GCS memory effects of the 'next' > + * thread. This will ensure that the GCS memory effects are > + * visible to other PEs in case of migration. > */ > - gcsb_dsync(); > + if (task_gcs_el0_enabled(current) || task_gcs_el0_enabled(next)) > + gcsb_dsync(); > } Ah, the comment turned up in this patch. It looks fine. Reviewed-by: Catalin Marinas