Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp3788525pxb; Mon, 27 Sep 2021 02:33:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJww7vYXup68tcn1wRw3pHUv17TCnJ8oqySbebyB1YXnxdbpVjhXl2V2ibmWaLiMdtfXqN22 X-Received: by 2002:a17:902:aa0a:b0:13e:1658:2a68 with SMTP id be10-20020a170902aa0a00b0013e16582a68mr7737441plb.24.1632735232775; Mon, 27 Sep 2021 02:33:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632735232; cv=none; d=google.com; s=arc-20160816; b=Ex/XIwh3dPdXN715DdVPunOFKIAjr3tVoFAQdHe/KZd0AJRLOu+uGtm3xxg3z/TBCk jnQcghWIFp76ywESJM5sIw3EM6l0zFCOxEIy5NjOcjJnbsoRZaRS9oIumVVzYdF5BQDW xd+Vk5LfiRdko8vbWQe5UoKTclBn5RTR+dQa99ewFbaxo4xq3WQ8q2iGjif7maFwFEAS JxxUvsSEmpcFqtUYvcWh6CAnhxrD/9B3OiP+RcGO/Tf6HayjaqeuzOFN7SN1buMhiORY B/PernRhyuBy0UsigZ6vGl1szzA35gky2cQDsqLyxewCmHk/21wL1qDSABOTfSgDzl4q xbGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=tGZj9UfzMOvrlmJlZWhVCYko1Gj7jAZ5QKpn2O8GHnQ=; b=CPKwFbQdDtENMSG2TNaR2eYBuO1OK1p348I73qymbZubsxBYSRa5R6Spam8q2CyP5K ECGxYbAkkbijC9pmiLywNlCKhH/CR9zjtXmDM49VpQbRYwffSkay+xDLsXdAswdzrIml 1G8vbzDMfWo3MFCD/oPpJo24N7O/kl8IE8G5GQIUvEZLtOz7szdypUNz1nouPl+9/1g9 4luB/SQ6fnHrnSGT/aLCn3kv+hOi0T0fkbXKW5hjTSKLRudzPGZJ6RbqcAGjLTo9bQ+v wHxjr3Ini/E72tmMFiWytcK6TKwee8e+841kJ/ius16cJj2+9kwxmUMAqeg7szYllaH/ G9LA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@shutemov-name.20210112.gappssmtp.com header.s=20210112 header.b=fH7ElhPz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w16si21438823plk.198.2021.09.27.02.33.40; Mon, 27 Sep 2021 02:33:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@shutemov-name.20210112.gappssmtp.com header.s=20210112 header.b=fH7ElhPz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233702AbhI0Jcq (ORCPT + 99 others); Mon, 27 Sep 2021 05:32:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233699AbhI0Jcn (ORCPT ); Mon, 27 Sep 2021 05:32:43 -0400 Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45726C061575 for ; Mon, 27 Sep 2021 02:31:06 -0700 (PDT) Received: by mail-lf1-x12d.google.com with SMTP id g41so74426061lfv.1 for ; Mon, 27 Sep 2021 02:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov-name.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=tGZj9UfzMOvrlmJlZWhVCYko1Gj7jAZ5QKpn2O8GHnQ=; b=fH7ElhPz/j0dkKN0IQlRwL6IKNF50qPdlSMdP3FrEeL1cT4duKYSrOaeKFQE5tK8MH NKI948ew/JhYYQ+jjF5z0G1HI1dHwAWv2H4R4LPPB9e0kyWGUgdsuD0ZPeeKEnzbihqn kd+XgcA0my6muCpI2/S1tm/wco+vpwCQvlNfb26uFYxFICWUZQaWLHxD//8pnErb+XHa wX4XqByN7PkBbMUXlZidhCn5rssyvGK3qzWxHqaHJ5Hh10vwDQzFtD01sJCxUdUotmsR ptOLfSNmuocRCfcbmwyvq3+nlmZ3ASxRX8qAkaNw2ZxHQUQIRevcyWlZYqXHR9ZTKBJH xnJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=tGZj9UfzMOvrlmJlZWhVCYko1Gj7jAZ5QKpn2O8GHnQ=; b=0IWrHQQBRU7zXxsHjPxzrNn86HBjkasmXMAFOnam6pDQPqf/CcGppqiJKwv/j7OWH8 oglTa0Pm0jVUp+C8gdxR9VHgN2P7Vbj2RxvbyZbNxdszPWFbyp/dpINAiYgUrmSuT4Qr hriTckGIAd7QySWkAZoZbHG4cc7n/d0849vvez8Iu9dyHDusPzKMDHbeQeiE8rkw3/wj QNOJrQZZIP7LcQk5o84Kih6Hb1NS72kSRYHYG/TaVSRGsHeUUdk+be4Y8rfwJfw6kNkV /foIPaLZWtkGgPVwpDruaoP0B2vJAxFTX6nLutYzQmgr+R5tjK4WPeqdDcOq6jE6YRid 0pLQ== X-Gm-Message-State: AOAM532yNy73s/JyNd4dIbbP0LvAmJRXriAO9ZMwyxc7Wej8P487p8d9 PE+ymAUyErCUeqa5mymAUzuz7A== X-Received: by 2002:a05:651c:21b:: with SMTP id y27mr27606230ljn.489.1632735064625; Mon, 27 Sep 2021 02:31:04 -0700 (PDT) Received: from box.localdomain ([86.57.175.117]) by smtp.gmail.com with ESMTPSA id u27sm1540438lfm.38.2021.09.27.02.31.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Sep 2021 02:31:04 -0700 (PDT) Received: by box.localdomain (Postfix, from userid 1000) id 625B510306C; Mon, 27 Sep 2021 12:31:03 +0300 (+03) Date: Mon, 27 Sep 2021 12:31:03 +0300 From: "Kirill A. Shutemov" To: Nadav Amit Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Peter Xu , Nadav Amit , Andrea Arcangeli , Minchan Kim , Colin Cross , Suren Baghdasarya , Mike Rapoport Subject: Re: [RFC PATCH 4/8] mm/madvise: define madvise behavior in a struct Message-ID: <20210927093103.g3cszw75gfctwtzk@box.shutemov.name> References: <20210926161259.238054-1-namit@vmware.com> <20210926161259.238054-5-namit@vmware.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210926161259.238054-5-namit@vmware.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Sep 26, 2021 at 09:12:55AM -0700, Nadav Amit wrote: > From: Nadav Amit > > The different behaviors of madvise are different in several ways, which > are distributed across several functions. Use the design pattern from > iouring in order to define the actions that are required for each > behavior. > > The next patches will get rid of old helper functions that are modified > in this patch and the redundant use of array_index_nospec(). The next > patches will add more actions for each leaf into the new struct. > > No functional change is intended. > > Cc: Andrea Arcangeli > Cc: Andrew Morton > Cc: Minchan Kim > Cc: Colin Cross > Cc: Suren Baghdasarya > Cc: Mike Rapoport > Signed-off-by: Nadav Amit > --- > mm/madvise.c | 168 +++++++++++++++++++++++++++++++++------------------ > 1 file changed, 109 insertions(+), 59 deletions(-) > > diff --git a/mm/madvise.c b/mm/madvise.c > index 17e39c70704b..127507c71ba9 100644 > --- a/mm/madvise.c > +++ b/mm/madvise.c > @@ -29,6 +29,7 @@ > #include > #include > #include > +#include > > #include > > @@ -39,6 +40,101 @@ struct madvise_walk_private { > bool pageout; > }; > > +struct madvise_info { > + u8 behavior_valid: 1; > + u8 process_behavior_valid: 1; > + u8 need_mmap_read_only: 1; > +}; > + > +static const struct madvise_info madvise_info[MADV_SOFT_OFFLINE+1] = { MADV_SOFT_OFFLINE+1 smells bad. And I don't like the change in general. Given that MADV_SOFT_OFFLINE is 101, the array will be mostly empty. I donno. I don't see any improvement with the patch. But maybe it's only me. -- Kirill A. Shutemov