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.
Changes v3 since v2 at [2]:
- rename cgroup_v2_event_listener to memcg_event_listener per
Andrew's suggestion
Changes v2 since v1 at [1]:
- create new samples subdir - cgroup
- move cgroup_event_listener for cgroup v1 to samples/cgroup
- add a reminder comment to memcontrol implementation
Links:
[1] - https://lore.kernel.org/all/[email protected]/
[2] - https://lore.kernel.org/all/[email protected]/
Dmitry Rokosov (3):
samples: introduce new samples subdir for cgroup
samples/cgroup: introduce memcg memory.events listener
mm: memcg: add reminder comment for the memcg v2 events
MAINTAINERS | 1 +
mm/memcontrol.c | 4 +
samples/Kconfig | 6 +
samples/Makefile | 1 +
samples/cgroup/Makefile | 5 +
.../cgroup/cgroup_event_listener.c | 0
samples/cgroup/memcg_event_listener.c | 330 ++++++++++++++++++
tools/cgroup/Makefile | 11 -
8 files changed, 347 insertions(+), 11 deletions(-)
create mode 100644 samples/cgroup/Makefile
rename {tools => samples}/cgroup/cgroup_event_listener.c (100%)
create mode 100644 samples/cgroup/memcg_event_listener.c
delete mode 100644 tools/cgroup/Makefile
--
2.36.0
On Thu, 23 Nov 2023 10:19:42 +0300 Dmitry Rokosov <[email protected]> wrote:
> 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.
butbut. Didn't we decide to do s/cgroup/memcg/ throughout?
On Fri, Nov 24, 2023 at 11:42:30AM -0800, Andrew Morton wrote:
> On Thu, 23 Nov 2023 10:19:42 +0300 Dmitry Rokosov <[email protected]> wrote:
>
> > 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.
>
> butbut. Didn't we decide to do s/cgroup/memcg/ throughout?
I believe the samples directory should be named "samples/cgroup" instead
of "memcg" because the cgroup v1 event listener cannot be renamed to
"memcg" due to the common naming of cgroup v1 event_control (this sample
uses that control to access eventfd).
Additionally, I think it would be a good idea to add the new samples for
cgroup helpers in that directory.
That's why I have only renamed the new memcg listener.
--
Thank you,
Dmitry
Andrew,
On Fri, Nov 24, 2023 at 11:06:33PM +0300, Dmitry Rokosov wrote:
> On Fri, Nov 24, 2023 at 11:42:30AM -0800, Andrew Morton wrote:
> > On Thu, 23 Nov 2023 10:19:42 +0300 Dmitry Rokosov <[email protected]> wrote:
> >
> > > 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.
> >
> > butbut. Didn't we decide to do s/cgroup/memcg/ throughout?
>
> I believe the samples directory should be named "samples/cgroup" instead
> of "memcg" because the cgroup v1 event listener cannot be renamed to
> "memcg" due to the common naming of cgroup v1 event_control (this sample
> uses that control to access eventfd).
>
> Additionally, I think it would be a good idea to add the new samples for
> cgroup helpers in that directory.
>
> That's why I have only renamed the new memcg listener.
I looked into this more deeply. And yes, the old cgroup.event_control
has the common name, but it's used in the memcg implementation only.
So, if we plan to introduce new samples for cgroup, I suggest we use the
following naming convention:
1) Directory: samples/cgroup
2) V1 sample: memcg_v1_event_listener
3) V2 sample: memcg_v2_event_listener
Please let me know what you think about this. If it's okay with you, I
will prepare the v4 version with the above changes. I would appreciate
any feedback on that!"
--
Thank you,
Dmitry