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 33344C4332F for ; Mon, 6 Nov 2023 22:09:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AD5848D002C; Mon, 6 Nov 2023 17:09:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A85428D0001; Mon, 6 Nov 2023 17:09:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 974C28D002C; Mon, 6 Nov 2023 17:09:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 89F6F8D0001 for ; Mon, 6 Nov 2023 17:09:38 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 67140C0966 for ; Mon, 6 Nov 2023 22:09:38 +0000 (UTC) X-FDA: 81428922036.04.4522832 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf30.hostedemail.com (Postfix) with ESMTP id AF8098001D for ; Mon, 6 Nov 2023 22:09:36 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=SbKYPCgK; dmarc=none; spf=pass (imf30.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699308576; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oHKj578ZqnSwXQwTkojaIUHR/MjAjN6+KDTUvfUfFak=; b=FgwTu5kpRAJmdYgJzOeK1ixaGNDDN3Gylx+ohYRCNVcZGsA5azjOt4aMZC/oAlSrrhPC0O RyrSe7FP8SFRXqMW7kifvluqxmLbTJJq1P93/thio0sMiasoUf3Ck71xRdKMhyq/Ooh8wf +A+eieMC0ErHCkqrav2rm7PhLs8w4G8= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=SbKYPCgK; dmarc=none; spf=pass (imf30.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699308576; a=rsa-sha256; cv=none; b=lJZ3qDDm0ln++0kCgwNISr8rUsXzpbj/tRI+fqaMnmSxmVEtLQyqevQ/ir2ZTLtgcwJMjR /YapjRBFNwmrXwsmF6CFUq+4gTNhQKeNekh7WBiyAnCntvppUjHeF+V178x4TF5/YPCrLA wl1m4GV/1Hx0C7PrdsVQrp8zdcgI7Uw= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id A2AFD61059; Mon, 6 Nov 2023 22:09:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8C18C433C8; Mon, 6 Nov 2023 22:09:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1699308575; bh=IYP87mPslCnQl/9LQiXvTbko+eNuU/TJe/cJTwCnwiU=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=SbKYPCgKGr9KACWJJS6bLYB/tEMKq+JVzVmgV5457dZ5/4owurxJXB9SOlDerCIrE MF8DZWFbn5ggyJ/fnlUm6AZ6zPnZacX3M1oa0z7Q2W4l8PKgioBAX8YcaQSE1rLhF/ Pn5nzm0L9CpSMuvj/QZXPVeRgwlDqmEaT43OH4Qc= Date: Mon, 6 Nov 2023 14:09:34 -0800 From: Andrew Morton To: Dmitry Rokosov Cc: , , , , , , , , , , Subject: Re: [PATCH v1] tools/cgroup: introduce cgroup v2 memory.events listener Message-Id: <20231106140934.3f5d4960141562fe8da53906@linux-foundation.org> In-Reply-To: <20231013184107.28734-1-ddrokosov@salutedevices.com> References: <20231013184107.28734-1-ddrokosov@salutedevices.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: AF8098001D X-Stat-Signature: yp6ckbq3i1b6x8o6de5c1zx3xabgpggz X-Rspam-User: X-HE-Tag: 1699308576-922833 X-HE-Meta: U2FsdGVkX1/CwEbTO1AtK3+0mw8aDn6APMHahJ9W1MsfIUc70Ny8qCBx0Smvmb179ffDQVCf1T83UB5Q+71rZo51M9y7WoVOBcFHBRto03sLzPNlNystzvvAPNqoId5ITkuAOSwMjje/OsGwQ0CvfM7pjBr+YVTRuNpXfJlM3MPBvlRvHVMLnA29L9tPojW9RIX7Y37zGpevWlgHut0x1FoZUiaM/BLSF+Eb3Qb/p4+NiWMSDcHM49y4VdYsfR2t3h+B3L6HaJ1r3MKowqMi5gUYKXoOimPzt/HGkGy4x+CBvhGZvV3CGIpDjdF82lPrCAK5jC1tN5/tWa7hJrCl9fLRoMEe4/793qkrKvud/+SzoOtuhmCHuCdYSgbZo1h+6v9fIXLAkGE7cT4/IdPWvGGKeSorN1o3q+E6+Oz24EOy/cN3FpSEbBk+QnKk7Ukx7qM0puF8NRM3jS07zsHdB6iE20zZAIdEj8ghSUCp/3f5BXeZWQfhGan4HXW4rpdqMzkSFeGnw4VmHU+v2RyY84MUV/CCSMZseOzmlC2F41NP8REwZgerg8MpznpudOsmydaGKd7/5LwEsmtdYZjUtPdt9P7hud5ebJh84EqtdDlq4QVQwVqi+2rG/DqudYPbjlcvce6cnFJV+Fw/iPnRJ/y5OQcSOAOWCIEi/7cMOTKN8Imr5oGmsYzEpgOz40s/rv6w1NSWqzbwBHw2mhhGeaNqwc85hr480q1MwrgkCdhBg/I6NDxBKehvl1pyfvsLdu1qCe1UqZ3EGKhGG5XYjUHSX2FECg1AdHaVrFRUD7Q+RWzlbWi6rp6jVozppJyDZbfLEzjQb5l8Lx03mNf+7TFFuP+8j6mITCUPA9KchRTbA+V/YsYQEmNpSBQxYKPE6lLpgfVoWLcLvE/B/hOWtJnMmBBabn5sdmCN9sGtfs35NDUyn05kW9IkA9PDRnEYTpSfvIanhcOdcGL+l0n fv+4U/RQ PuKEKrOKxpTXuXLBlwAq4eBMobTkiZfcR/wN5Bff+co34O9H/1t1/oWYznlidlQ7mP+RX6yx+BaJrliZXVqNXNinzRtah1Zeir1wcz5snhgR0RBGfpKGg5ZSAd/QK9TZw+y077/aYZNgTyMyBndOrdrbaWN+aun74YxJ0p6CDIPzp+d8X78+xN72VGmgn5bvBDPTxOTFTEip/teUR00eehTIfwW4PZFS9bKHW1zaZrPlfW2sRigekJ2I3J5RDMXDnNbnawtp9reMJOcMuf2SFaVj6xScDtQlxnGd/ 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 Fri, 13 Oct 2023 21:41:07 +0300 Dmitry Rokosov wrote: > This is a simple listener for memory events that handles counter > changes in runtime. It can be set up for a specific memory cgroup v2. > > The output example: > ===== > $ /tmp/cgroup_v2_event_listener test > Initialized MEMCG events with counters: > MEMCG events: > low: 0 > high: 0 > max: 0 > oom: 0 > oom_kill: 0 > oom_group_kill: 0 > Started monitoring memory events from '/sys/fs/cgroup/test/memory.events'... > Received event in /sys/fs/cgroup/test/memory.events: > *** 1 MEMCG oom_kill event, change counter 0 => 1 > Received event in /sys/fs/cgroup/test/memory.events: > *** 1 MEMCG oom_kill event, change counter 1 => 2 > Received event in /sys/fs/cgroup/test/memory.events: > *** 1 MEMCG oom_kill event, change counter 2 => 3 > Received event in /sys/fs/cgroup/test/memory.events: > *** 1 MEMCG oom_kill event, change counter 3 => 4 > Received event in /sys/fs/cgroup/test/memory.events: > *** 2 MEMCG max events, change counter 0 => 2 > Received event in /sys/fs/cgroup/test/memory.events: > *** 8 MEMCG max events, change counter 2 => 10 > > ... > Looks nice to me. Perhaps it should be under ./samples/? I suggest adding a comment to __memory_events_show() reminding people to update this code if new events are added.