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 C3A26CD11DD for ; Wed, 27 Mar 2024 12:26:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 43AFF6B007B; Wed, 27 Mar 2024 08:26:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3EB326B009A; Wed, 27 Mar 2024 08:26:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2B43C6B009D; Wed, 27 Mar 2024 08:26:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0C1C56B009A for ; Wed, 27 Mar 2024 08:26:11 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 970A340846 for ; Wed, 27 Mar 2024 12:26:10 +0000 (UTC) X-FDA: 81942741300.03.5117E08 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf21.hostedemail.com (Postfix) with ESMTP id 340F51C0018 for ; Wed, 27 Mar 2024 12:26:08 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=pndfjFgI; spf=pass (imf21.hostedemail.com: domain of sashal@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sashal@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711542369; a=rsa-sha256; cv=none; b=dVZ1L+C8Pg8Y2IjN1j+epYDQHkPDTGzId6E+bkFt2PkS0gA4Hqpvjcp2oEdjcFZLiJElJ4 T+bEYrloVW+B3LLmyg1MqwcLhU0dQteQLqX4nKsb2yJGFHLEUEp1OXgIBJl/9bziaQnhnh 3ZNye6wc0pdhhjXX+ENtIPBdfTJ33dc= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=pndfjFgI; spf=pass (imf21.hostedemail.com: domain of sashal@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sashal@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711542369; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=wZYFpT9j6gPUNEPs6vPEI9sbJ28vle1Rm4jDs+ywqxc=; b=Bve95b0afnDT3cwtMejb8R0BLutMc+EBqsrP+hJTZ7SwLpYMHiv8Cb6lkv7rASBvaI2fKn UtIS6bPrVGKfhBED+C9POWfkyvqI2Oe4HOjdbcE/WSjhaMIGxc14/SKKzPEDZbhjFsoHz6 STLWgCGbDXME6C8h8kJB9GNIy+vkxek= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 680BE614CD; Wed, 27 Mar 2024 12:26:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B9E0FC433F1; Wed, 27 Mar 2024 12:26:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711542367; bh=qvXQSEn5whP5t5iuOJVE8A2AEXm8u2LzZ9Zug0KkhLo=; h=From:To:Cc:Subject:Date:From; b=pndfjFgId/M/IRVVCWuIQXbNEGJPMKOTyCHXn42eAtAGn3cARUzH1MdpCzmXavHMZ jJVLyaSK5JkNlyYvDBYm3zWGOZgf7j1Llk2Tz+1TvutY8B/pBDeYiMFbsI1z/zhuGT Lhc5Wd35Snr9YEGpvWaYxGicXavVaUC2y1m4kFc/Lt8aZlrBOXTk4VZoooFjz+H5r2 gR/XpbXYiNALT9xwmS1DzXUYvAJ8UXMiruKCspdqOjC245RnZFn508oLDrTHlO4cIJ /2xQcUoFltzxvUf4xnzKDUc/xQwKtEl5gPjcUheTU5i/41TmkSrrHIWAp2NOLcjnCJ OGZTXcn+6QqZQ== From: Sasha Levin To: stable@vger.kernel.org, chenhuacai@kernel.org Cc: Xiaotian Wu , Miao Wang , Xing Li , Hongchen Zhang , Rui Wang , Huacai Chen , linux-mm@kvack.org, loongarch@lists.linux.dev, linux-kernel@vger.kernel.org Subject: FAILED: Patch "LoongArch: Change __my_cpu_offset definition to avoid mis-optimization" failed to apply to 4.19-stable tree Date: Wed, 27 Mar 2024 08:26:05 -0400 Message-ID: <20240327122605.2840815-1-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Patchwork-Hint: ignore X-stable: review Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 340F51C0018 X-Stat-Signature: esy78hu4scie1q7wx9hdd6nrrcus1zwp X-Rspam-User: X-HE-Tag: 1711542368-371332 X-HE-Meta: U2FsdGVkX1/i5kj5kxgReX7OKuM6EwOlAB2YY4IilVRJinkkwlczsRQ57sTtIBE1PP/FsvCv2We2KDi9wrZZCeoqyzsrncUdVrTvfyTd9CrxhVB+XA74tfv/MzVhQz6U9pOfsfl6yD9DkzEDzuPFqlKHbaeMWnfqSd+brs34QjLAAjsTsPviaPxw2lSjXks89YJcdHmvoSmBI5G7CfMLKh9EBWnBimI58k+NTxb6dbXzx5IrBxwbhVz0D6cv5TzHO7aGWnfXljc/dV4leNYh25pi2a3GdI/g7VL6HAdyLBjcDB6xOijvWqKNDcCJVH4HE8WEEgdS20LcpldjmSgE0nz7F5DlpyY3ovGyv8ki3ZHXTgArhMPKMwCdWT9IkP6zGvyYBaEDHAq1pg5oKTcgkyU6KfXS27MNdi5/GRQiKX5DfjITT5kZAaC0v3nejA3LfAASsuscRHgvOwfNMyspjaIbNZJADCoApRadkCmk8Xlt+qb67j4uqvE/GmLPBIXS6c4W85FgMNC830hv2hNvxV2hV89CFuifDUolIKYuiaxTJUX93DHLFkXP6BRI9tP+RfBoqnStU4Vv3FhzpnwX+mpdUUs5prfT4bZGyN1NzEPepG6qziaUlkj7hgqzhl8ghX8JFFB4oXcSf2MxC8WMBAIYn5icpg7XZWXk1qxerH7qnI0s4lbidKTivZ5QzhdkZHHhUx5xwKq7jupEuX1PkmCD/9ox/8/ricHHy4R5HkiGezOThOOjmMEe2W/48/5nyAZw5IUuYr7XLMFyI5Zepyub8LDrUUxBX1elmb2Tw0CBVOJlpNWLkTQlgs+ZCIXq0fRTkaLKQsF1kx3Q/9ZugsDzkrDPGAnzD/o/vU28b4E2uK1pZkRkQWK9uCulVDr3NinlAlPVfur670vtSG9gSVedBReTCoH3SkjPilzsPE5MCX2VinlCcufa70MphRlzHKZCh/ZlIg/fRaR52JP DdYFFpUx MzyhG 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: The patch below does not apply to the 4.19-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . Thanks, Sasha ------------------ original commit in Linus's tree ------------------ >From c87e12e0e8c1241410e758e181ca6bf23efa5b5b Mon Sep 17 00:00:00 2001 From: Huacai Chen Date: Tue, 19 Mar 2024 15:50:34 +0800 Subject: [PATCH] LoongArch: Change __my_cpu_offset definition to avoid mis-optimization >From GCC commit 3f13154553f8546a ("df-scan: remove ad-hoc handling of global regs in asms"), global registers will no longer be forced to add to the def-use chain. Then current_thread_info(), current_stack_pointer and __my_cpu_offset may be lifted out of the loop because they are no longer treated as "volatile variables". This optimization is still correct for the current_thread_info() and current_stack_pointer usages because they are associated to a thread. However it is wrong for __my_cpu_offset because it is associated to a CPU rather than a thread: if the thread migrates to a different CPU in the loop, __my_cpu_offset should be changed. Change __my_cpu_offset definition to treat it as a "volatile variable", in order to avoid such a mis-optimization. Cc: stable@vger.kernel.org Reported-by: Xiaotian Wu Reported-by: Miao Wang Signed-off-by: Xing Li Signed-off-by: Hongchen Zhang Signed-off-by: Rui Wang Signed-off-by: Huacai Chen --- arch/loongarch/include/asm/percpu.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/loongarch/include/asm/percpu.h b/arch/loongarch/include/asm/percpu.h index 9b36ac003f890..8f290e5546cf7 100644 --- a/arch/loongarch/include/asm/percpu.h +++ b/arch/loongarch/include/asm/percpu.h @@ -29,7 +29,12 @@ static inline void set_my_cpu_offset(unsigned long off) __my_cpu_offset = off; csr_write64(off, PERCPU_BASE_KS); } -#define __my_cpu_offset __my_cpu_offset + +#define __my_cpu_offset \ +({ \ + __asm__ __volatile__("":"+r"(__my_cpu_offset)); \ + __my_cpu_offset; \ +}) #define PERCPU_OP(op, asm_op, c_op) \ static __always_inline unsigned long __percpu_##op(void *ptr, \ -- 2.43.0