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 8C69DC5321E for ; Sat, 24 Aug 2024 02:29:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9FE4E800DC; Fri, 23 Aug 2024 22:29:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9ADED800D4; Fri, 23 Aug 2024 22:29:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 89C9C800DC; Fri, 23 Aug 2024 22:29:29 -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 6D8B4800D4 for ; Fri, 23 Aug 2024 22:29:29 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 010E6C030D for ; Sat, 24 Aug 2024 02:29:28 +0000 (UTC) X-FDA: 82485557658.28.0CF1938 Received: from gentwo.org (gentwo.org [62.72.0.81]) by imf14.hostedemail.com (Postfix) with ESMTP id 54E6910000D for ; Sat, 24 Aug 2024 02:29:27 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gentwo.org header.s=default header.b=IGR28dm2; spf=pass (imf14.hostedemail.com: domain of cl@gentwo.org designates 62.72.0.81 as permitted sender) smtp.mailfrom=cl@gentwo.org; dmarc=pass (policy=reject) header.from=gentwo.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724466526; 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:dkim-signature; bh=AYNIX4YGBjM/phOMw2nTZgvRKdW1NgEQeYI6RhndT5M=; b=BsmgT50AMcr4QQ0AC1ugn5EpBwR3+uGEIlj2bEG5HUVW2tLeRWSHBBDrRzReR8PSxQKdBS VHOeevpgy83wEaDBFvJ1HtUIlrpuABhQkuLSEMtu4ug73Al/+aU3EkdIqG6jR1dTWJLIjP 0q5nOQyetShl5UfYCWuUV89XqF89JmQ= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gentwo.org header.s=default header.b=IGR28dm2; spf=pass (imf14.hostedemail.com: domain of cl@gentwo.org designates 62.72.0.81 as permitted sender) smtp.mailfrom=cl@gentwo.org; dmarc=pass (policy=reject) header.from=gentwo.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724466526; a=rsa-sha256; cv=none; b=VcS/nr/nosqT9pPoJ5PX1rp7ngY7gIklpdDsTKV5FGe5GddphHAXl5o88PDd2QMPmdlnLK A1NEPa1VEn07SVmUwkXoCWxC1AmHLNSmdg9bNX1QPbwivzkJxGEzS98nq4l9r3S+U1P5Aq BJXFp/9Hx6JVgTSGFm2l164PhR00iDk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gentwo.org; s=default; t=1724464663; bh=ZdptpvZunaw0PLSDFJJ841ADB7LgdVYYNI/QYfzS23o=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=IGR28dm2CK4RA6XwL4MgMGSZTe1cEs1GDTn8cgKqaxGGZ+SpUE0S9afg+1TDwgzrG 23mm7f4ggwaNLAoKKl0uA3F3c6DbPOYBhHTgDS/rtPHt47p3f+WCqavMT5Q9I2Po2s P52vHjW1YahXrTaGGRnifE5bDWYlXMQOLTlYesKQ= Received: by gentwo.org (Postfix, from userid 1003) id 7812240355; Fri, 23 Aug 2024 18:57:43 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by gentwo.org (Postfix) with ESMTP id 76A234022C; Fri, 23 Aug 2024 18:57:43 -0700 (PDT) Date: Fri, 23 Aug 2024 18:57:43 -0700 (PDT) From: "Christoph Lameter (Ampere)" To: Yunhui Cui cc: punit.agrawal@bytedance.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, dennis@kernel.org, tj@kernel.org, samitolvanen@google.com, guoren@kernel.org, debug@rivosinc.com, charlie@rivosinc.com, cleger@rivosinc.com, puranjay@kernel.org, antonb@tenstorrent.com, namcaov@gmail.com, andy.chiu@sifive.com, ajones@ventanamicro.com, samuel.holland@sifive.com, haxel@fzi.de, yang.zhang@hexintek.com, conor.dooley@microchip.com, evan@rivosinc.com, yang.lee@linux.alibaba.com, tglx@linutronix.de, haibo1.xu@intel.com, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH RFC] riscv: use gp to save percpu offset In-Reply-To: <20240824004920.35877-1-cuiyunhui@bytedance.com> Message-ID: References: <20240824004920.35877-1-cuiyunhui@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 54E6910000D X-Stat-Signature: mrktumwogyhmk8f8yycwq59cwm98nku5 X-HE-Tag: 1724466567-713701 X-HE-Meta: U2FsdGVkX1+I4+txvwuM/79KRwXmtOI4JXkW1H7ZU7oO11UpxNIBQWVTafmtzmltcBR0d9oxCnMYkC0uPiJmnxo5pIQ1FQ1GnVdQhEwatcSyZyzf80OvHzbvpI6XlJDjv5RG+viJg4gibdRhIpdjnRl7CKXjtVSMYKfewrbGCmVkSLOlzCvm41DpNgFhYMz2Hx8qP3zluchUwtQZxKbm/6Ti31YS1286oWf3CniSlt0d9u9L3QTKrz4haUuiNcRQfLYfmLm/r6iE7CgXmmrWIlZpB3hT1nVGxYoktWCVBhmhSKR6t1gv5/wiViKq7Qkm+ouBcNsHMQmVYOQSBXjyCieCBvz7W+ID6O12BFLzgRCJKyDHeglKvoGpDc3BSuX/qSmrT/nhgHLxZlhzBFP+vgnRKBTCAuruVkRQsmTyLShaWJ6jevrUYuOLXiOmkR55PeX6cqcsVtdrOqJNMPD/2zzxwRF2HiH8rjs8NLC88lE3k63BAb6PWpkEk3VggnEAcZYtzHoFoD59R10A9vRiiTUlmluqDWdRwUPxteycENwiQePOzcE0Zbl0e0I0lWS2FjNvTJHoKL/n7dWsyxYGoqxLxrkK0JmxphFJMM5ypk7zuzvrW753qBb89+d92U2Newh01qf6UwLn+K+PvUf4c1UsBJKoq11DIT9aGjpbnii0MuKK9oj1QNmxOeCMW+GQ7V4B3ULy41F6t/t/FYki+p48mhMozB4ToWe+ivVGUeFMH0wytkjMinCw/VykC05viEY0ZXfnmr6ryyU4cBNsyNVWfQ17vHRXvkvLLRn0zQ1563SEoxdUQW2S9rd5DmPD3x/U5sIw3UjDutoARDIZHcFdCsMFronaatGr4T+a/6+/DZUJWdGnsDnKvyHKrZ+VZ4i3io4nKnuJ3IPBdihaBKhhMVG7h9POEL6hTKqLdQioJh5RRdtHzvwriTUuHDszLJDJypjje6TcY2uih5x nZJmTpPQ UAoGfjaupxpzUwHth2e9UggSJTUr3mFJ8nAQsgfv9uGTfn9EYAeVAvZaEZarEBq8US2nI48aTbuVwkgDFSDTHJ0vO1fkpVCKNrKQXwnjcvDGZ99IP5QPUieh7NdqI3bA22KTb+9PihC7++0EJtkpZORfECwskQ14OwqFHX3Nrxk4CC+JvZD88rTyqsR2rXWMKdDZbPsh+XltZ1QU= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000333, 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 Sat, 24 Aug 2024, Yunhui Cui wrote: > Compared to directly fetching the per-CPU offset from memory (or cache), > using the global pointer (gp) to store the per-CPU offset can save one > memory access. Yes! That is a step in the right direction. Is there something like gp relative addressing so that we can do loads and stores relative to gp as well? Are there atomics that can do read modify write relative to GP? That would get you to comparable per cpu efficiency to x86. x86 can do relative addressing and RMV in one instruction which allows one to drop the preempt enable/disable since one instruction cannot be interrupted.