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 C5876C5478C for ; Mon, 26 Feb 2024 20:50:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 09AC96B02AC; Mon, 26 Feb 2024 15:50:15 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0249F6B02AD; Mon, 26 Feb 2024 15:50:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB8D36B02AE; Mon, 26 Feb 2024 15:50:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id C636D6B02AC for ; Mon, 26 Feb 2024 15:50:14 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 0E9EA120A19 for ; Mon, 26 Feb 2024 20:50:14 +0000 (UTC) X-FDA: 81835147548.14.E52EFBD Received: from mail-vs1-f44.google.com (mail-vs1-f44.google.com [209.85.217.44]) by imf10.hostedemail.com (Postfix) with ESMTP id 45134C0015 for ; Mon, 26 Feb 2024 20:50:12 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Q8xR4yhD; spf=pass (imf10.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.44 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=1708980612; a=rsa-sha256; cv=none; b=XTYQ3vSIFsyA3fhshTNwZcId4Ic2FE6hJdP+ZRKJwSIg9nOMPI0OqLhKw9md6secrknGa5 KkqsIbd64Vdr8f1qIncK5HH4GqjE9/WpadU/hzWRhypHYjU5UU3n2B932RyF14iECgSjvM 52GYddRAyGu+Lrm4gBo1K8L484n76lg= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Q8xR4yhD; spf=pass (imf10.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.44 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=1708980612; 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=21VVnvV+8fyMK5A5F+ykm7rHLhBGKI6x/dMJLjTkT0M=; b=j7U0t5ezX6yPVTDwOFhpMqYd93L6hAIjcJvZsxWUzpyEl0kbJ/vW4BF6dF+Q0qRjHkQbQ1 L3VNLZWcX95Wx6IQoKB3KrYgAfEmWZ3p11Ig8k0sIYC4Sq0nEn5bMREgOuA1gE635e6NxL YQU+Fyme/EQgTlWe9cs+RlO3YFBfDv0= Received: by mail-vs1-f44.google.com with SMTP id ada2fe7eead31-47048ea1b17so415132137.0 for ; Mon, 26 Feb 2024 12:50:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708980611; x=1709585411; darn=kvack.org; 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=21VVnvV+8fyMK5A5F+ykm7rHLhBGKI6x/dMJLjTkT0M=; b=Q8xR4yhDxciK83fO6a0TL7YjPSZ+VtzeQDWyTaVcj8lQhU7XSWYDYDujAsTJOJCE4l Bg4nYY4VMwTus0j7rDnTWDo+vEKIjO7zbziv5HXeh92vU1IuzqAduqwQxK/LoZ52i8nO 1EtMgGCGPQN2i9yz2xe5bpKNLRatcgBeiUddvVa5pnXrTAXOpRqLJ7JV3trxZ+lgZHzA ksnpmEhB7u4caVpVhLhfF8wjnl2IqdoNpFlbjvlFCCJpxxis1SBSjC8HLJ84OdRTmSmx eBRBATkQ7HR42bjNQyQI62fXI/tggsMuKVeDp/xpB1oTA07x4mo/4hdmwx9P9pfcaLCm aCRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708980611; x=1709585411; 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=21VVnvV+8fyMK5A5F+ykm7rHLhBGKI6x/dMJLjTkT0M=; b=OZU0jjVwqIDAIO3exne+TFo+H9GA7sZ5ZasDznNcRNZju4me3SClmglxrqrp09eaXR g4LOm5Za2Ut+/Yw5E6OJmpAs3leJgud7jZEf/aYKkg/mUmYiTf3/6Wzv+TI0sBV7rezb fvt1IyW0Z3YEzLqTXghmQLUKJNwcCjvp+/4Vb1ejDsVYAJRm/uHuzP3lZlm4urQuUoiK duK3wCpPJdMhkxTGA2WYYKNC6NPYOxNjWPdTkPU8TQOKq3MJ+WM60SVCUVZKm/rxHSd0 UoKtupzH4EgYVQQp6YRj2ceKq5pPJItLslRh6iNS5/TGX4y1iW7xdNWzOYHKLLHpS9hx Sk9w== X-Forwarded-Encrypted: i=1; AJvYcCWc/sUcwAXe8YYelomZBr/vj0RU68mboM2hqi35FJHmASVOpfxcvEBHB6+dqWfVzIfVNTL8+gE5o26yPFqPZYosWU0= X-Gm-Message-State: AOJu0YyuDfaNfZ1Y5f/cjJHQ/lRCSrZMtYG+8f2b2eSt7mOlj3jwZpBV 7feKokUq/z2DpuNJttIAn4npegcm5L9U2C9ijUyCA77rO38wlHLyvPQFLmGR7kVmY6qv6G5ZbGi IFiQdgLe96I5xU23N4HCIECo2POA= X-Google-Smtp-Source: AGHT+IEdCPFYY2btKi3bJxNTN4gBmARMBQKwxn/TaiW7B5j0KDJgX6OVZmbI4zx7wFjzdoqCzTgIPANPctbqrt0SXrE= X-Received: by 2002:a05:6102:510a:b0:472:2e63:ef2c with SMTP id bm10-20020a056102510a00b004722e63ef2cmr2433610vsb.9.1708980611352; Mon, 26 Feb 2024 12:50:11 -0800 (PST) MIME-Version: 1.0 References: <20240226083714.26187-1-ioworker0@gmail.com> <9bcf5141-7376-441e-bbe3-779956ef28b9@redhat.com> <318be511-06de-423e-8216-af869f27f849@arm.com> In-Reply-To: <318be511-06de-423e-8216-af869f27f849@arm.com> From: Barry Song <21cnbao@gmail.com> Date: Tue, 27 Feb 2024 09:49:59 +1300 Message-ID: Subject: Re: [PATCH 1/1] mm/madvise: enhance lazyfreeing with mTHP in madvise_free To: Ryan Roberts Cc: Lance Yang , David Hildenbrand , akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mhocko@suse.com, minchan@kernel.org, peterx@redhat.com, shy828301@gmail.com, songmuchun@bytedance.com, wangkefeng.wang@huawei.com, zokeefe@google.com, fengwei.yin@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 45134C0015 X-Stat-Signature: k4ujfb39kao6izqsqkuqrt1ngu413g7m X-Rspam-User: X-HE-Tag: 1708980612-387780 X-HE-Meta: U2FsdGVkX1+3UchNVlE+KkCwsrJWZ86ygaQWN5x7OTMVYLB7nUuXfKkUtvkC/ezE3NLgl+uKa/s5syec/XFlgt3/d8RQISXFg1fSesqhCfUsVOmDwlyQKWqEr6GwsxjesDAh1au6gHE4amjX+jg38ybYDnCuiYg4WVH/uy4MnsrKGsAI9mSnXr1lBFqDuXOMfL9gCziD0yNMF/+G4Bf65TqDYN2AdspNviYSNTpC5qWP8vvjzCXsPMRcWQEOC1li7+QWNCRuQR09ac+yZmvuD8EGqAa/scVCAyXW5X7ZEffUlKYcwGYWOwjN7hUKqvZy/GYyM2IdawE2zAMTCUX/hxrfhp7dWJ3DVQjoDc+cquN7p0EMvmCDXSYGIxz4VqV1jZMHMaCXdfGJireM/+MZetAOUY50ocKn1WBm+X4RdxqdwMrUEyJFHKAJfICE1nEqYsVhdkJujG/KXMvanHrczdSU4BdTHBcXDNzVqtOSexpUA9dBovBuKR3ym5JOhc5xbzCIer/pm6Qla32ZEmbnKVNHjkjX8AVETpxqejRceldeYnKbL8pZQbvRq5EiJxthRr7berh/ifx35pxfbbyiame2+tXYExmq37/S3HGxNekpMGwDZyQFCIG4MTgo4Wk2DDEIFBTiGxiNuSuKIszQ+UABVptrzfMXMqZhA3PoyPiZaY136HLUYegsPExjVLvrNOVEGf1nlcV8TFV0c9oKF6Le154Iu3L1XEJiqnBRCP1pe25sp/ljHxz4Xi3NkMYHdzDSky4QGfpq07iQ26ozTrsdXygdUXICxbrmQrj5EmJKpaDnsNpAVNw3cIdLaWTkY8qC34SVKrBfj9yChsmrWU43j6bcxMG7R9E2Zz8AsxPAs5HonV7/kMeFIu7rFgQ2d5/Nx0LM09+7+8SCSqDIQ8sBXTtrzDGheM3/Vs7YJX83BX70Z8R8adc+1F2pv+e1yh4IZaAh22ym3AAkPij NvGN6UpQ 7CEeoiEKcb/hQ+RMIP2bZ9A5rkW0AoxlrpDo20RyKYqfhMCdNFVPtaMBlPqhQGGs7wTuMl+PFLMz6w5VouMHBiItmsg== 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: On Tue, Feb 27, 2024 at 2:04=E2=80=AFAM Ryan Roberts = wrote: > > On 26/02/2024 08:55, Lance Yang wrote: > > Hey David, > > > > Thanks for your suggestion! > > > > On Mon, Feb 26, 2024 at 4:41=E2=80=AFPM David Hildenbrand wrote: > >> > > [...] > >>> On Mon, Feb 26, 2024 at 12:00=E2=80=AFPM Barry Song <21cnbao@gmail.co= m> wrote: > >>> [...] > >>>> On Mon, Feb 26, 2024 at 1:33=E2=80=AFAM Lance Yang wrote: > >>> [...] > > [...] > >>> +static inline bool pte_range_cont_mapped(pte_t *pte, unsigned long n= r) > >>> +{ > >>> + pte_t pte_val; > >>> + unsigned long pfn =3D pte_pfn(pte); > >>> + for (int i =3D 0; i < nr; i++) { > >>> + pte_val =3D ptep_get(pte + i); > >>> + if (pte_none(pte_val) || pte_pfn(pte_val) !=3D (pfn + i= )) > >>> + return false; > >>> + } > >>> + return true; > >>> +} > >> > >> I dislike the "cont mapped" terminology. > >> > >> Maybe folio_pte_batch() does what you want? > > > > folio_pte_batch() is a good choice. Appreciate it! > > Agreed, folio_pte_batch() is likely to be widely useful for this change a= nd > others, so suggest exporting it from memory.c and reusing as is if possib= le. I actually missed folio_pte_batch() in cont-pte series and re-invented a function to check if a large folio is entirely mapped in MADV_PAGEOUT[1]. exporting folio_pte_batch() will also benefit that case. The problem space is same. [1] https://lore.kernel.org/linux-mm/20240118111036.72641-7-21cnbao@gmail.c= om/ > > > > > Best, > > Lance > > > >> > >> -- > >> Cheers, > >> > >> David / dhildenb Thanks Barry