All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [PATCH 3.15 2/2] f2fs: check bdi->dirty_exceeded when trying to skip data writes
Date: Mon, 14 Jul 2014 17:53:36 -0700	[thread overview]
Message-ID: <20140715005336.GC8745@kroah.com> (raw)
In-Reply-To: <1405349571-20058-2-git-send-email-jaegeuk@kernel.org>

On Mon, Jul 14, 2014 at 07:52:51AM -0700, Jaegeuk Kim wrote:
> commit dd6b9bf5883c3ca9c17bac80ccd8615fe5a452a3 upstream.

You mean 2743f865543c0c4a5e12fc13edb2bf89a6e9687c, right?

thanks,

greg k-h

> 
> If we don't check the current backing device status, balance_dirty_pages can
> fall into infinite pausing routine.
> 
> This can be occurred when a lot of directories make a small number of dirty
> dentry pages including files.
> 
> Reported-by: Brian Chadwick <brianchad@westnet.com.au>
> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> ---
>  fs/f2fs/node.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index a9c0495..5696bde 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -42,6 +42,8 @@ bool available_free_memory(struct f2fs_sb_info *sbi, int type)
>  		mem_size = (nm_i->nat_cnt * sizeof(struct nat_entry)) >> 12;
>  		res = mem_size < ((val.totalram * nm_i->ram_thresh / 100) >> 2);
>  	} else if (type == DIRTY_DENTS) {
> +		if (sbi->sb->s_bdi->dirty_exceeded)
> +			return false;
>  		mem_size = get_pages(sbi, F2FS_DIRTY_DENTS);
>  		res = mem_size < ((val.totalram * nm_i->ram_thresh / 100) >> 1);
>  	}
> -- 
> 2.0.1.472.g6f92e5f
> 
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds

WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <greg@kroah.com>
To: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, stable@vger.kernel.org
Subject: Re: [PATCH 3.15 2/2] f2fs: check bdi->dirty_exceeded when trying to skip data writes
Date: Mon, 14 Jul 2014 17:53:36 -0700	[thread overview]
Message-ID: <20140715005336.GC8745@kroah.com> (raw)
In-Reply-To: <1405349571-20058-2-git-send-email-jaegeuk@kernel.org>

On Mon, Jul 14, 2014 at 07:52:51AM -0700, Jaegeuk Kim wrote:
> commit dd6b9bf5883c3ca9c17bac80ccd8615fe5a452a3 upstream.

You mean 2743f865543c0c4a5e12fc13edb2bf89a6e9687c, right?

thanks,

greg k-h

> 
> If we don't check the current backing device status, balance_dirty_pages can
> fall into infinite pausing routine.
> 
> This can be occurred when a lot of directories make a small number of dirty
> dentry pages including files.
> 
> Reported-by: Brian Chadwick <brianchad@westnet.com.au>
> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> ---
>  fs/f2fs/node.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index a9c0495..5696bde 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -42,6 +42,8 @@ bool available_free_memory(struct f2fs_sb_info *sbi, int type)
>  		mem_size = (nm_i->nat_cnt * sizeof(struct nat_entry)) >> 12;
>  		res = mem_size < ((val.totalram * nm_i->ram_thresh / 100) >> 2);
>  	} else if (type == DIRTY_DENTS) {
> +		if (sbi->sb->s_bdi->dirty_exceeded)
> +			return false;
>  		mem_size = get_pages(sbi, F2FS_DIRTY_DENTS);
>  		res = mem_size < ((val.totalram * nm_i->ram_thresh / 100) >> 1);
>  	}
> -- 
> 2.0.1.472.g6f92e5f
> 
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2014-07-15  0:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-14 14:52 [PATCH 3.15 1/2] f2fs: adjust free mem size to flush dentry blocks Jaegeuk Kim
2014-07-14 14:52 ` [PATCH 3.15 2/2] f2fs: check bdi->dirty_exceeded when trying to skip data writes Jaegeuk Kim
2014-07-14 14:52   ` Jaegeuk Kim
2014-07-15  0:53   ` Greg KH [this message]
2014-07-15  0:53     ` Greg KH
2014-07-15 17:57     ` Jaegeuk Kim

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=20140715005336.GC8745@kroah.com \
    --to=greg@kroah.com \
    --cc=jaegeuk@kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.