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 C1312C47DB3 for ; Fri, 2 Feb 2024 13:47:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2A1C26B0074; Fri, 2 Feb 2024 08:47:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 252496B0078; Fri, 2 Feb 2024 08:47:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 123A86B0074; Fri, 2 Feb 2024 08:47:05 -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 F2FF86B0074 for ; Fri, 2 Feb 2024 08:47:04 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B9469C0EF0 for ; Fri, 2 Feb 2024 13:47:04 +0000 (UTC) X-FDA: 81746989968.27.B9E3B39 Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172]) by imf17.hostedemail.com (Postfix) with ESMTP id 7C41840009 for ; Fri, 2 Feb 2024 13:47:00 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YksE2AG8; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf17.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.219.172 as permitted sender) smtp.mailfrom=ioworker0@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706881620; 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=o1y5HKtPqsFZrIHkvUvd/hYmvD5sU0rdmW57LkYYBH8=; b=aQTilEhGgjGVMR6RUr4nJBpVWraAMDmSPFIsc3cXZyJAwTQijXcZrOHojG5kfPXAe6Yaki tim8cqnJNXm8vkEhk6e84gyGOuBbFcuxTqPESVkweuegTrBvSoafUFxHZr55cskPVvZwLQ oayoYiE2TofQHE1i8vPQKsy2ta3sKWI= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YksE2AG8; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf17.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.219.172 as permitted sender) smtp.mailfrom=ioworker0@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706881620; a=rsa-sha256; cv=none; b=r/XD8L4ftaim55O43ERt6y/5BGGLz3RsJ4FmX4GRWssMGMEwNZnIfc5WMRC9/pkdBEufuL Kizvl3LwTL09Ofb/BMUT49G2dCQ0MM8ZPtkRh52K985lWoMzuUQsKtkDd9livrQ4uvsZz+ ypkMvFxWt7SGkYiDBM5tdUl9sKY7ftU= Received: by mail-yb1-f172.google.com with SMTP id 3f1490d57ef6-dc6da01f092so1695636276.0 for ; Fri, 02 Feb 2024 05:47:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706881619; x=1707486419; 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=o1y5HKtPqsFZrIHkvUvd/hYmvD5sU0rdmW57LkYYBH8=; b=YksE2AG8Vm8lO4qGXnbMe869E8LMObZyZIqz6OrO4yNJXsnNwnvKe72zep6sx0Biqa 6t/OE3/VRyRV/d7662GiEt06bDsoDBLm4w5ZhZHhSmzuqx+R7xV6r/cdi0ZRGG9quzcH 643pcYhSOv5QXySocVrcvaFEAKfuEO7M39lwOz310dU07m1Ofd4GAt1COC4HKcj9sN0i zOtxkYtAefXSKMnVBLEyP88NgQt/AHLUy5zIg0LypD6fb+DszvZzBUoVROS24nHkOdNW 4QUnHf43Se35f18mCJ5aA7vqh73VJm8Zuikl+qydra2DVmsuX0JDSSTbwW9JNb0tVE5f Oqjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706881619; x=1707486419; 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=o1y5HKtPqsFZrIHkvUvd/hYmvD5sU0rdmW57LkYYBH8=; b=lWmdCcre6b+hGFIAPG8zMDH5q3yqz46jArvXu0Wl3+BlMZP5qS4uNnRYecmcdmih60 4PbIcWjwguevYmLL1IqPsqZOUSEMoZd3uyQKwnueMw9xLmiqJf/DrZETEDjG5WQ4UGRt uAPtBw3sxOueFZU+jjBiNL4MiTvkXHmZg7GSf55MxEWcfebhL6TJIYIfw1GyYlu1yidW umb7pakx4s9hnZPWS9ZoQPmMmfNCj+I/mMNaho3+vQXcJ90dxuZe7oPf5vrth+WfLtJn /wiQAsk8jOwdVXrHc/SZ3OEqjLmHVB1Eawk29lpII4C8e344Coi1lt2iy6SW20TDkC+Y eMyA== X-Gm-Message-State: AOJu0Yy8utWNdS7q84JMloTyP8Vh1p1+QjNiaNIyQ2exXhZB6qbHcAsx HdXjTJwL826m+wv6zb1tbNW1NR1w7PeGiOi7zXd1J+Fl0amK5UdKZIMu09f61Ztn7riPONJX/L+ yeA4o1i+BJQTm9I0Mi1z5kMdqCd8= X-Google-Smtp-Source: AGHT+IEIAljnNwy7iRLrPwGbFDdOqoBDMZL/eLzmiiVSynaXLx28wc8lVJ5yULdyIYXoXsb93ZwHcFyEamusv2aJUxA= X-Received: by 2002:a25:8701:0:b0:dc6:a128:55a6 with SMTP id a1-20020a258701000000b00dc6a12855a6mr2251493ybl.46.1706881619461; Fri, 02 Feb 2024 05:46:59 -0800 (PST) MIME-Version: 1.0 References: <20240201125226.28372-1-ioworker0@gmail.com> In-Reply-To: From: Lance Yang Date: Fri, 2 Feb 2024 21:46:45 +0800 Message-ID: Subject: Re: [PATCH 1/1] mm/khugepaged: skip copying lazyfree pages on collapse To: Michal Hocko Cc: akpm@linux-foundation.org, zokeefe@google.com, david@redhat.com, songmuchun@bytedance.com, shy828301@gmail.com, peterx@redhat.com, minchan@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 7C41840009 X-Stat-Signature: qbawggk7kgp45t5x8omqcsd6djjkkz4s X-Rspam-User: X-HE-Tag: 1706881620-313825 X-HE-Meta: U2FsdGVkX19/W0DnWFEZXT5l2fNb+x+zSZKr7x7XnqJhVPvQFY1vm5mcSV/5JGe91kSrkqV2h2bs26WDCFzQtsWYAnyHG6wtHWtnNnHZ8Q7W9KX7G/kFn2nYqIoj18nZKecF+taY6hP5Tcfcnd21sX/hVKQ8c2am/gZvLIyfMASu70rimu7qbZ3TQSnubbScTvmsdW6bf4icWMbi6n0dfhbDhzasHx7B1F3GHICK+pJism88gQed2uXj7UJVfbHiVsGsy16JDC//7YAR8lbX61AJe5KaDEpE8C7HMfDTUZZzo/FgmTkfCmxuEs5/gdnXlyPYW6vdmM5t3YHs8sj5fSmdD/iN/gUtpzoK25dfDC0H27Vx1wqB4SG8Fw5PuuMAVNALfy1cQsIrd6Cb/PKh6OiaW5HvYk4XHrzplzgIe+Hk6bDzyRFrOpIW1wSBKw5bsf9mtNVXX1PhbeuW5HpDK0Fcz1Bvr2tLIAvZ9V9ZeUh06mTlK+FrIUxB56suAEdMM7LsIFMJERWW35c0Kc3Zz0xsd1S9BnFMHQ4notqBCmF+y1pNDXoICx6Z5FE9qjVSACh/WyBR5w4doNgD+GGT18ke5RRXI+Ywk19zXlQH8uA5oEnozP/pjmh9cGfpVY4Ep4mU9t4REkbS1Egl3NB/wQT63QrEEKj7xZns58Ct5lBQnJW5/WhEsWvHma1UYF2BU5+FeQVdPY56/Gu6CpQ8DW6acu060oCmOVOq/TG1Qui4po26x7j0oSCcK+jRbwaHYZioSJmPq7VHygjWxNswcFstwDJ/BPPthyEHJj48IU0hvSGcn8Jx4sT9GneA8G126/u1GXPgA3adbm8FgWVQaNYNWhq+ljEQ/FyAK8rCC3RBREXo/5YnuysioI0vdFt5Qir7QYboQYWh79klzBnUrt24pszu1l2q15YOJAv+x1I4P3eZuj5W2Yc1OMvWFWKWJ0qo8kAFHOo1q01VYfO 1hby8esV PLc2LrX7QSyd9S3emTp/BXQPN7fOVDyJznJI1fQvpmHq/Bwkk4lsIxBgRN9rSR0EwN0s19b3EBJx/N3ItUl7RVTmEf0bYZkOSQxFMzdfw2H/dLAzgeo0D01EGNWoZ7lX9rFOsnvp+gOVf5YMH6GPYyBaC1mgBI8bsBAbZL3445nGUFqRQGKVfGj6uPDwUomWXfLG5BJH/kp5a7jRGhJox97FYCt7cu2YCdgg5xE3ZImlzeJxjHwyAv8I1Y79va3sEmUiMunnQxxHm09V4r4siXRPJOngnCBC40d8lHDXTMt9GS15ikA3BfDiS4d12x+H6Aqc2/USrq+mZGQvknzs27iXAm7gQ7eijiMu6wMTLtWaw7A6mew9gJWUVkAxY5pSupO8OLVMm3uh08OM7mgeZ+90jlAJEOdnWKEd2 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000081, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Here is a part from the man page explaining the MADV_FREE semantics: The kernel can thus free thesepages, but the freeing could be delayed until memory pressure occurs. For each of the pages that has been marked to be freed but has not yet been freed, the free operation will be canceled if the caller writes into the page. If there is no subsequent write, the kernel can free the pages at any time. IIUC, if there is no subsequent write, lazyfree pages will eventually be reclaimed. khugepaged treats lazyfree pages the same as pte_none, avoiding copying them to the new huge page during collapse. It seems that lazyfree pages are reclaimed before khugepaged collapses them. This aligns with user expectations. However, IMO, if the content of MADV_FREE pages remains valid during collapse, then khugepaged treating lazyfree pages the same as pte_none might not be suitable. Thanks, Lance On Fri, Feb 2, 2024 at 8:57=E2=80=AFPM Michal Hocko wrote= : > > On Fri 02-02-24 20:52:48, Lance Yang wrote: > > On Fri, Feb 2, 2024 at 8:27=E2=80=AFPM Michal Hocko w= rote: > > > > > > On Fri 02-02-24 19:18:31, Lance Yang wrote: > > > > IMO, since it's treated the same as pte_none, > > > > perhaps lazyfree pages shouldn't be copied to > > > > the new huge page. > > > > > > Why? The content of MADV_FREE page is valid until it is reclaimed. > > > > IMO, if MADV_FREE pages are considered valid until > > reclaimed, treating them the same as pte_none might > > pose a conflict. > > What kind of conflict? > -- > Michal Hocko > SUSE Labs