Re: [PATCH v2] drop_caches: re-enable message after disabling

From: Joel Granados
Date: Thu Mar 13 2025 - 11:52:18 EST


On Wed, Mar 12, 2025 at 03:55:22PM -0700, Luis Chamberlain wrote:
> On Mon, Mar 10, 2025 at 02:51:11PM +0100, Joel Granados wrote:
> > On Sat, Mar 08, 2025 at 04:05:49PM +0800, Ruiwu Chen wrote:
> > > >> When 'echo 4 > /proc/sys/vm/drop_caches' the message is disabled,
> > > >> but there is no interface to enable the message, only by restarting
> > > >> the way, so add the 'echo 0 > /proc/sys/vm/drop_caches' way to
> > > >> enabled the message again.
> > > >>
> > > >> Signed-off-by: Ruiwu Chen <rwchen404@xxxxxxxxx>
> > > >
> > > > You are overcomplicating things, if you just want to re-enable messages
> > > > you can just use:
> > > >
> > > > - stfu |= sysctl_drop_caches & 4;
> > > > + stfu = sysctl_drop_caches & 4;
> > > >
> > > > The bool is there as 4 is intended as a bit flag, you can can figure
> > > > out what values you want and just append 4 to it to get the expected
> > > > result.
> > > >
> > > > Luis
> > >
> > > Is that what you mean ?
> > >
> > > - stfu |= sysctl_drop_caches & 4;
> > > + stfu ^= sysctl_drop_caches & 4;
> > >
> > > 'echo 4 > /sys/kernel/vm/drop_caches' can disable or open messages,
> > > This is what I originally thought, but there is uncertainty that when different operators execute the command,
> > > It is not possible to determine whether this time is enabled or turned on unless you operate it twice.
> >
> > So can you use ^= or not?
>
> No, ^= does not work, see a boolean truth table.
>
> > And what does operate it twice mean?
>
> I think the reporter meant an "sysadmin", say two folks admining a system.
> Since we this as a flag to enable disabling it easily we can just
> always check for the flag as I suggested:
>
> stfu = sysctl_drop_caches & 4
I sent out a new version of this patch. Its a bit late to push it though
the next merge window, so it is in sysctl-testing until the next cycle

Thx again

Best

--

Joel Granados