Received: by 10.192.165.148 with SMTP id m20csp951246imm; Wed, 25 Apr 2018 10:07:20 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/Ib52fQ4D1j6LUe+xh7voGvO6DTNuq7BM/EwJj/v0hQ+ur7Ca38ebls33yzqR/7DABHgb7 X-Received: by 2002:a17:902:28e8:: with SMTP id f95-v6mr27240976plb.250.1524676040110; Wed, 25 Apr 2018 10:07:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524676040; cv=none; d=google.com; s=arc-20160816; b=z11pUybT302y7cpywwFqzQYVi/6EPmxTXWZInMpQmuCWh2JaOHCEft6VxA10yn0I8O KazgBQitJwmKVMN67RXBOesbt6It1hYN/t/seTS9QKlnecROZ+vnDJ4VQjP8qv4xkXDV EyZ8kA2NUbCIfeAaTQoTYILk2Q3k18RWeyuMAuHCqIO5sl5DasvTb5sO6K7MIKitNoA6 R56k30EXdAECDPNf2SGJA+jLvo/F3RIMyQ9Ipv7dwvkdsyHqQ6hoz2zKXJTF2C33m+J2 5MZToKAaVlAd6H1qJketuVly8zMRrmrowU2i+2iNZXFBllO4zha2HkkZbhAp+AZMV7zB yuZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=PrphQ/T8SRjz7STHWfkbOOhLdZ1g1ui/qexlNyUi6a8=; b=mS/sVTArNGZ4uxDC+ntDQbRCif/LOfIKpuny8spgjf5KoN0J2AYyQGN3QORq3R35b7 MNtAHDWrfssYhXU99weXYc+KeMBa+ZOxCnXHPz6hjkWitXYcsLOKZItpR40x3yBg9wi+ 7p+uHCOWvMPyF3vpCXlo0voSXQ4y7Pp3rrZ5k5aICoLsGFD4h3Oh41CorLhN6FVmKaWY EcwYGjyYZsKqeNBHB+fEPkEMPi0rbn6YtCJw7Mk1GmePYErSkrukxF0TElZywnRxUfkw CQl88NIrUrvPdg4j8WPUoOtsU0MgXhILOool0hzPwOn7guqqNccKk/pZPC8OhXtKUeWV gSbA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l9si960773pgq.691.2018.04.25.10.07.04; Wed, 25 Apr 2018 10:07:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755707AbeDYREu (ORCPT + 99 others); Wed, 25 Apr 2018 13:04:50 -0400 Received: from mx2.suse.de ([195.135.220.15]:58406 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754926AbeDYREs (ORCPT ); Wed, 25 Apr 2018 13:04:48 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 9A0AFAD03; Wed, 25 Apr 2018 17:04:46 +0000 (UTC) Subject: Re: [PATCH 1/3] mm: introduce NR_INDIRECTLY_RECLAIMABLE_BYTES To: Roman Gushchin Cc: Vijayanand Jitta , vinayak menon , linux-mm@kvack.org, Andrew Morton , Alexander Viro , Michal Hocko , Johannes Weiner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com, Linux API References: <20180305133743.12746-1-guro@fb.com> <20180305133743.12746-2-guro@fb.com> <08524819-14ef-81d0-fa90-d7af13c6b9d5@suse.cz> <20180411135624.GA24260@castle.DHCP.thefacebook.com> <46dbe2a5-e65f-8b72-f835-0210bc445e52@suse.cz> <20180412145702.GB30714@castle.DHCP.thefacebook.com> <69b4dcd8-1925-e0e8-d9b4-776f3405b769@codeaurora.org> <20180425125211.GB3410@castle> <20180425164845.GA7223@castle> From: Vlastimil Babka Message-ID: <7fc2986e-b867-eb32-9124-d10ef6c1a3a3@suse.cz> Date: Wed, 25 Apr 2018 19:02:42 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180425164845.GA7223@castle> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/25/2018 06:48 PM, Roman Gushchin wrote: > On Wed, Apr 25, 2018 at 05:47:26PM +0200, Vlastimil Babka wrote: >> On 04/25/2018 02:52 PM, Roman Gushchin wrote: >>> On Wed, Apr 25, 2018 at 09:19:29AM +0530, Vijayanand Jitta wrote: >>>>>>>> Idk, I don't like the idea of adding a counter outside of the vm counters >>>>>>>> infrastructure, and I definitely wouldn't touch the exposed >>>>>>>> nr_slab_reclaimable and nr_slab_unreclaimable fields. >>>>>>> >>>>>>> We would be just making the reported values more precise wrt reality. >>>>>> >>>>>> It depends on if we believe that only slab memory can be reclaimable >>>>>> or not. If yes, this is true, otherwise not. >>>>>> >>>>>> My guess is that some drivers (e.g. networking) might have buffers, >>>>>> which are reclaimable under mempressure, and are allocated using >>>>>> the page allocator. But I have to look closer... >>>>>> >>>>> >>>>> One such case I have encountered is that of the ION page pool. The page pool >>>>> registers a shrinker. When not in any memory pressure page pool can go high >>>>> and thus cause an mmap to fail when OVERCOMMIT_GUESS is set. I can send >>>>> a patch to account ION page pool pages in NR_INDIRECTLY_RECLAIMABLE_BYTES. >> >> FYI, we have discussed this at LSF/MM and agreed to try the kmalloc >> reclaimable caches idea. The existing counter could then remain for page >> allocator users such as ION. It's a bit weird to have it in bytes and >> not pages then, IMHO. What if we hid it from /proc/vmstat now so it >> doesn't become ABI, and later convert it to page granularity and expose >> it under a name such as "nr_other_reclaimable" ? > > I've nothing against hiding it from /proc/vmstat, as long as we keep > the counter in place and the main issue resolved. Sure. > Maybe it's better to add nr_reclaimable = nr_slab_reclaimable + nr_other_reclaimable, > which will have a simpler meaning that nr_other_reclaimable (what is other?). "other" can be changed, sure. nr_reclaimable is possible if we change slab to adjust that counter as well - vmstat code doesn't support arbitrary calculations when printing. > Thanks! >