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 7302DC77B7D for ; Thu, 18 May 2023 19:29:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EDE30280002; Thu, 18 May 2023 15:29:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E8F16900003; Thu, 18 May 2023 15:29:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D571B280002; Thu, 18 May 2023 15:29:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C1B22900003 for ; Thu, 18 May 2023 15:29:21 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 4B1541A0973 for ; Thu, 18 May 2023 19:29:21 +0000 (UTC) X-FDA: 80804364522.04.456ADC3 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by imf12.hostedemail.com (Postfix) with ESMTP id 5BF5840018 for ; Thu, 18 May 2023 19:29:19 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=Uxo5R0yZ; spf=pass (imf12.hostedemail.com: domain of yuzhao@google.com designates 209.85.128.53 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684438159; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AIFdF8GT7zUenP4B/UoN0byarsJ8CzDEiV0NqRPRUiQ=; b=QbRBiIrHZRuIuC9oT0p0aH4JU14LJnlz6gMsND+QGLbcc5wRtapSyxodJyLFdwg7X1Lsxd 0MnYl2d7qRFHoIK0fkCafkpzWd+mNiTS+FsW6d4hNiprxfobXP2ZD5L3XvqI3t7DpLLYCL PVgfsZRpg8qvPsi1Pbu4iZNvQVx9DrQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684438159; a=rsa-sha256; cv=none; b=59KCobkkZvJPY1O/5sKk8UoAHnus+/fM+Msj0ebRXAq2hlo1KARUvH28zb1qqVtWYIu5Jq GJydhQI3PSJPwcfrBuAQWXgmn2zYt51RPztWHdu76cGGWhEOV26bCCxYPN9XYqgHVje3NO kTgKM3mpyCY/kungoZEm7E52XPiuhNo= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=Uxo5R0yZ; spf=pass (imf12.hostedemail.com: domain of yuzhao@google.com designates 209.85.128.53 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-3f4234f67feso13725e9.0 for ; Thu, 18 May 2023 12:29:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1684438158; x=1687030158; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=AIFdF8GT7zUenP4B/UoN0byarsJ8CzDEiV0NqRPRUiQ=; b=Uxo5R0yZohoUeJJFTQrwM/0iDUM8s/ZhBeLXvqBwIGBhosJvSUZY/pVw5D/kK5YqBX t0YUZ9PJRPbSBA1cAXgrFlmyRu22QDs2vk9LwoS1Vc/BLgT33eNrFh2gR7RMixMdU9pF 8P01mTJth058rQOO5TmeFThj0TmYFHxendJ35CKKe0wpv+KSFOx9FbGk+vSsbmtjdJmF MoKqNialoSnEDU27YOgQHSeSfgbH3RwmpqCCAHYQW9TQlFT8KOxl4iLKhN8Q4nRG0k3C vTIffa26u7CrKoYTKHxbPYN7OQkEBh7C7utYywfWTfxfYempEHiTHfbsjZAafRzuys/3 coEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684438158; x=1687030158; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AIFdF8GT7zUenP4B/UoN0byarsJ8CzDEiV0NqRPRUiQ=; b=Jd7w7Kg4chM9iPbmg3yOQ+dId6owo7/sbCR+Gkm7/lFYB+heCHTkqwIjwJAvcwPLLH 1tsJuoVcspySi81pZtvRLkFbjwvh2+yAGz7GxzDIVjFSN6Jy+OPZkmeb+A+X1NjU6dG3 fkqCeQ6zBTatia2rcWgQxskz/eazVHfB5txGv9g6JIGrtFxeyHsdv0Gl9F9QSn3r6m/M pgHsjl+9dZOk39+v+4BV02z8vew0PAguoPrYKIlncuFNanqlL0dzRpymdjb0PZGDZ9oE S5VEwyTO/K7UoEroeZdABZRANr+70Z/PCboLx2rnnr3/1Ichj3/mr8OHmYXVC3NDCVcw 9vtw== X-Gm-Message-State: AC+VfDxoSd8uDfAGAVXyAATRwOj8ipocaOZf7olwzKJPXQ8jaF9T1Q2K aYq6sJ35mVFPaeBMYis31Tpt+1+3BHgdrcQUquhoVw== X-Google-Smtp-Source: ACHHUZ5CjeOl+/lEZTX8Uee0Ftthe9E4dunYZK5dMRfMgke26RmSp2LBtvDHRXHjW5Kbw5GABsfsakJxT5P3YD+q7Z4= X-Received: by 2002:a05:600c:46d0:b0:3f2:4fd2:e961 with SMTP id q16-20020a05600c46d000b003f24fd2e961mr3080wmo.0.1684438157716; Thu, 18 May 2023 12:29:17 -0700 (PDT) MIME-Version: 1.0 References: <20230518110727.2106156-1-ryan.roberts@arm.com> <20230518110727.2106156-5-ryan.roberts@arm.com> In-Reply-To: <20230518110727.2106156-5-ryan.roberts@arm.com> From: Yu Zhao Date: Thu, 18 May 2023 13:28:35 -0600 Message-ID: Subject: Re: [PATCH v2 4/5] mm: Add new ptep_deref() helper to fully encapsulate pte_t To: Ryan Roberts Cc: Andrew Morton , SeongJae Park , Christoph Hellwig , "Matthew Wilcox (Oracle)" , "Kirill A. Shutemov" , Lorenzo Stoakes , Uladzislau Rezki , Zi Yan , linux-kernel@vger.kernel.org, linux-mm@kvack.org, damon@lists.linux.dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: ta9zsecrifqtb5ms57zqxbj7ukaqnqru X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 5BF5840018 X-Rspam-User: X-HE-Tag: 1684438159-16292 X-HE-Meta: U2FsdGVkX1+siWj3PTsl94Ab+9C0OdfTmqESdT59qZy9HfPy3vty+xDWn8t995hLxsrhl7IazN1u6SI3D0zMtVvdwMiL5hpbEnYYD2NzQ+ofzVmRLVCqo4oIMiasu3gp3MbhFUKxIqbu1BHFSs8aVULY2PQKm5OwMfDk2UEbXWh3gS36Io/2OI6OpIQXZHlGbB0P+QIqpsw8MXigwGrhB1UPmWmGAu4FzzVB9FqOj+6c/feJ9uMRMIK1FVyDqTBgKy3BJd4Ahhm9thn4CI6ZWXoWrPWy1nRtQU8gHpCrbl3rp4LqnvOUEs2UFuOLTOH/p1AunXZ2GFjRxMEsYunrfKpaHwVVkvPYc9xxtikeMOWzACy9swLQimAz6CH2O4MuHY1lM+z2j2Ks4L/fhjYqsrqCcLrlYoLRC+oNbSSFu2sZdzTzKvEmkBJbNscztnAWEy4UvvEML9XzKcy7PjPJtVPpSakaApEdITTLrzKL/ce4DpcrUR/yLQr+fN3rt725WV3Pcrl8/2fFPh8s+stcvd8nDuSVoMMNlS5K9j5vp/5wbpekxuVwQuUAcuT8TuiUE4yi8e0xO09jH2qvAkaJAAcNPvI9u2i71hbdPBdV62+TQdVPiNaIc9xOaGLFPSY+OHHr2Nsqphpw6ispW3RUOhnV9AVQHzkfgRQ2Ghf7fSdIN7UuAi6K1ZhlbiE9dwh3lIKZU0hGAwI98dbX1hgJ2OV1P5aixC78KecCcJKjjPirjxW/MlWzDgTDKGMp+1V6cF4K6il+bJAt+DGf5V3hNlM8zw8aiwQFHoudlaI3EZJDHiWR/hwpA0Ses8+7PhnjaAmvSHliiPWAILenMFYUE6IuMCNYDRL7ZxgroH4C5X2XbrnrJm6UcfNkQGvSllCoV7IDnvF2jYHSDD6hDh96Kqlwmy+26mjmp++eHbZlMOZyuK2LTTmPXcfBnxHIwDAo8T7RSX7BNmJO+bIeJkb eFecmtT7 BZ/Ycgm91fcS4wN59lqd0NTBLUTZ97BUjaTtT/L7n4YaJQ6Bs1jVtOdhBEvVkl7HdU87J6mvvnRN3RsZrH1JrCQZq4uDw+jN7vbMhnPPqGawlYndpc3KMxsvp9H/ow/7eNF8lfBFQbKB4kb+LGKbyCv+eWW9Tw2445eplevgYpZfuXmBQ9iHhpqwztBVPd+LMzYOLRa2iRl+2D5iS1czKFBv3RUqWTCFw2Sw1ubZ8sHvnIXz8HVnkHcD5M+dSz6i6CN6cW0GsR+97dSEI7ypUAQW22OpeT2ILCOa04/tmtPuf5HsGUtpOauUrGhqC1n4pJakKpKuEtz9NvKQ= 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: On Thu, May 18, 2023 at 5:07=E2=80=AFAM Ryan Roberts = wrote: > > There are many call sites that directly dereference a pte_t pointer. > This makes it very difficult to properly encapsulate a page table in the > arch code without having to allocate shadow page tables. ptep_deref() > aims to solve this by replacing all direct dereferences with a call to > this function. > > The default implementation continues to just dereference the pointer > (*ptep), so generated code should be exactly the same. However, it is > possible for the architecture to override the default with their own > implementation, that can (e.g.) hide certain bits from the core code, or > determine young/dirty status by mixing in state from another source. > > While ptep_get() and ptep_get_lockless() already exist, these are > implemented as atomic accesses (e.g. READ_ONCE() in the default case). > So rather than using ptep_get() and risking performance regressions, > introduce an new variant. We should reuse ptep_get(): 1. I don't think READ_ONCE() can cause measurable regressions in this case. 2. It's technically wrong without it.