On Sat, Apr 27, 2024 at 10:22:34AM -0400, Johannes Weiner wrote: > On Fri, Apr 26, 2024 at 06:18:13PM -0700, Shakeel Butt wrote: > > On Fri, Apr 26, 2024 at 05:58:16PM -0700, Yosry Ahmed wrote: > > > On Fri, Apr 26, 2024 at 5:38 PM Shakeel Butt <shakeel.butt@xxxxxxxxx> wrote: [...] > > > > > > Can we make these more compact by using WARN_ON_ONCE() instead: > > > > > > if (WARN_ON_ONCE(i < 0)) > > > return 0; > > > > > > I guess the advantage of using pr_warn_once() is that we get to print > > > the exact stat index, but the stack trace from WARN_ON_ONCE() should > > > make it obvious in most cases AFAICT. > > if (WARN_ONCE(i < 0, "stat item %d not in memcg_node_stat_items\n", i)) > return 0; > > should work? > > > > No strong opinions either way. > > > > One reason I used pr_warn_once() over WARN_ON_ONCE() is the syzbot > > trigger. No need to trip the bot over this error condition. > > The warn splat is definitely quite verbose. But I think that would > only be annoying initially, in case a site was missed. Down the line, > it seems helpful to have this stand out to somebody who is trying to > add a new cgroup stat and forgets to update the right enums. Sounds good to me. I will change it to WARN_ONCE().