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 63772C4167B for ; Tue, 28 Nov 2023 17:49:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EF9016B020A; Tue, 28 Nov 2023 12:49:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EA9556B0278; Tue, 28 Nov 2023 12:49:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D97AC6B0337; Tue, 28 Nov 2023 12:49:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id CA91C6B020A for ; Tue, 28 Nov 2023 12:49:01 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A14FA1C0210 for ; Tue, 28 Nov 2023 17:49:01 +0000 (UTC) X-FDA: 81508098882.23.857029F Received: from out-185.mta1.migadu.com (out-185.mta1.migadu.com [95.215.58.185]) by imf11.hostedemail.com (Postfix) with ESMTP id 8923140010 for ; Tue, 28 Nov 2023 17:48:59 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=E2gGZDj+; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf11.hostedemail.com: domain of kent.overstreet@linux.dev designates 95.215.58.185 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701193739; 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=x92AonzKJ7GgZn17I/dTryRFnqMzXBn6+eaF91PM4HM=; b=oHDToWwRD2XKu1WL5Kw1N1wepCvvAS4xeJvSU7pv/pkbQ5KVuqDjVCLhSHbVzLlKV/OWyr GsZCP46eylG4J+Bw5ilgvrKK/lkqhXy7wGAGl4+j+BS8t/rQHg7hG/Ae+eZBKYrwPvckFw vFLWhaJvdlhsLZwoIJ9Yhx2RBzqn66M= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=E2gGZDj+; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf11.hostedemail.com: domain of kent.overstreet@linux.dev designates 95.215.58.185 as permitted sender) smtp.mailfrom=kent.overstreet@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701193739; a=rsa-sha256; cv=none; b=PRzJXBOJvsC1VNNGGUerDNaUJocZoMFA4dV3U+NsJKt+3lurzFfaNsXGohMwqSLeMDsAjZ IYJPkNXYfNGY+aHrXEKqYK94QKTc9RRBUW9B7RuqJad/d0uGaqL6tidAjhw7TFCAtq3nki BsCX40RWuM8AtmEAEitTJd8f6KOFJS0= Date: Tue, 28 Nov 2023 12:48:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701193737; 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=x92AonzKJ7GgZn17I/dTryRFnqMzXBn6+eaF91PM4HM=; b=E2gGZDj+UcR61Cbc0msUebSjtV9zEwKV3r6jC1tutkWfPSjrJ7dSA+a1FRfQT4oCOWCiJH ClN390IW7QsWc40VEXsYrzhmHtp6nxyOcs86+LAkBNmoQSrRVvR3b0TmlWxgAwAreO86kI p/c34irF3uX+ptppMT0oQ5h/maGvB2s= 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: <20231128174853.vdpwullepoxg5blo@moria.home.lan> References: <20231122232515.177833-1-kent.overstreet@linux.dev> <20231122232515.177833-3-kent.overstreet@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 8923140010 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: dsd9495jzgin5az9tdszgxdodkw4s5xq X-HE-Tag: 1701193739-134273 X-HE-Meta: U2FsdGVkX18TIvbOp3ZDWnMKSEhap6d169aoI354PNXyXnhU2on0vxXRyVkO6bqPVtwqrAig07319J06kqd5z6L/OijWaTYC2EDLsGFfVgS8phg+VmzAKzQpuD+J0ao8ks23Ghkj6AJ1nEw+WAer43jroEez5D5YDfzvIAYrgaeb7obyqpr9QFAHpQ0b2VI6g8n8+pn8eNXsn2NwOMY6VzqNQZi/72RSxV+0Tlsrbd6lLQueNpUmtIvvTfFYJtIhfbS9ZDnxecpv2sYJA22phrq1GtKr6bC+GM1F3+6NxWwHRaneGEImEbUiBbXJ8A6Mie9nKtAEcJ6gpr32xlkts4qHF/5ADp47GdhEPOPpOhgLfwVwtTJta0LKPI8+hG70B+W5u0L4cpb/S6KGSU39jfWbWJlJ9u9ZVGd3bBai2Cg+ZvP+wOahdfKxWjdgj+NDgB6AOvpWuyAA2gLJ16yAjv9neSvCWaUsdAMha84LfwfsxttB6FZL53rxo9Y4u5MOOQjOuqY0OzqD7ckyp6Ah/RB73Q8lDUj8zlpEMivFbXmQ3n0EK7xNqu8XzbPLRc3Puf7EGTAEVEoRxNyDtR/mg1YW1vti25vp3hu8dR3j3aq3+MWpqjETBBiHHpwxktuKzwfr+bhetQS3IkjLcK3JDsAwadotGcFmIWaj0mkoBNkj3guReQ8IvAPl1dHWxWojVj9r3PjxmgTUKdXPMlsI+moyb+dhucKx0z4tgFdSBwqzPPz7KSXIHYe9oQLw2zKAjkcgMAVV33npYRRaLlChZGuBu4+BGygQpHAGTjqjimZXJcqUH5T5iOoLO3Xo8m+e5dY6KuVjz8FmZ22HZmR8maLFrMr1q8rKBtrZL82RwGTgQIx1k2s31cw+EbYiUGbbNS66MmdlyQ5aYUUlPwTgblTv5Gf36p7sdDaUNfeoEUxAahP7o/VfyK2XtBZDu3hI8udkbUFSK7wKdANKjIL 4S4gT5yP B/vaPFCbBU9MGoHwoepyf58EWQI9Wb8EvxDOjWZ/0k8+7MwRQ0ri19RK9Dp/WyjS5NKQrox/+FDkbIyqYk2Qor95DPA== 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 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.