Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1089238rwb; Thu, 1 Dec 2022 12:12:29 -0800 (PST) X-Google-Smtp-Source: AA0mqf7w5qYMg6M1V7NQjsk0G3hbPWEkB+Zhaxr8JXho2w+FWVS1L5wzU5Es/FtbdqPsVRgNspW3 X-Received: by 2002:a17:906:c2d8:b0:7ba:5983:ebb5 with SMTP id ch24-20020a170906c2d800b007ba5983ebb5mr35266265ejb.646.1669925549422; Thu, 01 Dec 2022 12:12:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669925549; cv=none; d=google.com; s=arc-20160816; b=HA1gPa9IbN5bS/wibt6YpucUmQ9g/jb2KyttxWdB+01YNZQ2OLEyytx0SwPnShUH6l q7n5UOl01beQ5Y7AnOJgkMJA4jvqsS8/B8qN/Pxh5Y4GyAPgivWS5ZYC7nlBxDnUwbkD EEOCoLBlrpkYDFxfadrn8aqoYm19F66j6k6voOyof1WoG2I96RsPBHpv4iXH0SRML+GH otgrTGSCENybaZDBRqz5Ig9JmpcrdUqNkbzwUP5i9wWnc5v73BzlO69LE3j0BWMoXTP0 rf3KaaqrT9CUpqfMrQah7V01DUjE2GN6pb85gS1Lnj90Jzk/Q2PXhRHMq5P9l5atNrsA iObg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=N+cxU5tsQZIeB8MEm8lyamTViU2V0IWkgm7seDl4PV8=; b=WJ+IMRUSvU8vSmSEQ8g6HE9fbntJcP/Otro4D8l5tzTekr/LxmPIXwCUaN/D49diL4 c6FYs1QjVo7jD4L3L+fBOJtEIX7lAV1+ifucFi0YLSMbKiLIFKdryBc2U/EFpPP+h+Yj ZxFCkT0lyyZqIh19i+Gu0TRQfKj7tnDwZZxDKvmWQGzkERx+v/lQHXln2r8pbRUy0LIz 9VU53MU2kooBxeJl0LHjDieBSDw8al4/XxsrJpzOYwVZjwGy091sHg0hyM9SqLPNwKvE IN2rasc2yom8HnxQ2Mz91n759KweQ/6jfRB7ha7Vdhp2lfdHXGUN2DWsKW3ef3h9gYDh LVmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=bEtqLuo2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ga22-20020a1709070c1600b007aeef4dd9f3si4775926ejc.305.2022.12.01.12.12.08; Thu, 01 Dec 2022 12:12:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=bEtqLuo2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230158AbiLATv1 (ORCPT + 82 others); Thu, 1 Dec 2022 14:51:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229890AbiLATvZ (ORCPT ); Thu, 1 Dec 2022 14:51:25 -0500 Received: from mail-yw1-x112c.google.com (mail-yw1-x112c.google.com [IPv6:2607:f8b0:4864:20::112c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 05BD5B71DF for ; Thu, 1 Dec 2022 11:51:24 -0800 (PST) Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-3b10392c064so28485577b3.0 for ; Thu, 01 Dec 2022 11:51:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=N+cxU5tsQZIeB8MEm8lyamTViU2V0IWkgm7seDl4PV8=; b=bEtqLuo2hAFMWMbuZ6x+99JPoTYgfQ0an+IKqqGdbPbpfAbIR8M6UsYf8t1tLPEGc8 QKj8hUopQ2Lt+uCBQVfegJBGoYVezN9oNx6DP19lh3nYS2pnU1zlAv2mftHYhKvXWYv8 snHwu7ppgcfAyFzBYXJJS/fAM1lfz7HLPY6YNKDzzo9GcnjIPJPj0CbwYfg+lH3PLmA1 2RO+Mm97uTLOYXBC6sFThq5rGTh13Ncc4o2nEWXhxw8O17rc8GK7acVWJpMzVFZF/9LF M41792Jl/65v7D9DiK+0OGbrUNcgrY17A07Hd6jZkT2A142Mk5BCqjqETb71uBkiUF2D xmNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=N+cxU5tsQZIeB8MEm8lyamTViU2V0IWkgm7seDl4PV8=; b=GF42na+0M4uodBBTbntoR1V2l1LGlqGNXjLHdNTiwUs6UHLH1SYzQTWck3ONBLgYjj 4OPMBSidN7qn8wUXJqCAmMAgKGdWS/8vZPDX169KGoD5AqiGTzZUNu0FPGhW9ZR+y3vJ 1eUbMQhSL7SJXMaXhfm5RE2Lh6P9awYuFFX9T7zhGLW+d8RnO4XFarcbBiFpPps7gjpM wChJLWULrRDuhSvgeEqWMs+3JpT8sSBAPAZSLzVwiIwpiK96uD+yjrwzdJJd8Ymb9EAt V6N4yT17fd78aaG0TqBnwzWwftG+g8Vp56iLnjw9poeangYD6w/g25ZHtxzNCJGeURex CTig== X-Gm-Message-State: ANoB5plWHK6M/U7ZxprVIgQtatHMcfyMU0DSXg/KWzQ7HfMeYTvBPr7A o5OQZRaURQB//NDpbS/+cnPAAe4MnQYRjArGk0syYA== X-Received: by 2002:a81:104f:0:b0:3d2:b057:9925 with SMTP id 76-20020a81104f000000b003d2b0579925mr11779662ywq.455.1669924282992; Thu, 01 Dec 2022 11:51:22 -0800 (PST) MIME-Version: 1.0 References: <1667971116-12900-1-git-send-email-quic_pkondeti@quicinc.com> <20221130151739.a7771037aa83ff536ac2edd5@linux-foundation.org> <20221201030045.GB3980@hu-pkondeti-hyd.qualcomm.com> In-Reply-To: <20221201030045.GB3980@hu-pkondeti-hyd.qualcomm.com> From: Suren Baghdasaryan Date: Thu, 1 Dec 2022 11:51:12 -0800 Message-ID: Subject: Re: [PATCH] mm/madvise: fix madvise_pageout for private file mappings To: Pavan Kondeti Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Minchan Kim , Charan Teja Kalla , Prakash Gupta , Divyanand Rangu Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 30, 2022 at 7:00 PM Pavan Kondeti wrote: > > On Wed, Nov 30, 2022 at 03:17:39PM -0800, Andrew Morton wrote: > > > > On Wed, 9 Nov 2022 10:48:36 +0530 Pavankumar Kondeti wrote: > > > > > When MADV_PAGEOUT is called on a private file mapping VMA region, > > > we bail out early if the process is neither owner nor write capable > > > of the file. However, this VMA may have both private/shared clean > > > pages and private dirty pages. The opportunity of paging out the > > > private dirty pages (Anon pages) is missed. Fix this by caching > > > the file access check and use it later along with PageAnon() during > > > page walk. > > > > > > We observe ~10% improvement in zram usage, thus leaving more available > > > memory on a 4GB RAM system running Android. > > > > > > > Could we please have some reviewer input on this? > > > > Thanks. > > > > Thanks Andrew for the reminder. Fyi, this patch has been included in Android > Generic Kernel Image (5.10 and 5.15 kernels) as we have seen good savings on > Android. It would make a difference on a low memory android devices. > > Suren/Minchan, > > Can you please do the needful? Yeah, I saw this patch before and it makes sense to me. When discussing it with Minchan one concern was that if the vma has no private dirty pages then we will be wasting cpu cycles scanning it. However I guess it's the choice of the userspace process to call madvise() on such mappings and risk wasting some cycles... > > Thanks, > Pavan