Re: [patch] drop_caches: add some documentation and info message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 07, 2014 at 12:31:29PM -0800, Andrew Morton wrote:
> On Fri, 7 Feb 2014 13:13:32 -0500 Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
> 
> > @@ -63,6 +64,9 @@ int drop_caches_sysctl_handler(ctl_table *table, int write,
> >  			iterate_supers(drop_pagecache_sb, NULL);
> >  		if (sysctl_drop_caches & 2)
> >  			drop_slab();
> > +		printk_ratelimited(KERN_INFO "%s (%d): dropped kernel caches: %d\n",
> > +				   current->comm, task_pid_nr(current),
> > +				   sysctl_drop_caches);
> >  	}
> >  	return 0;
> >  }
> 
> My concern with this is that there may be people whose
> other-party-provided software uses drop_caches.  Their machines will
> now sit there emitting log messages and there's nothing they can do
> about it, apart from whining at their vendors.

Ironically, we have a customer that is complaining that we currently
do not log these events, and they want to know who in their stack is
being idiotic.

> We could do something like this?

They can already change the log level.  The below will suppress
valuable debugging information in a way that still results in
inconspicuous looking syslog excerpts, which somewhat undermines the
original motivation for this change.

So I'm not fond of it, but I'd rather have this patch with it than no
patch at all.  As long as the message is printed per default.

> --- a/fs/drop_caches.c~drop_caches-add-some-documentation-and-info-message-fix
> +++ a/fs/drop_caches.c
> @@ -60,13 +60,17 @@ int drop_caches_sysctl_handler(ctl_table
>  	if (ret)
>  		return ret;
>  	if (write) {
> +		static int stfu;
> +
>  		if (sysctl_drop_caches & 1)
>  			iterate_supers(drop_pagecache_sb, NULL);
>  		if (sysctl_drop_caches & 2)
>  			drop_slab();
> -		printk_ratelimited(KERN_INFO "%s (%d): dropped kernel caches: %d\n",
> -				   current->comm, task_pid_nr(current),
> -				   sysctl_drop_caches);
> +		stfu |= sysctl_drop_caches & 4;
> +		if (!stfu)
> +			pr_info_ratelimited("%s (%d): dropped kernel caches: %d\n",
> +					   current->comm, task_pid_nr(current),
> +					   sysctl_drop_caches);
>  	}
>  	return 0;
>  }
> _
> 
> (note switch to pr_info_ratelimited)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]