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 2262CC54798 for ; Tue, 5 Mar 2024 07:55:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A1CAD6B0092; Tue, 5 Mar 2024 02:55:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9CD006B0095; Tue, 5 Mar 2024 02:55:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 894A76B0096; Tue, 5 Mar 2024 02:55:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 77AAC6B0092 for ; Tue, 5 Mar 2024 02:55:25 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 3E3B11C0BF4 for ; Tue, 5 Mar 2024 07:55:25 +0000 (UTC) X-FDA: 81862225410.18.0A76B1A Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by imf09.hostedemail.com (Postfix) with ESMTP id 3349B140009 for ; Tue, 5 Mar 2024 07:55:22 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=blGx5oY+; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf09.hostedemail.com: domain of ying.huang@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=ying.huang@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709625323; 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=appAxac59KneU0vu/TMPcLpky5pFp2F/+8qorWMnFBM=; b=OLCariajdJ7iqoLge7YrhD/LggqnK8xd25sMMaSy5fO4Ca98KT3YjkNjvGMCwxp0q8hrvt Gg2XbKDRX5AkvfxwVCZp/xXs6nZSfJM4eYrhORgPpxurkPMZHD3YiOFH95D6w1f6lVOXbG NG+eK7pLEY+hOpu9j71Ag49DMIO97Hs= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=blGx5oY+; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf09.hostedemail.com: domain of ying.huang@intel.com designates 198.175.65.9 as permitted sender) smtp.mailfrom=ying.huang@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709625323; a=rsa-sha256; cv=none; b=pKmrspu1QFb6OrKjG4HsF3LEanPYqGvgKvIYspLeC14GrWWSZnceo1B733HIE3z5NX8mYd cEVeV60C4UMHRzCmckdHVjbeVqwvZTJ+0RJ4MThZakXVYw5YPJRgw20637k2PQhWZJxFZx w+niUpOmgv0IrWA3aKc9PpfNrVH6bXQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709625323; x=1741161323; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=LkYVT4dDvTXDJ25e9h5t11zwb/QpgogamAOI+sx2zz4=; b=blGx5oY+1OmWzAAl3jvKyQGucaqSE2LDXDNsu9kGeOkjenRSEXaYIxZ1 X3G+9DpRPz6TP9Dl1iQnHS/mXARYHMVBeS4vndwVzmK8ZNnc9wppm58bT 8UgvSqC9XfWGEnjJ6+UL4Pa6xfpGyV1QU1bImLH25VvEhQCg9OICBQ0hC favs44psyPx84QdQ7qnSCrLGzM2cUQ8jde+5oE46+n/cfEMr0LGPdqbKn zfNT/gnIUDwQkGJn7Q9hRJQ/tOWD9Ik1zCd8V7rN8RwGuQzCUbTwRLp81 PRTMmt4iQA6H+zO2RyzM3711t56vnj5C7OaKd16uDHsok+hCbCLSIf2P4 A==; X-IronPort-AV: E=McAfee;i="6600,9927,11003"; a="26618733" X-IronPort-AV: E=Sophos;i="6.06,205,1705392000"; d="scan'208";a="26618733" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2024 23:55:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,205,1705392000"; d="scan'208";a="40272704" Received: from yhuang6-desk2.sh.intel.com (HELO yhuang6-desk2.ccr.corp.intel.com) ([10.238.208.55]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2024 23:55:17 -0800 From: "Huang, Ying" To: Barry Song <21cnbao@gmail.com> Cc: David Hildenbrand , Ryan Roberts , akpm@linux-foundation.org, linux-mm@kvack.org, chrisl@kernel.org, yuzhao@google.com, hanchuanhua@oppo.com, linux-kernel@vger.kernel.org, willy@infradead.org, xiang@kernel.org, mhocko@suse.com, shy828301@gmail.com, wangkefeng.wang@huawei.com, Barry Song , Hugh Dickins Subject: Re: [RFC PATCH] mm: hold PTL from the first PTE while reclaiming a large folio In-Reply-To: (Barry Song's message of "Tue, 5 Mar 2024 11:29:31 +1300") References: <20240304103757.235352-1-21cnbao@gmail.com> <706b7129-85f6-4470-9fd9-f955a8e6bd7c@arm.com> <37f1e6da-412b-4bb4-88b7-4c49f21f5fe9@redhat.com> <804524c8-772c-42d0-93a5-90d77f13f304@redhat.com> Date: Tue, 05 Mar 2024 15:53:22 +0800 Message-ID: <87r0gp868d.fsf@yhuang6-desk2.ccr.corp.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 3349B140009 X-Stat-Signature: mfdg8umnn5khx4d8rpx3k4xpad1wkyut X-HE-Tag: 1709625322-124100 X-HE-Meta: U2FsdGVkX19KrUK7EYOTeLOkkP+8pwI6W1Hp5UyjERC1FmgwMK1/fGFa5ZESgdjy1Ek+1dcyVIWP4s/O+agH6/3VayQNIaSjmH4rpb1iuXCKnOYypqxzZRVZ+Ff/ocEwmMIiTNHc5G9uKiE1Op2ioSg8IMlv4lRYbJMOMqa0taMJnYg/pXq8WMnyg3GAyS5JDzh+ehdIg3mZpfJ0XNl/1oUGaLd0hczTS4IZnFNUWCWq7CuXDTHeEuilnlVgbIbBImatibKU1vFLMBIbzUJc/dPO2FnJgZzPbUnrhj7/0QcV2Y/+5J1paifpwUNBL0bsi3CLRn/wHwE545o8VT5EZMXKfeG3F49XcXvNao8e16QT8as8y8QNHPxDEmFD2C6KPfb9zooCwTurX3SwKXXjdtjaf3MCWAx8M98mS0firfaJOUmtADwqeQMOnwDjWiouYiBEkpyTjYafvkQ+F7PTVQYUub76StJLcSe0bZi0deJPMMLUcdE4OkWl28MEIvzyxt1HqTHbSJEB5iHvYlHVkD5yVm9deDfZ/9v0ntsFgh81WyP3HfUbNsW7/FjixXrBVxNnpDg8FTDjaCe9lxUpIkvv+/XVFG0ZQxrKsQ4qBUgplQUtJqTxFjFOTmpPLsbBwDWtxaP/FMadZbokYBzFq5H5Tv0RTl63/m7orqiHC6NeS5YikPuoTgsSbLB5igC2C676SbzxRgY+3xyqCNA2J6fTUGKNX1D0ofibfR8sk7A/ypSya6HZVIUDOTUf9+pgjps3J9yiYql+SOIXT6dHtvSzEiqUvwA00g2XSVeDAlE60GQ6a9fZokAjRpYCVgupZnII7BP03O/RHRVnwjU6scleS8Q/tHvihbYmyB+LOaupnOq2lvmS6BhFw+PS16e8d5bOsGMbuOp6RT14PqK1wIhqlIOKenf1ZFKRscEKty9+bntEBlhCCoQa6VvvcrphvO6K/kW2Lch+VTNeG73 ypWNZ75R S4gMa7S05J//oexIG0vNC7fCLvgPDav9y4Nt40pUWVVc1PtAnV5ZB+PAuPQ2KTCv1hk7JDv5+tws+vm9/JxqDnjITfYvfMhM6lU7vUbyFJJIvftaa2jrw35dP+7dn+T8Zye8bZYrZHULPSgqrbPi9mqksSILX3SEnrWTgi6IwNU51Hm5Zhg7IbnmOTMJzuEe/pP/c 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: Barry Song <21cnbao@gmail.com> writes: > On Tue, Mar 5, 2024 at 10:15=E2=80=AFAM David Hildenbrand wrote: >> > But we did "resolve" those bugs by entirely untouching all PTEs if we >> > found some PTEs were skipped in try_to_unmap_one [1]. >> > >> > While we find we only get the PTL from 2nd, 3rd but not >> > 1st PTE, we entirely give up on try_to_unmap_one, and leave >> > all PTEs untouched. >> > >> > /* we are not starting from head */ >> > if (!IS_ALIGNED((unsigned long)pvmw.pte, CONT_PTES * sizeof(*pvmw.pte)= )) { >> > ret =3D false; >> > atomic64_inc(&perf_stat.mapped_walk_start_from_non= _head); >> > set_pte_at(mm, address, pvmw.pte, pteval); >> > page_vma_mapped_walk_done(&pvmw); >> > break; >> > } >> > This will ensure all PTEs still have a unified state such as CONT-PTE >> > after try_to_unmap fails. >> > I feel this could have some false postive because when racing >> > with unmap, 1st PTE might really become pte_none. So explicitly >> > holding PTL from 1st PTE seems a better way. >> >> Can we estimate the "cost" of holding the PTL? >> > > This is just moving PTL acquisition one or two PTE earlier in those corner > cases. In normal cases, it doesn't affect when PTL is held. The mTHP may be mapped at the end of page table. In that case, the PTL will be held longer. Or am I missing something? -- Best Regards, Huang, Ying > In normal cases, page_vma_mapped_walk will find PTE0 is present, thus hold > PTL immediately. in corner cases, page_vma_mapped_walk races with break- > before-make, after skipping one or two PTEs whose states are transferring, > it will find a present pte then acquire lock. > >> -- >> Cheers, >> >> David / dhildenb > > Thanks > Barry