Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

samples: introduce new samples subdir for cgroup

Patch series "samples: introduce cgroup events listeners", v3.

To begin with, this patch series relocates the cgroup example code to the
samples/cgroup directory, which is the appropriate location for such code
snippets.

Furthermore, a new memcg events listener is introduced. This listener is
a simple yet effective tool for monitoring memory events and managing
counter changes during runtime.

Additionally, as per Andrew Morton's suggestion, a helpful reminder
comment is included in the memcontrol implementation. This comment serves
to ensure that the samples code is updated whenever new events are added.


This patch (of 3):

Move the cgroup_event_listener for cgroup v1 to the samples directory.
This suggestion was proposed by Andrew Morton during the discussion [1].

Link: https://lore.kernel.org/all/20231106140934.3f5d4960141562fe8da53906@linux-foundation.org/ [1]
Link: https://lkml.kernel.org/r/20231123071945.25811-1-ddrokosov@salutedevices.com
Link: https://lkml.kernel.org/r/20231123071945.25811-2-ddrokosov@salutedevices.com
Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Shakeel Butt <shakeelb@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Dmitry Rokosov and committed by
Andrew Morton
60433a9d ebc20dca

+13 -11
+1
MAINTAINERS
··· 5339 5339 S: Maintained 5340 5340 F: mm/memcontrol.c 5341 5341 F: mm/swap_cgroup.c 5342 + F: samples/cgroup/* 5342 5343 F: tools/testing/selftests/cgroup/memcg_protection.m 5343 5344 F: tools/testing/selftests/cgroup/test_hugetlb_memcg.c 5344 5345 F: tools/testing/selftests/cgroup/test_kmem.c
+6
samples/Kconfig
··· 285 285 Build a sample program which have explicitly leaks memory to test 286 286 kmemleak 287 287 288 + config SAMPLE_CGROUP 289 + bool "Build cgroup sample code" 290 + depends on CGROUPS && CC_CAN_LINK && HEADERS_INSTALL 291 + help 292 + Build samples that demonstrate the usage of the cgroup API. 293 + 288 294 source "samples/rust/Kconfig" 289 295 290 296 endif # SAMPLES
+1
samples/Makefile
··· 3 3 4 4 subdir-$(CONFIG_SAMPLE_AUXDISPLAY) += auxdisplay 5 5 subdir-$(CONFIG_SAMPLE_ANDROID_BINDERFS) += binderfs 6 + subdir-$(CONFIG_SAMPLE_CGROUP) += cgroup 6 7 obj-$(CONFIG_SAMPLE_CONFIGFS) += configfs/ 7 8 obj-$(CONFIG_SAMPLE_CONNECTOR) += connector/ 8 9 obj-$(CONFIG_SAMPLE_FANOTIFY_ERROR) += fanotify/
+5
samples/cgroup/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + 3 + userprogs-always-y += cgroup_event_listener 4 + 5 + userccflags += -I usr/include
-11
tools/cgroup/Makefile
··· 1 - # SPDX-License-Identifier: GPL-2.0 2 - # Makefile for cgroup tools 3 - 4 - CFLAGS = -Wall -Wextra 5 - 6 - all: cgroup_event_listener 7 - %: %.c 8 - $(CC) $(CFLAGS) -o $@ $^ 9 - 10 - clean: 11 - $(RM) cgroup_event_listener
tools/cgroup/cgroup_event_listener.c samples/cgroup/cgroup_event_listener.c