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 D66AFC02182 for ; Mon, 20 Jan 2025 13:47:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 68AD06B0082; Mon, 20 Jan 2025 08:47:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 63A566B0083; Mon, 20 Jan 2025 08:47:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 501896B0085; Mon, 20 Jan 2025 08:47:46 -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 337726B0082 for ; Mon, 20 Jan 2025 08:47:46 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D0DB9AD6AD for ; Mon, 20 Jan 2025 13:47:45 +0000 (UTC) X-FDA: 83027958090.19.B4C8E53 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by imf01.hostedemail.com (Postfix) with ESMTP id D2BA040014 for ; Mon, 20 Jan 2025 13:47:43 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="G/OQXHTF"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=ioworker0@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737380863; a=rsa-sha256; cv=none; b=HUTCSU/SlydOOshXjqJBd/ct0YyUBt/49JDIcihrsu1RhXWrB2NLwbsw9rVP5qrmvIvKUO srmmw78pQB1z864cG/EqnMOJoDmm+FFJbzo5KGHcx/IuTIeqWnioyGnhF0U6IRZApRtLmC CS7DYTn6LdQIN0aQeLgbv1oET5cKJNs= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="G/OQXHTF"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of ioworker0@gmail.com designates 209.85.208.41 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=1737380863; 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=u10pbMF13ntLLVZXaXxdyQaz/knTJxWSDUYmXxtbkvY=; b=BYu7apsQYOzhyDjhNBvadv7RcOSl45WB0JoAImjias4Z6Wj6U7s8v6so4SRsVKljJ02TeU ob/FGbaE6iu//dDwOkGk37klUVIzHjD7Erfms/wlBR7klGcUAYZbBq4xvsyZuCmsF3W/Rt HM7EfRNbGeDf4QlUAE/WjEVnUtzgZBE= Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5d0d32cd31aso6822435a12.0 for ; Mon, 20 Jan 2025 05:47:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737380862; x=1737985662; 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=u10pbMF13ntLLVZXaXxdyQaz/knTJxWSDUYmXxtbkvY=; b=G/OQXHTFc4kGWOQMyhU+tVp5m0hYBkZQjaXc88stLpVvvzHNTFcpBddmvWWrva7gDQ 6Lso12md8OV+6TXO73LxcCKlKyM/dZsIEHYEkXSEr+S0qLJlGH3dpiCjjLWedquKqmFB kmM3Go6MozgqI0dqPMMFeDZIv9Cm85wiQxskWYe43Oy6utxz6SDQIjBk+DTcK8he1fGM WJE6yXSCn/kcH/NoBzb8Q9L4mVOkk8lwj51bWS/+cgzc+0coPWy1pLAFULz42LnXdX1r qbOrb52aDJez6qhSvQHzSQABqNM7kSCb1wg2rrQSSiHZbzIUarcHLLYmxyh5ynchuF8W 5Ntw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737380862; x=1737985662; 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=u10pbMF13ntLLVZXaXxdyQaz/knTJxWSDUYmXxtbkvY=; b=Y5Xb1fdS+UKBbHOcBOzh20KAiIfnBSXhUTeJUGp7IlJ2Ygtfu1hV/HjgzZPks7Gflu W0R/fMVZepAI+b0kbXvYu7Nj6RC9TcSJiYJNapxLm2T3a+FTdprYRUdzfBTAUMkUS2K/ kCBJnSYR+Ewh8juCny+wHoSjuy9s74eEuSkbi3Wz9fDUuWlXskwfCWrb3Kkz2yyeSbXn DdEtVvHWs6H+K/pkZXpUMshj5BKq/N/YJa9bGYaFmulMeSlIfvIiPmKlxSFjSDwOfJ7y +v0oM8fQzfuWE6TS7NYZqsbJOnnksco3DzGKRZHvw1dT8HH88lsFs43Q/xTTZqvO4UhT jLjw== X-Forwarded-Encrypted: i=1; AJvYcCVP7ZNeAMmr1k5SiLgKsyyetYS2qjZRg3fuWTZmOPS/fGPW6XPTc8E2d6iiW0wQlN0OOOgiHOhA+w==@kvack.org X-Gm-Message-State: AOJu0Yxiqw2bB7VOO90LaQSnCp6G6x/uHfcNTmofnuJkGSH/AlgrHPd6 bjIhPU6EqpPkc5wa9HS12XgIOlweN8E0OvM/7tRSW0kU6/lRNOAP8t4n/j67mSS8A94G0K5eH/i fSfV34p9ZbIooA2xbB5V/q1z3/EM= X-Gm-Gg: ASbGnctzhExdiuIzmieqdriEAXUCSkxO8Dy8JTfQoGKpcSPfCYwQK3A+c0k04DObyRq P0NsFPDvOO+MzQVPAskv3IbKBAqztEqvWE1ZEV89pEjZg6q4SYhw= X-Google-Smtp-Source: AGHT+IEgxA0bKeBYEHtS628jhjKpso5Je4u482BDHYvmfRKzavLsGc8sT39dnsLwf4106s43IrxR0cKiSNaXYy2uybQ= X-Received: by 2002:a05:6402:3553:b0:5da:1263:306c with SMTP id 4fb4d7f45d1cf-5db7d2f5b73mr32415361a12.10.1737380862038; Mon, 20 Jan 2025 05:47:42 -0800 (PST) MIME-Version: 1.0 References: <20250120013038.6657-1-ioworker0@gmail.com> <04d81e18-c206-40f3-b469-5ea588d4bf8e@lucifer.local> In-Reply-To: <04d81e18-c206-40f3-b469-5ea588d4bf8e@lucifer.local> From: Lance Yang Date: Mon, 20 Jan 2025 21:47:05 +0800 X-Gm-Features: AbW1kvZf6HPMPHaxlFRMPtDqPjDQvfhKwJSvTEjfp8QF994vV70_kTbPVYlex_4 Message-ID: Subject: Re: [RFC 1/1] mm/madvise: fail MADV_PAGEOUT on VM_DROPPABLE VMA To: Lorenzo Stoakes Cc: akpm@linux-foundation.org, 21cnbao@gmail.com, ryan.roberts@arm.com, dev.jain@arm.com, david@redhat.com, shy828301@gmail.com, ziy@nvidia.com, libang.li@antgroup.com, baolin.wang@linux.alibaba.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Liam.Howlett@oracle.com, vbabka@suse.cz, jannh@google.com, Jason@zx2c4.com, Mingzhe Yang Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: D2BA040014 X-Stat-Signature: iitz1w5jene5zeephf1w667mfzox3gam X-HE-Tag: 1737380863-246186 X-HE-Meta: U2FsdGVkX19yP0FKMxVI+9hy3ulTeZeslAcpFZXC5p1/yOMAtIybs4VEVnFm7cVAhycXUm9ERNuG8WIqd2iNmC5WAbWMSbvGqtLWrgfphy1VhDP+HcTUBvnsIA8NL46M3KDQdxCLxH6oC7XrIoldi6xF4QgMVob0cELqAnVUGT9UNEfciuSmMDTb1b1uZt3PViF3146TbLLQ8bpqcEclwI5ggbxfbCZki/OLSBBt8IZST+Peiuhc8CtMFjp7temqzHdJVk+6K0bsbCzTYjJtl497Oo6XTX7J5+BN9umIH5Y7iXF/2tgD1DBA9n3CO/nky9iJNHuvhuByjQo80hOdnw1DP/D7iD/4ipGifYXCVj1F3hXnTYVFTtFJOPZ89BpWCTRz8l0UHiuu+o3m6DLJLRRzJrjNIQ8anqDapn+kzzXTcBvibgbF2jmQ6Y2UNn52R35vYoPzTgbddBvd0VdOb3HC4eSKtdqU1xRfRHp8PgK/MZmBM3SSytNn5a3zL9bjLdd2pLUpiBKEmwS48WTHHXlUZSH61e71u0NfIU7B51jl4Hhv+0NSd10SkSqjsMv/MUYTWEGG1pUpwjy1pTWD/TiYq4g8DZMrB7dfTmgb0U4AIpAhhsRCsRyGfPiOfeFHP52HjOVm/QA+xCcm5W8mbeaKaLGVkI+p1HLH0ol8KQjRhqm+AyqAyFWxiYhbTGVu24gAUeClPbHxXboP1/OQDZ37cuqOGMHXUHE6esdJq+506zMoQoVKTFduSwim7JdCUa4ApiMWmJC4AhcD2h1Ely4MCp69QOWDuCEWQWwsgKGxrjqVAAfIUU3WWpi7ATz9BFmcRYMtZW0h9r8pvRU9FnwG7L0egjw1GOSay66GGkDkSO44xnVNzGCwdXwxrwjDbVPmPdhEqTGU1W7+5MhGJu8OvKIu7x3zO5JFHFnqwEaAADdjoUCH2g0QeQb5JC7xkWYBycjFhc4E36ZEeKe WutLC5eW S/UCx6p1VQA3me4YomwmbCt3XwpxfMuZrEdbDgXSTXWpTGBRFVzgU07KmGD4gj+fatkKKF6N9yNdCUJj0H9ynuSM5HZpqlyhf9sqYhPlHZ4g79yMdm7ujNjaVfjlhm9k64SB04ZF1fgVW8UNBzON7Gxeui9gfkqsWah+ZytAUWBibGgea7z+j6Y0U+RFLHqQqoYUYGBFk38onfgc2ZvL/8CYl5jEVvE6yTBmUq/QWLFXK+wVd+O6UFigHqaHVSWySXougzbo7fzVjBCd4y4JCVydZjW3WAzSWaOtW7Uag2a7xfOy3Flp3Tynlq+p/0EInDcZ1A7xVv7nYJulvJUsqV445vNCuE1ULKIFIqFMWb5kSW+0insm3AJ7haIKTQHOh9rF65Zashwsx3sgJFitQsYoMN55HXlqYKiYtYevToSDsIRaI8zQL8ZOxHLtM4kenqOKTKUHcBBwjZStws7QT65JtVRLJMg7ipqKM X-Bogosity: Ham, tests=bogofilter, spamicity=0.108489, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Barry, David and Lorenzo, Thanks a lot for taking time to review! On Mon, Jan 20, 2025 at 6:45=E2=80=AFPM Lorenzo Stoakes wrote: > > Sorry but NACK again on this :( > > On Mon, Jan 20, 2025 at 09:30:38AM +0800, Lance Yang wrote: > > MADV_PAGEOUT should fail on VMAs with the VM_DROPPABLE flag. While > > MADV_PAGEOUT is intended to move anonymous pages to swap, VM_DROPPABLE > > should not be swapped out. > > > > There is an issue where using MADV_PAGEOUT on a VMA with the VM_DROPPAB= LE > > flag behaves like MADV_DONTNEED, causing the pages to be dropped. This > > could break the semantics of MADV_PAGEOUT, IMO. > > > > So, let's add a check to detect the VM_DROPPABLE flag before doing > > MADV_PAGEOUT and returns -EINVAL. > > No, let's not. I think I completely got it wrong. Learning so much from your patient respo= nses! > > Firstly this behaviour, whether you feel it is right or not, is now > _established userland behaviour_. A pedantic interpretation of how > MADV_PAGEOUT ought to interact with MAP_DROPPABLE doesn't trump what is > already in released kernel versions, unless it is wrong in a -broken- > fashion. Yeah, this patch would break the established userland behaviour as well. > > Also I'd say you'd 100% expect an anon page to be dropped in the case of > MAP_DROPPABLE, the semantics of which are 'if there is a request to drop > this, drop it'. Here, the user is saying 'hey drop this'. So we drop it := ) Yep, you're right. > > I think the more correct patch would be to extend the man page to > explicitly mention MAP_DROPPABLE. Thanks again for your time! Lance > > > > > Fixes: 9651fcedf7b9 ("mm: add MAP_DROPPABLE for designating always lazi= ly freeable mappings") > > Signed-off-by: Mingzhe Yang > > Signed-off-by: Lance Yang > > --- > > mm/madvise.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/mm/madvise.c b/mm/madvise.c > > index 49f3a75046f6..29d0234da8a1 100644 > > --- a/mm/madvise.c > > +++ b/mm/madvise.c > > @@ -1263,6 +1263,8 @@ static int madvise_vma_behavior(struct vm_area_st= ruct *vma, > > case MADV_COLD: > > return madvise_cold(vma, prev, start, end); > > case MADV_PAGEOUT: > > + if (vma->vm_flags & VM_DROPPABLE) > > + return -EINVAL; > > return madvise_pageout(vma, prev, start, end); > > case MADV_FREE: > > case MADV_DONTNEED: > > -- > > 2.45.2 > >