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 69C1AC48292 for ; Mon, 5 Feb 2024 19:43:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EF9E06B0080; Mon, 5 Feb 2024 14:43:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EAA886B0081; Mon, 5 Feb 2024 14:43:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D71BF6B0082; Mon, 5 Feb 2024 14:43:32 -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 C57626B0080 for ; Mon, 5 Feb 2024 14:43:32 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 945B5A1FE3 for ; Mon, 5 Feb 2024 19:43:32 +0000 (UTC) X-FDA: 81758774664.01.4BABD99 Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by imf01.hostedemail.com (Postfix) with ESMTP id C9E764000E for ; Mon, 5 Feb 2024 19:43:30 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="A/MXRzfC"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of shy828301@gmail.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=shy828301@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707162210; 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=SEs89W3ZsiN5nh28B4MK5ZXClVSnTgcTsrh9yzKO/2k=; b=e/gWksIBrUmtVyEuEpFWG0TEaViXXHGr9w8dp3rGZbzgQRZFsqagWGN3Frf5cZnMx3yF4U YwNn0SuqoVR1cP0ur3W8xHUHCMK4JIStDKH0XqJWe6/FtC63CgBABEz5mtmuBeH3F3C4RG PFQEhpcV18+noyExUA0il2fR9x2hfP8= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="A/MXRzfC"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of shy828301@gmail.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=shy828301@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707162210; a=rsa-sha256; cv=none; b=5+Mrti4l7isIG4U5KZQ5Ff4aJVnysx7ZAZAJgBiiRxCXIa7eZPFGTDDPBNCJsG1YU8KEqD Y589wPVLiB3NdB/4JJq9XwCEWJ0xEkE5d0xnbF0AwfKqqJNtvqZgOnSi6u6gWNI4KjvDxh +Ohm6FL/Mmit7ZB9RkNfE5px3ixnVyg= Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-53fa455cd94so3629413a12.2 for ; Mon, 05 Feb 2024 11:43:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707162209; x=1707767009; 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=SEs89W3ZsiN5nh28B4MK5ZXClVSnTgcTsrh9yzKO/2k=; b=A/MXRzfCGrvrFPFNdMKLykPhDqVlTednD9TIfcX9R8/Y1PzIWFCSMaLdfWiE9fJO/i GN45KlBuQFhrSEZ2LgRgaOOF6cthNT1qMgZm7qMfwzVemV0GdiOsX9Yoa3UOMkXOoGks 7nXfSc/nDwvFyKWYh8eKa+0SvEHByDsEoRpCfExYpx1Bp+xtxkRQ7fQEhcGoF5FlW8BQ gAvef//M8eFwz8LA/JHmqQdzZWKYP+cirfBYbRLWm932c3IbO7JRyduO16nXplvzrtpb K/kQe+W6l2ypwmzSl3IJlguMs26lOFrF60fNYsHfmcgJKkfubiwiPFgHSvDTZzOv3tyg nLRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707162209; x=1707767009; 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=SEs89W3ZsiN5nh28B4MK5ZXClVSnTgcTsrh9yzKO/2k=; b=KhCGzXaEUANUpixzXguu61MOAt1bLE+TDDvIPjEBAG+Yjhnz+3/+60k8vZyhRnirLH b8kcYIRKgbueyThLSbAiI6y9qtnkTgonV4C6bSZtAhrBEtwODLgAqCB+g1WdgoRwKofT 2DsUKs/7WtzVYDYBPd2O+q4bHZ1RYdyIFT2m5ScGC4YVNdyrNpYkT2KocsC3GQ05GBW0 jkv0ll5ueSrGNI1LPTljLVWANXxFc4uG6sgKWXM9HGMHq6ELWnsolwuFZ42hztwqEq3g JuTAPbAFjUk52Rrm9z83Nq3YlzdUGPpC+ftqQqLeYBANsjTSUhLUEiV/qDjCAvCN4LhF 4/Dg== X-Gm-Message-State: AOJu0YzIXcQNx0a5yEFbLahcuX1PMDgTW8uPMtU/ATB2uOyeseZiOJTR r+Uf7IazfSqWDgTslJ8ImMYEXIardh9ob6Bwaqp5GKGjuAyNDIqA6Og+PguNXpstvYGKP6v+pdF 7dngvcZ+jv1r9nLU0XBPFQPS6/88= X-Google-Smtp-Source: AGHT+IE2hze5OaigTBbfAKMDuXNERMjICOmh5WNvtTWDsGUFoYob0bu1EEBGPnXNLn25Ldzg0WyxbYZ6TQnZcvEpU2w= X-Received: by 2002:a17:90a:e2c5:b0:296:40c1:d7dc with SMTP id fr5-20020a17090ae2c500b0029640c1d7dcmr251247pjb.19.1707162209499; Mon, 05 Feb 2024 11:43:29 -0800 (PST) MIME-Version: 1.0 References: <20240201125226.28372-1-ioworker0@gmail.com> In-Reply-To: From: Yang Shi Date: Mon, 5 Feb 2024 11:43:17 -0800 Message-ID: Subject: Re: [PATCH 1/1] mm/khugepaged: skip copying lazyfree pages on collapse To: Michal Hocko Cc: Lance Yang , akpm@linux-foundation.org, zokeefe@google.com, david@redhat.com, songmuchun@bytedance.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-Queue-Id: C9E764000E X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 6yjsx9us8kkm11fdzff4z81th6ayo3ch X-HE-Tag: 1707162210-505114 X-HE-Meta: U2FsdGVkX1/bo0/casCGekgbgXMRByseff3h10L/qzqvf29HhxcGXZebqSfW+iIs0VtGBtrZYDvYii+quWgWkUgWPrA3zauZkSRzX+zombzn1o1Vdu9h5h8piTHrT5/oCcVSPPjdxTWkf3D4GtGH9MqgVf2dO+c/2p0Adhzhc/mepeyQWaEC9FZUnwNS5yo/YR4gSk1izJCcCnzzBSPJ60dlOMigadxjGROCVP2egF8sFx39QcN52yaiCrlmzXAy8VzKIjBSoupdR/khsCGspRtIY6fE9k7p0f+ao6QC+TA/KNyLJ5GvALZpQ84EJPcqmjAxEKs1yzsKYcKbTORLap+dAOtRHa71mukLgRnalTJuZdU4AigcrBlMNNhwCBV+r9G/1/n3v9HqFNi2TX8vDAx11DOk7ixSr5MywaPF3bRHaAqKCToaaPFqaX1yvn2EmM9YoxXIIwHWfpwkM2WDWsvb2YbBEd36a0eh+iZcZMVVKjZv1iS0nmaTZy2y3iLA+oMBs7ZCojc8mOuEnNEiLrPDoL4LfqaD1TBd2EJq30aFIBj/niCO8GEry7F9+z9KsDsnzToYOkDdlDduPduXUuYc7s8C8tDNCAh1j0sA3iMWtjCD677onhCPXHThKrT712Tam4NVsv1PgJz9VVSutYgGRg9obLlz6osRvezZ2yCtq2jURvyCifk63iH7Yw1Plzznhl0+LhFmygTVslOuALpEQHiqEbJO11YycpkaBkZ06aN1uZHrT8pa3qAF/W6yM7sccvL8nIQf4OzeeOHBDaPvOP/NYFAslFxbD02ov8AV0VlQMT/iN4eTCD/mFuGAJGiB8xWt1GwCJrs70sGUGAODd6EgPuvP8By6F3zO8+GDj8h4ORR3eSnd7GtYgQnfXeNmddgkAQNN1tJTQOt82dR5D5Ex/qoLLSEgCtaWhsc1SKZsvlCSZC7Tw+IoE8aYSBBOvGhPsXOrIiMfKb8 fVjZtOMn UjjGtwcGHFHx/lQY2YZmRNebBQB2IcRhIkQcrvTlb+g+jwZ7JsH6EndUi/kgV40NRWk2AP7GtojoWRnNCZQ3iCEsKcunicDOci9JjKv9pc7sTsen/xzQPpftOOUfRtLUdbtgsTTfsHSXw7vcZ0x9gH2c3VRfJPR5Rl35JjdZBGm75Ky9bKX3mGp1S4K8j/1J7rn3CH+nykw2QBPY3hgjVC6qzoQfleZ0Xy1C25YmEsERdWxujix5xVeKZSPATLQVnK56UwdxMnnzhiWQdC2/iWZ7gbLEoLPcvtbp1ZIqqooinT9/chvyLxC2d556GBVoK0JMYhoqiJcuFCgKESeAuE0ulSZv90PnrdZgp9DJZi0ZLZ29FEUEZP8rTpb1PDVtbskOjk/RAhQxZdwqqpj1T2akr5txMjpDmEMtP X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 Mon, Feb 5, 2024 at 1:45=E2=80=AFAM Michal Hocko wrote= : > > On Fri 02-02-24 09:42:27, Yang Shi wrote: > > But if the partial range is MADV_FREE, khugepaged won't skip them. > > This is what your second test case does. > > > > Secondly, I think it depends on the semantics of MADV_FREE, > > particularly how to treat the redirtied pages. TBH I'm always confused > > by the semantics. For example, the page contained "abcd", then it was > > MADV_FREE'ed, then it was written again with "1234" after "abcd". So > > the user should expect to see "abcd1234" or "00001234". > > Correct. You cannot assume the content of the first page as it could > have been reclaimed at any time. > > > I'm supposed it should be "abcd1234" since MADV_FREE pages are still > > valid and available, if I'm wrong please feel free to correct me. If > > so we should always copy MADV_FREE pages in khugepaged regardless of > > whether it is redirtied or not otherwise it may incur data corruption. > > If we don't copy, then the follow up redirty after collapse to the > > hugepage may return "00001234", right? > > Right. As pointed above this is a valid outcome if the page has been > dropped. User has means to tell that from /proc/vmstat though. Not in a > great precision but I think it would be really surprising to not see any > pglazyfreed yet the content is gone. I think it would be legit to call > it a bug. One could argue the bug would be in the accounting rather than > the khugepaged implementation because madvised pages could be dropped at > any time. But I think it makes more sense to copy the existing content. Yeah, as long as khugepaged sees the MADV_FREE pages, it means they have "NOT" been dropped yet. It may be dropped later if memory pressure occurs, but anyway khugepaged wins the race and khugepaged can't assume the pages will be dropped before they get redirtied. So copying the content does make sense. > -- > Michal Hocko > SUSE Labs