linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kara <jack@suse.cz>
To: Theodore Ts'o <tytso@mit.edu>
Cc: Linux Filesystem Development List <linux-fsdevel@vger.kernel.org>,
	jack@suse.cz, torvalds@linux-foundation.org,
	viro@zeniv.linux.org.uk, stable@vger.kernel.org
Subject: Re: [PATCH-v2 2/2] fs: add dirtytime_expire_seconds sysctl
Date: Tue, 17 Mar 2015 11:30:08 +0100	[thread overview]
Message-ID: <20150317103008.GD23155@quack.suse.cz> (raw)
In-Reply-To: <1426533260-3305-3-git-send-email-tytso@mit.edu>

On Mon 16-03-15 15:14:20, Ted Tso wrote:
> Add a tuning knob so we can adjust the dirtytime expiration timeout,
> which is very useful for testing lazytime.
> 
> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
> Cc: stable@vger.kernel.org
  CC to stable isn't needed. Otherwise:

  Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  fs/fs-writeback.c         | 11 +++++++++++
>  include/linux/writeback.h |  3 +++
>  kernel/sysctl.c           |  8 ++++++++
>  3 files changed, 22 insertions(+)
> 
> diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
> index ae13fba..d6fa722 100644
> --- a/fs/fs-writeback.c
> +++ b/fs/fs-writeback.c
> @@ -1188,6 +1188,17 @@ static int __init start_dirtytime_writeback(void)
>  }
>  __initcall(start_dirtytime_writeback);
>  
> +int dirtytime_interval_handler(struct ctl_table *table, int write,
> +			       void __user *buffer, size_t *lenp, loff_t *ppos)
> +{
> +	int ret;
> +
> +	ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
> +	if (ret == 0 && write)
> +		mod_delayed_work(system_wq, &dirtytime_work, 0);
> +	return ret;
> +}
> +
>  static noinline void block_dump___mark_inode_dirty(struct inode *inode)
>  {
>  	if (inode->i_ino || strcmp(inode->i_sb->s_id, "bdev")) {
> diff --git a/include/linux/writeback.h b/include/linux/writeback.h
> index 0004833..b2dd371e 100644
> --- a/include/linux/writeback.h
> +++ b/include/linux/writeback.h
> @@ -130,6 +130,7 @@ extern int vm_dirty_ratio;
>  extern unsigned long vm_dirty_bytes;
>  extern unsigned int dirty_writeback_interval;
>  extern unsigned int dirty_expire_interval;
> +extern unsigned int dirtytime_expire_interval;
>  extern int vm_highmem_is_dirtyable;
>  extern int block_dump;
>  extern int laptop_mode;
> @@ -146,6 +147,8 @@ extern int dirty_ratio_handler(struct ctl_table *table, int write,
>  extern int dirty_bytes_handler(struct ctl_table *table, int write,
>  		void __user *buffer, size_t *lenp,
>  		loff_t *ppos);
> +int dirtytime_interval_handler(struct ctl_table *table, int write,
> +			       void __user *buffer, size_t *lenp, loff_t *ppos);
>  
>  struct ctl_table;
>  int dirty_writeback_centisecs_handler(struct ctl_table *, int,
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index 88ea2d6..ce410bb 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -1228,6 +1228,14 @@ static struct ctl_table vm_table[] = {
>  		.extra1		= &zero,
>  	},
>  	{
> +		.procname	= "dirtytime_expire_seconds",
> +		.data		= &dirtytime_expire_interval,
> +		.maxlen		= sizeof(dirty_expire_interval),
> +		.mode		= 0644,
> +		.proc_handler	= dirtytime_interval_handler,
> +		.extra1		= &zero,
> +	},
> +	{
>  		.procname       = "nr_pdflush_threads",
>  		.mode           = 0444 /* read-only */,
>  		.proc_handler   = pdflush_proc_obsolete,
> -- 
> 2.3.0
> 
-- 
Jan Kara <jack@suse.cz>
SUSE Labs, CR

      reply	other threads:[~2015-03-17 10:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-16 19:14 [PATCH-v2 0/2] lazytime bug fixes for 4.0 Theodore Ts'o
2015-03-16 19:14 ` [PATCH-v2 1/2] fs: make sure the timestamps for lazytime inodes eventually get written Theodore Ts'o
2015-03-16 21:34   ` Andreas Dilger
2015-03-17 10:33     ` Jan Kara
2015-03-17 15:53       ` Theodore Ts'o
2015-03-17 15:09     ` Theodore Ts'o
2015-03-17 10:29   ` Jan Kara
2015-03-16 19:14 ` [PATCH-v2 2/2] fs: add dirtytime_expire_seconds sysctl Theodore Ts'o
2015-03-17 10:30   ` Jan Kara [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150317103008.GD23155@quack.suse.cz \
    --to=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).