Re: [PATCH v2] memcg: skip cgroup_file_notify if spinning is not allowed
From: Andrew Morton
Date: Mon Sep 22 2025 - 19:43:30 EST
On Mon, 22 Sep 2025 16:22:57 -0700 Shakeel Butt <shakeel.butt@xxxxxxxxx> wrote:
> >
> > > --- a/mm/memcontrol.c
> > > +++ b/mm/memcontrol.c
> > > @@ -2307,12 +2307,13 @@ static int try_charge_memcg(struct mem_cgroup *memcg, gfp_t gfp_mask,
> > > bool drained = false;
> > > bool raised_max_event = false;
> > > unsigned long pflags;
> > > + bool allow_spinning = gfpflags_allow_spinning(gfp_mask);
> > >
> >
> > Does this affect only the problematic call chain which you have
> > identified, or might other callers be undesirably affected?
>
> It will only affect the call chain which can not spin due to possibly
> NMI context and at the moment only bpf programs can cause that.
"possibly" NMI context? Is it possible that a bpf caller which could
have taken locks will now skip the notifications? Or do the gfp_flags
get propagated all the way through?