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 99356C46CA0 for ; Wed, 29 Nov 2023 22:37:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 35BFC8D0021; Wed, 29 Nov 2023 17:37:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 30C838D0001; Wed, 29 Nov 2023 17:37:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1FB978D0021; Wed, 29 Nov 2023 17:37:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 130EC8D0001 for ; Wed, 29 Nov 2023 17:37:04 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id DBBCB120694 for ; Wed, 29 Nov 2023 22:37:03 +0000 (UTC) X-FDA: 81512453526.25.1EBC192 Received: from out-177.mta1.migadu.com (out-177.mta1.migadu.com [95.215.58.177]) by imf17.hostedemail.com (Postfix) with ESMTP id CD26140015 for ; Wed, 29 Nov 2023 22:37:01 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=ZZ4ikl8Y; spf=pass (imf17.hostedemail.com: domain of kent.overstreet@linux.dev designates 95.215.58.177 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701297422; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=iThWbTiboznHyChE5Jo4QcgUuCYJSKHGFLfD6YWq1kA=; b=lRT0xQoRQROWiu1ZQCwgIhUsNmzulwncGanmU2SmkDVTxjmUUHKjct9Br3LuPj4Ysm5YK0 pGOErpsQtlw1SoMoYE6pN3wK+e5F51Non+NLA3MtO0lrtvbq7WfkiI83M+d6EKww1YYDTl rmooVmmfGL5aMIkUnHYEgpemlm+iR+Y= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701297422; a=rsa-sha256; cv=none; b=Sck4uF/8GA29tqwYZXYgxGXemkWDlp5KldTXn4zhHanCupllwaL7l6nJxtV+2NtcQRZeBQ czzcXZO3XG2h5TfzERqLosk5imidBEBcNVD2tLzQz63gl96A9HiR6sA0XcofwFqRjkzpcR OjZpK+VMl9SaI0sKBu/V/TaFFDFYRDc= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=ZZ4ikl8Y; spf=pass (imf17.hostedemail.com: domain of kent.overstreet@linux.dev designates 95.215.58.177 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Date: Wed, 29 Nov 2023 17:36:55 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701297419; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=iThWbTiboznHyChE5Jo4QcgUuCYJSKHGFLfD6YWq1kA=; b=ZZ4ikl8Y1DagtagNlyORcz+TM0QK5RWVuGkV2YXDMLOKY9y9IN37nPARWa/xHQWsPHRHEL gXgUC6eXEwh/SHSU/FSiyiMi6E2utKCQx4VmasacRZvvlRD+xUNPaTvCkBlreZjG00H/7z Vkvo1qYywvIIcejRA6LfCocERhDOu6c= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Kent Overstreet To: Michal Hocko Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Qi Zheng , Roman Gushchin Subject: Re: [PATCH 2/7] mm: shrinker: Add a .to_text() method for shrinkers Message-ID: <20231129223655.shi74lnm2tolun77@moria.home.lan> References: <20231122232515.177833-1-kent.overstreet@linux.dev> <20231122232515.177833-3-kent.overstreet@linux.dev> <20231128174853.vdpwullepoxg5blo@moria.home.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Stat-Signature: dbzjs3eeethfeq58fuggxek19fb7hbso X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: CD26140015 X-Rspam-User: X-HE-Tag: 1701297421-778140 X-HE-Meta: U2FsdGVkX18K6fMNN3MWdWpwTNDuR6CHd7b3mgWdsDIWYMwIs4sspePlXX/zr6kzU44yK8gUtzWCh7b6Rn5IfALa0W6Tkl6fAnarpLw1zwPzuhGPnHBxL/b7FyZHm+fKMITeeJEXQiAXoKwfeqsMSBDHpUkFpUNJjs9zGWio8jCM1zj4hG+f1wSYj5zUU+JovpRUDia2+bizdkDFsJBmyFh35pjjVoG4uLMtIGBBfAiBmH38FEl/YG7oFHVMb6Mn8BQZZpAN/T1jCnf3QFupFMMFok5OILCTxCC6pNphsY9fqQiRgFMQlc2/6JvL/5HKZYOhtsuhYr3nPQ9sBtNf17u7pJhNLyk+yUtGfGSkrsIMN5XkdAwOTf7B2jG7GD8qLyeeTe2j4IXAvO/ru6HY0Pjsk88x5pSP3IA71cb8CrXfhaWKV6NLeIqKcTGgJQMUwdp7qtcH5LM96mnEDAYe9H7ySbkxdan12afYmqiMpLNhUPOewRHC2kczifMFZYDHESwZP5wUZAK2wmuFtn5GP2VHnJDN3FsivSyNegdQuxZBhfjt/K4Rcb5G/bGRBy7AFmIwAphGV49f9o0l7z1f95/PHsBthTBFig/C0cfobRYt/yrzAgkaNAHX5/xEJVa52ELH0PkZwyoazsiQFx0PhLK5/ELf34hqG5rL1CC0wxToQnB/MoAQsKNEK39s2O+yvuWkDvxZ+IPrczgBi4u4fwBo3+e/OnISlIYVA5fWmy02iZcfaNLaPxZP7eQird1mbEQMvO50gITm0PZd2ICAZ4VgHF4UlNbgQlRs8+gpdtYc9+hSw/j9cZ3dzFw+HJGNGHkN8OGlCP2ZLphJFIBBHwaEDKsvIACCHVHz3b2ekNItJyFEtWao0ZMuEZ4I3j2FGlP4MhjRniBPyVRL3CiodUVmEpOs2Zwpv3yWj979OCC9k4QodGjQIhkTdZ0dnJJNbTCkxeHhKROeUrCrRyZ YLz89X/9 GotrMZTkJAAd2xT/dCiPB6Lehd0aq4uGJhdVED47yYDFXNQv2tfUxZpgcSkS5Ml2GPz+MvL9DcYjKU5SnqNku151j2g== 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: List-Subscribe: List-Unsubscribe: On Wed, Nov 29, 2023 at 05:02:35PM +0100, Michal Hocko wrote: > On Tue 28-11-23 12:48:53, Kent Overstreet wrote: > > On Tue, Nov 28, 2023 at 11:01:16AM +0100, Michal Hocko wrote: > > > On Wed 22-11-23 18:25:07, Kent Overstreet wrote: > > > [...] > > > > +void shrinkers_to_text(struct seq_buf *out) > > > > +{ > > > > + struct shrinker *shrinker; > > > > + struct shrinker_by_mem { > > > > + struct shrinker *shrinker; > > > > + unsigned long mem; > > > > + } shrinkers_by_mem[10]; > > > > + int i, nr = 0; > > > > + > > > > + if (!mutex_trylock(&shrinker_mutex)) { > > > > + seq_buf_puts(out, "(couldn't take shrinker lock)"); > > > > + return; > > > > + } > > > > + > > > > + list_for_each_entry(shrinker, &shrinker_list, list) { > > > > + struct shrink_control sc = { .gfp_mask = GFP_KERNEL, }; > > > > > > This seems to be global reclaim specific. What about memcg reclaim? > > > > I have no fsckin idea how memcg reclaim works - and, for that matter, > > the recent lockless shrinking work seems to have neglected to write even > > an iterator macro, leaving _that_ a nasty mess so I'm not touching that > > either. > > OK, you could have made it more clearly that all of this is aiming at > the global OOM handling. With an outlook on what should be done if this > was ever required. > > Another thing you want to look into is a NUMA constrained OOM (mbind, > cpuset) where this output could be actively misleading. Yeah. It's not clear to me how (if at all) we want memcg to be represented in this output; it's not something us filesystem developers think about a lot. NUMA definitely should, though.