Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp5136340imm; Tue, 19 Jun 2018 05:46:00 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJv3KCaGrl22Gy8N4SdX8YlHvc5HadiLLa0nrEKX9lU2JvGSt86j3b04CKfqWirPwcP8pTC X-Received: by 2002:a63:88c3:: with SMTP id l186-v6mr14688725pgd.226.1529412360616; Tue, 19 Jun 2018 05:46:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529412360; cv=none; d=google.com; s=arc-20160816; b=exA/gawaAihcJ5FR2nrDiUa5tTUnTE0coZNmYaOUTp1/c2xMGPeQf0trQdDacWCbCz 6bpTsMTPvPLEh2pCAtAHfqJmWOZWCiwgU+8q7XnTHUta1uRCHfGalsxNWRgd71Sq742A YrILhXqkTJaiZzronRpRmTve+3wUjie1MZyYBeSaucKoLig4bxE+GSkaFym24H7xtJmr MaI5vjWbpG380w9hXeOTCVO0JtNXX7H2PBrDiXyJxo3f0R9G7Gp7KqIwY1jb9ZbJ700X rBdoaDyXHV4ELPntpDbeBZeYP+z83Gtj+TInriTk0gSI30+7Z3cxjSXQguDn8Z3MnUON 75mg== 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:autocrypt:openpgp:from:references:cc:to:subject :arc-authentication-results; bh=z5opyoCcxghdeyxu5VNP8+YnmDykKu9XtvVRZcIOCGs=; b=CbSOrAUU3BVjFFMo8vtNj7PfSds6WBSFz/9zCF3fwXI/nxYJf+/UINpxwW65cL74hs WcHEtNrbCYRAolD9IILRNP4QVvjzWLXjalfVeLeSfsyVfQr0R+RWzpnwiltiP3/QpXXZ edeAeKYU9kJTdz+zWa7sBciXrJj5KCrDAK50N2gHPhprtr84EoD56xwW/zgtKEOIBYMo A27GDB2ieFhKlY3hcD31aD5/4yuQJsNi7w2GTUer7YRwLXerU9jNPbEBsegK+B5QOFLC Pe4NwbUxwkqDF//oAnnjOkjvlm/zaU2YJDIAmybRoT+NmGWVpN+rx6f6OTgdSdSNNkB9 c5Ig== 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 l1-v6si17336198plt.389.2018.06.19.05.45.46; Tue, 19 Jun 2018 05:46:00 -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 S937853AbeFSMos (ORCPT + 99 others); Tue, 19 Jun 2018 08:44:48 -0400 Received: from mx2.suse.de ([195.135.220.15]:37962 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S937707AbeFSMop (ORCPT ); Tue, 19 Jun 2018 08:44:45 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext-too.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id BDFE3AC5E; Tue, 19 Jun 2018 12:44:43 +0000 (UTC) Subject: Re: [PATCH v2 6/7] mm, proc: add KReclaimable to /proc/meminfo To: Minchan Kim Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Roman Gushchin , Michal Hocko , Johannes Weiner , linux-api@vger.kernel.org, Christoph Lameter , David Rientjes , Mel Gorman , Matthew Wilcox References: <20180618091808.4419-1-vbabka@suse.cz> <20180618091808.4419-7-vbabka@suse.cz> <20180618143317.eb8f5d7b6c667784343ef902@linux-foundation.org> <650c3fab-3137-4fe6-272a-f4ec104855a7@suse.cz> <20180619081357.GA95482@rodete-desktop-imager.corp.google.com> From: Vlastimil Babka Openpgp: preference=signencrypt Autocrypt: addr=vbabka@suse.cz; prefer-encrypt=mutual; keydata= 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 cqmP8roqufIAj+Ohhzs= Message-ID: <10bfd013-0eab-aad3-ac69-7f854909eccf@suse.cz> Date: Tue, 19 Jun 2018 14:44:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180619081357.GA95482@rodete-desktop-imager.corp.google.com> 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 06/19/2018 10:13 AM, Minchan Kim wrote: > On Tue, Jun 19, 2018 at 09:30:03AM +0200, Vlastimil Babka wrote: >> On 06/18/2018 11:33 PM, Andrew Morton wrote: >>> On Mon, 18 Jun 2018 11:18:07 +0200 Vlastimil Babka wrote: >>> >>>> The vmstat NR_KERNEL_MISC_RECLAIMABLE counter is for kernel non-slab >>>> allocations that can be reclaimed via shrinker. In /proc/meminfo, we can show >>>> the sum of all reclaimable kernel allocations (including slab) as >>>> "KReclaimable". Add the same counter also to per-node meminfo under /sys >>> >>> Why do you consider this useful enough to justify adding it to >>> /pro/meminfo? How will people use it, what benefit will they see, etc? >> >> Let's add this: >> >> With this counter, users will have more complete information about >> kernel memory usage. Non-slab reclaimable pages (currently just the ION >> allocator) will not be missing from /proc/meminfo, making users wonder >> where part of their memory went. More precisely, they already appear in >> MemAvailable, but without the new counter, it's not obvious why the >> value in MemAvailable doesn't fully correspond with the sum of other >> counters participating in it. > > Hmm, if we could get MemAvailable with sum of other counters participating > in it, MemAvailable wouldn't be meaninful. IMO, MemAvailable don't need to > be matched with other counters. MemAvailable is meant as a "shortcut" for users, so they don't have to remember which counters to count and add them up manually. It's also not an exact sum, because there are some assumptions that part of reclaimable memory might be pinned etc. Still, missing KReclaimable in /proc/meminfo would be an odd exception wrt the other counters, IMHO. > The benefit of ION KReclaimable in real field is there are some sluggish > problem bugreport under memory pressure and found ION page pool is too > much without shrinking. In that case, that meminfo would be useful to > know something was broken in the system. Right. > In that point of view, a concern to me is if we put more KReclaimable > pages(e.g., binder is candidate), it ends up we couldn't identify what > caches are too much among them. That means we needs KReclaimableInfo(like > slabinfo) to show each type's KReclaimable pages in future. Yeah there are more direct kernel allocations that can eat significant amounts of memory, without being visible in /proc/meminfo, and not necessarily reclaimable. E.g. unless that changed, I recall XFS page buffers. Striking a good balance of how detailed the accounting should be is not easy. BTW at some point I proposed MemUnaccounted to make it more obvious (without adding up fields manually) that there is some memory consumed by kernel allocations not visible in the other meminfo fields.