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 8AADDC19F32 for ; Wed, 5 Mar 2025 18:38:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 615E9280008; Wed, 5 Mar 2025 13:38:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 59DF7280003; Wed, 5 Mar 2025 13:38:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 46611280008; Wed, 5 Mar 2025 13:38:41 -0500 (EST) 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 263FC280003 for ; Wed, 5 Mar 2025 13:38:41 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DB279A404B for ; Wed, 5 Mar 2025 10:22:10 +0000 (UTC) X-FDA: 83187107220.13.FD0BBA5 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf01.hostedemail.com (Postfix) with ESMTP id 1C1754000C for ; Wed, 5 Mar 2025 10:22:08 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf01.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741170129; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references; bh=i86sHdCk//izQUg0YgPHT/5CI+6jfYjDgw7eUx+jaJw=; b=LEqaRnPp/51r6Vc0aRQQQITVymIbSElsWKIbkoQQ5LSH96P+ORFUkoPWJdkDAIMXkn23lX ctPXYfIyjDHvsbEceSIxKNHc690hqwLlV2n1oXKSUmtNnopr9tKNBBFqNhxl0zDRUXN2gP 7xSB4lLP54QIDf5dsgcez9JjRDi/pqg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741170129; a=rsa-sha256; cv=none; b=bINgA0P9eQJ2kqWUaRDYCtU6uLQk3AN437vPYuSSahacGhbupfNlD4WeHSI8a+wCMZhkmC lAoNV1bOyutog3W6SeYDfhX8coMtiEgik2zCQTcxQjMpH36K0NEzXD+PR+6LC+X98V2+EV i+YiL5rR/5MGer2KwOvEa/LQqa1eDZg= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf01.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 84253FEC; Wed, 5 Mar 2025 02:22:21 -0800 (PST) Received: from K4MQJ0H1H2.emea.arm.com (K4MQJ0H1H2.blr.arm.com [10.162.42.28]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1FC623F673; Wed, 5 Mar 2025 02:22:04 -0800 (PST) From: Dev Jain To: david@redhat.com, willy@infradead.org, ziy@nvidia.com, hughd@google.com, ryan.roberts@arm.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [QUESTION] Plain dereference and READ_ONCE() in fault handler Date: Wed, 5 Mar 2025 15:51:59 +0530 Message-Id: <20250305102159.96420-1-dev.jain@arm.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1C1754000C X-Stat-Signature: khwsctay5ir9bscst3z5mcjgtd39pibk X-HE-Tag: 1741170128-4314 X-HE-Meta: U2FsdGVkX18Do0hFn1zTlKdDFFeoCSXlDH4nHvI2B8SzLglYEOzxsRDqmDD1mJiZ3p6g+f+2vcrD/zsYoVKCj3ZEL/v1AhOf99Y5aCES+tMm2maLaxCzMJqog7IZluOsHi3zXsTAH3BdKZkTgcpkjkkh8niYCv5nlzueokkRyOEl2lbK8+EF6Kpr+Nasg6fHfJP7PGp8h2NEhwacBY2mz5DKCFSuCSRTLsg+MHnBWe+Jgm65hYELDVxoFMSxFS8ySKMumpNRE84GkwCE6kEMlJFb4gJ16ayH/uAcv+t0rSTYrV82NxIHmGKsCDNIyl31254aefXKqaI+PG2HjL4t0qBSiFMUkYRLE/qNYlS8Zxx+s5tFLOmT80RiWhMP2B5sXFYlVuBLd/JXcq83P9EmpScZRvr9NEDvKIM6/d4J1kg0svFWQzLzpgXfcbnEkXhOPeZl4AsEouaOT7JgbvAChafaUcJ85yQvalbVyEDH9E0Bq+yTX3OGcktH8JcEhGaKAlvqTYlqUhtEgpDUTVMydNCQllR8dIuBYq0IgkiLPBgRdz6bovO04auwRQx8qdT/w7tr2e7wXAbszQWnKQgVt+JCCtHEcAI8V1cFuwftoqQ4UgLA8wnD+0uQNa3Y6aaiwsx9Otn6K1M+ElN753jJlr9/oYsummLzMgBhQqegG+qUlx12IiOxOlk5Zq2VLe1DjQEjPlYq7xsS2QB6a/wOH1PYvh6BHR0qPYbRnhrpNmrpTBnrYXN361weXfp+fxiA0Y7W58+jzamiSQ74nCxe51Cu02Czz2Njhywlgr1XGtdpKMAFnyXgrzV8CcTXkknjwA7TkV0tIvpqOPV2SkV27HE5lYMSB63MboFXRchd9BlRnLmcGuF+hB5sGPwQuGq/sT3LGHVjDd7vwAmgd3S2PqQ0/XS2Wt8Vsv6NiCWooTP97jEhHFB5xWtD17u+qgwlMbFxqgls3qadlASdb6y tszogsM7 gTJrMKqGyaM25tYN+3dlfx/3bD7vzU/CgpeW+i2oO0jIC4czyvlpkvZ40wpCg2fG0cB6z2rd/G+tficuVq8PKD923IB1gd7lkQlelIS4j/7SyJJS3B+yRwBVHQscSUzyt8BW/jnEG6T632Jg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.001859, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: In __handle_mm_fault(), 1. Why is there a barrier() for the PUD logic? 2. For the PMD logic, in the if block, we use *vmf.pmd, and in the else block we use pmdp_get_lockless(); what if someone changes the pmd just when we have begun processing the conditions in the if block, fail in the if block and then the else block operates on a different pmd value. Shouldn't we cache the value of the pmd and operate on a single consistent value until we take the lock and then finally check using pxd_same() and friends? Thanks, Dev