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 7EAB3C4167B for ; Mon, 27 Nov 2023 03:18:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 12E0F6B0312; Sun, 26 Nov 2023 22:18:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0DD616B0313; Sun, 26 Nov 2023 22:18:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EE71D6B0314; Sun, 26 Nov 2023 22:18:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E08D96B0312 for ; Sun, 26 Nov 2023 22:18:38 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id BF31AA020A for ; Mon, 27 Nov 2023 03:18:38 +0000 (UTC) X-FDA: 81502276716.01.2D3ECCF Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf02.hostedemail.com (Postfix) with ESMTP id EC54880017 for ; Mon, 27 Nov 2023 03:18:36 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Ux3vE656; spf=pass (imf02.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701055117; 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:in-reply-to:references:references:dkim-signature; bh=1YUVZSBDmlLkpRYuqko+WA+ovvBfJQ/Jtk/CFG14qI8=; b=xb50ooVNaZgB5xxLr5rwmlCdkkF4+ezhB+ZeBtIDpzht91ImRKy6c9ZN5t3MDtZSXqQmqK SuHOwDnfjUQ4u0fGfy/kwKr1PcRxctArOCN4ToWk7P9f164I5UP+nhGtpghNx1ZNXQDHNw svst7HQJ5sCBfHINbfsYZyiBqqPm7tg= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Ux3vE656; spf=pass (imf02.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701055117; a=rsa-sha256; cv=none; b=zRVsYxI2a/lD0lsMaG0XR8tCBepuoVq9nXyALmJmbgN1kC0ZHezxqVVCG747w7KYK7iT5H an0AcLt+G1FcMUhobsKQCO+ew8b6/gLLCAxj+N2tUbMNK83qA++OeFNMFSMo5YvnnGcG0R yExB8M13b2+Y6Gv+DkwxGYD/+e9z8Mo= Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-28555b0c7afso3257312a91.1 for ; Sun, 26 Nov 2023 19:18:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701055116; x=1701659916; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1YUVZSBDmlLkpRYuqko+WA+ovvBfJQ/Jtk/CFG14qI8=; b=Ux3vE656uOxD1Zgy+Ln4V4bpTQ/Y6F517yTfrtfEP0ManZ3zL030G/JK/GT6ofzgw8 W+EEh14Ks/hI3FrIwZ9ORH7AvbwfctWos0KSC/79zANsUS6h7eKOfV0Bnq7d3P38xc1V 64erkO/cXIYJrpkEr08jqa1HlGcb4DTgzKyGoUKNo9adGDQ+8KuAl28PpHSgIt86uNrX 15sVhI2LLE5OqzK/pn/q5+2mYaLbLs0Gz243MHmZC+t6LU4yXdEdnO/OtUkXFNgVXOhS sfC84WGVs1UIcn0CoTpodmuaKcfR1CjxAx0qidPnmvQOujyc+T6DT9RUTP7UBQ+YlcCe WWiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701055116; x=1701659916; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1YUVZSBDmlLkpRYuqko+WA+ovvBfJQ/Jtk/CFG14qI8=; b=mQWGAJzl79ArlS6hVgUBgr7Igsa5tuZ1vbXMWKfJfZcXxhwH4d3BVj6MBbDpDg0URE CjxW5hKYhaL2ZoN1scOXBi90AIJw+1xrSyYsQ7QG9nTY4U6zUQe19XwpEi2oWet06F0p uIDF+4ldQdEM9yagk4eLnZHxcLfLm8bJsh6TwGpAkzxTD7tMfw4cB6yE9qtZAyDN6GYM rdiGKnoyZ5dCTrNxNL0sknOstOW74EaX0Y1nJrTVA7mZ9shuj/MzNtywou9AZHdW+uhL O7zIHH9cgblD2bLKwzKA4DVqWKQXbhJrT7np6lX3e82aHmw6icRyy7n/j5kn8zAu0vWU 5Kkg== X-Gm-Message-State: AOJu0Yw9XaoYiSP06BEngyzaWJyr3v1Hx1fRxY+xygnQH6WF0IqUTpt+ 3bsf5UViDV7Z8mbSZxcfq2o13FuzCt3dboyZ X-Google-Smtp-Source: AGHT+IGgMuZfPDZohj9ZVrdvknifQxFY6+QikEc0Y519BYWtXbBg+E6rR7Xu1UR37893FbvdQSU4Aw== X-Received: by 2002:a17:90b:33d1:b0:285:dbc9:dc1e with SMTP id lk17-20020a17090b33d100b00285dbc9dc1emr410912pjb.2.1701055115718; Sun, 26 Nov 2023 19:18:35 -0800 (PST) Received: from barry-desktop.hub ([2407:7000:8942:5500:a061:a5bd:f09d:c339]) by smtp.gmail.com with ESMTPSA id w62-20020a17090a6bc400b0027df6ff00eesm7178394pjj.19.2023.11.26.19.18.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Nov 2023 19:18:35 -0800 (PST) From: Barry Song <21cnbao@gmail.com> X-Google-Original-From: Barry Song To: ryan.roberts@arm.com Cc: akpm@linux-foundation.org, andreyknvl@gmail.com, anshuman.khandual@arm.com, ardb@kernel.org, catalin.marinas@arm.com, david@redhat.com, dvyukov@google.com, glider@google.com, james.morse@arm.com, jhubbard@nvidia.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mark.rutland@arm.com, maz@kernel.org, oliver.upton@linux.dev, ryabinin.a.a@gmail.com, suzuki.poulose@arm.com, vincenzo.frascino@arm.com, wangkefeng.wang@huawei.com, will@kernel.org, willy@infradead.org, yuzenghui@huawei.com, yuzhao@google.com, ziy@nvidia.com Subject: Re: [PATCH v2 00/14] Transparent Contiguous PTEs for User Mappings Date: Mon, 27 Nov 2023 16:18:13 +1300 Message-Id: <20231127031813.5576-1-v-songbaohua@oppo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231115163018.1303287-1-ryan.roberts@arm.com> References: <20231115163018.1303287-1-ryan.roberts@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: EC54880017 X-Rspam-User: X-Stat-Signature: eksgpqqttdddq94kzn88bs1xcr7csgpg X-Rspamd-Server: rspam01 X-HE-Tag: 1701055116-691723 X-HE-Meta: U2FsdGVkX18OjC5areYO+IaTiDx4/dy7UbSDtu4IqsA1lvToigUUfr+eOwpUXeZ0wZ2wTK651RJ8cnbZVN6+C6Wa1QUarJO5qzSnYv7m4nvThWg6S27dWm4+IC6/ujjggIWX2lbbqBGPavK3YMjnVadRKgTUXVHiyYNuPTDUecoM3urwly/l3z/PTnmbHwkaB8EGVuufH8o1KZM7wXrBFbUFJ/PvxnZtceiKHsk//0iFVdnLbFTyP6FfI/bV5cYjWSHGN4sBZ6cVT4YbSvp17vdjEEAYNfP+Hctad2DTEl39j3qBM4oGlwgHBXpy21BBArs0qt+VCpa0uQjO8npnvjdOU4j/wSMX9dGtE8YwnccLRWGjGKfPPwbb17tlySXGjQkR7CEWuMilQDyZFjuAT0HdPF14JaTM8xMt37qprOrakqN4JlI8etN6bns2VGtEsDmSrecAeGb1NvZdymX2CY3bfEdA6ChOlX+fc8Rx4cJdhDtmBtf7XiyPaEh4LK0qtPa0oYGrdsz1pkM6cbr4M8GizojZHoGj81Rfzzfwn4bwAAu081VNXW5QS9myK2Yv+X+BgF3sBZslm7DdbLZBaqmi0rT/uvFQSyddukcajSSXeEsYnLgMnOtG7f5hsFG09kapAAZJkpqsqbgv39TnWjNTx66T2xUo8GEOlDsDJ04zbSz+q9qZDyBnB8+yuMudmu1ClooFMH/qVtYKXKDODiQH7m2KfvZHHBp7u53zfzxEPzk0k9ogYCuY3YJAXXvoXKfX+e3JdsuWJ3mGP8qYxxoXcELuO7nQwkxO27JsYOyZqe9kIPOQnvuuD4imM+JLYkPzKe1Fa0Fgo5o1Wsi/EK7MLxaxER7+Uz8YavxQDoIS0cym15WXkxW79Sbrj6eQUmZ5vKtHPsZP3XmXxKCXLQ51Pwm1Guj8oj1lhMScTiMj0Coo2wdGsgfmONQ8zgQqgl3T9kVljiIYlv84RJl Y9egzMKg IIcYKwLRkWStdo+Fk53JtAL3CllZGBO4xIeGoNT4qP8LlI1KV29Thv5IzKm4lBWTYf6X48nrZ9W2IChHShLcntE7FH9fnHsx2Eo7ppqWzBrwyGNQSrGHQ4Jd6xQfvIQCZ2jbc2GVJo8jsioErcAg3r7adm7LY989VW0XVEbv2ZaAlvHnNG+XE1Dxa2xw8BJJauLVrME1h3sGQw4Dqk+u4xYQNs6U9wvcrJ7ZCnCynCujGge2BN68e9CPNsFr/bj19Zb3EPfFiaBJAgHcRM17D+TTK1q87wUGSKOZ7ZNaF/GbT9Xt6a/K3sv4MQTdUW/Sm7M/gA9cznhvmhDyAjPX32Z8CNp2dF8rLEwcubfQvX/p/27FAFREafT9ZyEKHoalQerh0ZGh6hjstaeiFSkGq37bFsQMUOJGUuhNzg78q89/mGeCCPSsjgniV0qQfQ8ky0adBJozq57nNiJimTPyBi/0hyX05pMxRBJQ50G9BKvCKmKLCDF8/vwtb54On14QWvfUjzE8P+Koaylej+Q8ShCqauA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.006521, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: > Ryan Roberts (14): > mm: Batch-copy PTE ranges during fork() > arm64/mm: set_pte(): New layer to manage contig bit > arm64/mm: set_ptes()/set_pte_at(): New layer to manage contig bit > arm64/mm: pte_clear(): New layer to manage contig bit > arm64/mm: ptep_get_and_clear(): New layer to manage contig bit > arm64/mm: ptep_test_and_clear_young(): New layer to manage contig bit > arm64/mm: ptep_clear_flush_young(): New layer to manage contig bit > arm64/mm: ptep_set_wrprotect(): New layer to manage contig bit > arm64/mm: ptep_set_access_flags(): New layer to manage contig bit > arm64/mm: ptep_get(): New layer to manage contig bit > arm64/mm: Split __flush_tlb_range() to elide trailing DSB > arm64/mm: Wire up PTE_CONT for user mappings > arm64/mm: Implement ptep_set_wrprotects() to optimize fork() > arm64/mm: Add ptep_get_and_clear_full() to optimize process teardown Hi Ryan, Not quite sure if I missed something, are we splitting/unfolding CONTPTES in the below cases 1. madvise(MADV_DONTNEED) on a part of basepages on a CONTPTE large folio 2. vma split in a large folio due to various reasons such as mprotect, munmap, mlock etc. 3. try_to_unmap_one() to reclaim a folio, ptes are scanned one by one rather than being as a whole. In hardware, we need to make sure CONTPTE follow the rule - always 16 contiguous physical address with CONTPTE set. if one of them run away from the 16 ptes group and PTEs become unconsistent, some terrible errors/faults can happen in HW. for example case0: addr0 PTE - has no CONTPE addr0+4kb PTE - has CONTPTE .... addr0+60kb PTE - has CONTPTE case 1: addr0 PTE - has no CONTPE addr0+4kb PTE - has CONTPTE .... addr0+60kb PTE - has swap Unconsistent 16 PTEs will lead to crash even in the firmware based on our observation. Thanks Barry