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 F1691C433EF for ; Wed, 27 Apr 2022 21:37:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3678C6B0071; Wed, 27 Apr 2022 17:37:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 318656B0073; Wed, 27 Apr 2022 17:37:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1B9236B0074; Wed, 27 Apr 2022 17:37:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.27]) by kanga.kvack.org (Postfix) with ESMTP id 0E8E46B0071 for ; Wed, 27 Apr 2022 17:37:07 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay13.hostedemail.com (Postfix) with ESMTP id CF27161530 for ; Wed, 27 Apr 2022 21:37:06 +0000 (UTC) X-FDA: 79403969652.03.7AE23D7 Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) by imf06.hostedemail.com (Postfix) with ESMTP id C455F180057 for ; Wed, 27 Apr 2022 21:37:04 +0000 (UTC) Received: by mail-qv1-f47.google.com with SMTP id iy15so1977081qvb.9 for ; Wed, 27 Apr 2022 14:37:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=Jf9KoOg1H3jqjBGppZ/xxewMSo8dDOurdWUb3cYmU3c=; b=J86DG36ucbx0DlDChH/QyA2qGW9ZzuTV7lPr4Yhhk3+pV9+Qw+iYZfs23hrlx4+rfD giclbY4+1PxmOyj+mAHsv9VmlcODeRZorL+++DJBAt9RJIWnhq1wlvZL0JvKpHuHICLm dxEKItjNOKe2JxdIPAzsQ5baFAnBGf2Vh3niiGtwf9zwcMz93g13wjD3YEk9QkeLE+YK eFBdwJmwsg7s6P8IKgVpVGlIcKASf75RQGMzBKCQ7cQziovaXYvVEqGxP7AJ5aMa2M26 RzZiEP14nT+f6jEpI0c9BCalzL328U8Fwv1zPeSnLj5NaVl3egPq1TcLnDuB8YzNCPxq C43g== 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=Jf9KoOg1H3jqjBGppZ/xxewMSo8dDOurdWUb3cYmU3c=; b=HfhWBs+NN9v+DyOmcWMXefHG29ctSwSxfIeO/uN2Y5sRAh8wLHielTpGFYAcUar0Mg YIuCIWo8EnSuwU8KGf8wiIMgeKJyhi3qbDOBIw87XH7vWKsFNC8gxN+vDAhEGoa2QALw EfLlpH8WhlDqT5tTIOI28baSptHVpO600hoRq3AiEHEPiLFWUw1xkWSa1AkWNZyYKyJa +BRFUIp+rHh0bRP9qqjnYYNOUrmcmD2IT1pDkxY9F1hxbtWPZ38yKKrHFp0GUw94hcm/ fVmPdgK+SzNRFHyKYT6HopAO/Q9+46SOTqbfTNpGvm/O/WgLMEtvd1L9ZkD5+YAvgx60 1RjA== X-Gm-Message-State: AOAM533zgAvl9nymIPmoCIIcpDnbZEhQ+n91/PEY1NTGW/6THcQLlizU dF+R3ucY9Dp62Oe3chGcfCnQSg== X-Google-Smtp-Source: ABdhPJyq+J76gHLpln3JZEsplM+ovXJH6AdQaG55HLv9cJpdF5NGETNJmQVeoVqtoV2YZmZe7GOcPQ== X-Received: by 2002:a0c:f3d2:0:b0:456:34aa:5978 with SMTP id f18-20020a0cf3d2000000b0045634aa5978mr13519939qvm.59.1651095423111; Wed, 27 Apr 2022 14:37:03 -0700 (PDT) Received: from localhost ([2620:10d:c091:480::1:d588]) by smtp.gmail.com with ESMTPSA id b9-20020a05620a0f8900b0069e84c5352asm8370423qkn.47.2022.04.27.14.37.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Apr 2022 14:37:02 -0700 (PDT) Date: Wed, 27 Apr 2022 17:36:26 -0400 From: Johannes Weiner To: Minchan Kim Cc: Andrew Morton , Michal Hocko , Roman Gushchin , Shakeel Butt , Seth Jennings , Dan Streetman , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: Re: [PATCH 4/5] mm: zswap: add basic meminfo and vmstat coverage Message-ID: References: <20220427160016.144237-1-hannes@cmpxchg.org> <20220427160016.144237-5-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: C455F180057 X-Stat-Signature: 65gfiaxg1ta36iaz6tjdn3kradn146m1 X-Rspam-User: Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=cmpxchg-org.20210112.gappssmtp.com header.s=20210112 header.b=J86DG36u; spf=pass (imf06.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.47 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org X-HE-Tag: 1651095424-596004 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Apr 27, 2022 at 05:20:31PM -0400, Johannes Weiner wrote: > On Wed, Apr 27, 2022 at 01:29:34PM -0700, Minchan Kim wrote: > > Hi Johannes, > > > > On Wed, Apr 27, 2022 at 12:00:15PM -0400, Johannes Weiner wrote: > > > Currently it requires poking at debugfs to figure out the size and > > > population of the zswap cache on a host. There are no counters for > > > reads and writes against the cache. As a result, it's difficult to > > > understand zswap behavior on production systems. > > > > > > Print zswap memory consumption and how many pages are zswapped out in > > > /proc/meminfo. Count zswapouts and zswapins in /proc/vmstat. > > > > > > Signed-off-by: Johannes Weiner > > > --- > > > fs/proc/meminfo.c | 7 +++++++ > > > include/linux/swap.h | 5 +++++ > > > include/linux/vm_event_item.h | 4 ++++ > > > mm/vmstat.c | 4 ++++ > > > mm/zswap.c | 13 ++++++------- > > > 5 files changed, 26 insertions(+), 7 deletions(-) > > > > > > diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c > > > index 6fa761c9cc78..6e89f0e2fd20 100644 > > > --- a/fs/proc/meminfo.c > > > +++ b/fs/proc/meminfo.c > > > @@ -86,6 +86,13 @@ static int meminfo_proc_show(struct seq_file *m, void *v) > > > > > > show_val_kb(m, "SwapTotal: ", i.totalswap); > > > show_val_kb(m, "SwapFree: ", i.freeswap); > > > +#ifdef CONFIG_ZSWAP > > > + seq_printf(m, "Zswap: %8lu kB\n", > > > + (unsigned long)(zswap_pool_total_size >> 10)); > > > + seq_printf(m, "Zswapped: %8lu kB\n", > > > + (unsigned long)atomic_read(&zswap_stored_pages) << > > > + (PAGE_SHIFT - 10)); > > > +#endif > > > > I agree it would be very handy to have the memory consumption in meminfo > > > > https://lore.kernel.org/all/YYwZXrL3Fu8%2FvLZw@google.com/ > > > > If we really go this Zswap only metric instead of general term > > "Compressed", I'd like to post maybe "Zram:" with same reason > > in this patchset. Do you think that's better idea instead of > > introducing general term like "Compressed:" or something else? > > I'm fine with changing it to Compressed. If somebody cares about a > more detailed breakdown, we can add Zswap, Zram subsets as needed. It does raise the question what to do about cgroup, though. Should the control files (memory.zswap.current & memory.zswap.max) apply to zram in the future? If so, we should rename them, too. I'm not too familiar with zram, maybe you can provide some background. AFAIU, Google uses zram quite widely; all the more confusing why there is no container support for it yet. Could you shed some light? Thanks