RE: [f2fs-dev] [PATCH] f2fs: fix dirty page accounting when redirty

2014-02-28 Thread Chao Yu
Hi,

> -Original Message-
> From: Dave Chinner [mailto:da...@fromorbit.com]
> Sent: Saturday, March 01, 2014 8:27 AM
> To: Chao Yu
> Cc: ???; linux-fsde...@vger.kernel.org; linux-kernel@vger.kernel.org;
> linux-f2fs-de...@lists.sourceforge.net
> Subject: Re: [f2fs-dev] [PATCH] f2fs: fix dirty page accounting when redirty
> 
> On Fri, Feb 28, 2014 at 10:12:05AM +0800, Chao Yu wrote:
> > We should de-account dirty counters for page when redirty in ->writepage().
> >
> > Wu Fengguang described in 'commit 971767caf632190f77a40b4011c19948232eed75':
> > "writeback: fix dirtied pages accounting on redirty
> > De-account the accumulative dirty counters on page redirty.
> >
> > Page redirties (very common in ext4) will introduce mismatch between
> > counters (a) and (b)
> >
> > a) NR_DIRTIED, BDI_DIRTIED, tsk->nr_dirtied
> > b) NR_WRITTEN, BDI_WRITTEN
> >
> > This will introduce systematic errors in balanced_rate and result in
> > dirty page position errors (ie. the dirty pages are no longer balanced
> > around the global/bdi setpoints)."
> >
> > Signed-off-by: Chao Yu 
> > ---
> >  fs/f2fs/checkpoint.c |1 +
> >  fs/f2fs/data.c   |1 +
> >  fs/f2fs/node.c   |1 +
> >  3 files changed, 3 insertions(+)
> >
> > diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
> > index c8516ee..f069249 100644
> > --- a/fs/f2fs/checkpoint.c
> > +++ b/fs/f2fs/checkpoint.c
> > @@ -178,6 +178,7 @@ no_write:
> >  redirty_out:
> > dec_page_count(sbi, F2FS_DIRTY_META);
> > wbc->pages_skipped++;
> > +   account_page_redirty(page);
> > set_page_dirty(page);
> > return AOP_WRITEPAGE_ACTIVATE;
> 
> redirty_page_for_writepage()?

set_page_dirty() in a_ops of f2fs not only call __set_page_dirty_nobuffers(),
but also set some private data of page and print trace info.
So it seems we could not easily replace with redirty_page_for_writepage().

Thanks.

> 
> Cheers,
> 
> Dave.
> --
> Dave Chinner
> da...@fromorbit.com

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [f2fs-dev] [PATCH] f2fs: fix dirty page accounting when redirty

2014-02-28 Thread Dave Chinner
On Fri, Feb 28, 2014 at 10:12:05AM +0800, Chao Yu wrote:
> We should de-account dirty counters for page when redirty in ->writepage().
> 
> Wu Fengguang described in 'commit 971767caf632190f77a40b4011c19948232eed75':
> "writeback: fix dirtied pages accounting on redirty
> De-account the accumulative dirty counters on page redirty.
> 
> Page redirties (very common in ext4) will introduce mismatch between
> counters (a) and (b)
> 
> a) NR_DIRTIED, BDI_DIRTIED, tsk->nr_dirtied
> b) NR_WRITTEN, BDI_WRITTEN
> 
> This will introduce systematic errors in balanced_rate and result in
> dirty page position errors (ie. the dirty pages are no longer balanced
> around the global/bdi setpoints)."
> 
> Signed-off-by: Chao Yu 
> ---
>  fs/f2fs/checkpoint.c |1 +
>  fs/f2fs/data.c   |1 +
>  fs/f2fs/node.c   |1 +
>  3 files changed, 3 insertions(+)
> 
> diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
> index c8516ee..f069249 100644
> --- a/fs/f2fs/checkpoint.c
> +++ b/fs/f2fs/checkpoint.c
> @@ -178,6 +178,7 @@ no_write:
>  redirty_out:
>   dec_page_count(sbi, F2FS_DIRTY_META);
>   wbc->pages_skipped++;
> + account_page_redirty(page);
>   set_page_dirty(page);
>   return AOP_WRITEPAGE_ACTIVATE;

redirty_page_for_writepage()?

Cheers,

Dave.
-- 
Dave Chinner
da...@fromorbit.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [f2fs-dev] [PATCH] f2fs: fix dirty page accounting when redirty

2014-02-28 Thread Dave Chinner
On Fri, Feb 28, 2014 at 10:12:05AM +0800, Chao Yu wrote:
 We should de-account dirty counters for page when redirty in -writepage().
 
 Wu Fengguang described in 'commit 971767caf632190f77a40b4011c19948232eed75':
 writeback: fix dirtied pages accounting on redirty
 De-account the accumulative dirty counters on page redirty.
 
 Page redirties (very common in ext4) will introduce mismatch between
 counters (a) and (b)
 
 a) NR_DIRTIED, BDI_DIRTIED, tsk-nr_dirtied
 b) NR_WRITTEN, BDI_WRITTEN
 
 This will introduce systematic errors in balanced_rate and result in
 dirty page position errors (ie. the dirty pages are no longer balanced
 around the global/bdi setpoints).
 
 Signed-off-by: Chao Yu chao2...@samsung.com
 ---
  fs/f2fs/checkpoint.c |1 +
  fs/f2fs/data.c   |1 +
  fs/f2fs/node.c   |1 +
  3 files changed, 3 insertions(+)
 
 diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
 index c8516ee..f069249 100644
 --- a/fs/f2fs/checkpoint.c
 +++ b/fs/f2fs/checkpoint.c
 @@ -178,6 +178,7 @@ no_write:
  redirty_out:
   dec_page_count(sbi, F2FS_DIRTY_META);
   wbc-pages_skipped++;
 + account_page_redirty(page);
   set_page_dirty(page);
   return AOP_WRITEPAGE_ACTIVATE;

redirty_page_for_writepage()?

Cheers,

Dave.
-- 
Dave Chinner
da...@fromorbit.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [f2fs-dev] [PATCH] f2fs: fix dirty page accounting when redirty

2014-02-28 Thread Chao Yu
Hi,

 -Original Message-
 From: Dave Chinner [mailto:da...@fromorbit.com]
 Sent: Saturday, March 01, 2014 8:27 AM
 To: Chao Yu
 Cc: ???; linux-fsde...@vger.kernel.org; linux-kernel@vger.kernel.org;
 linux-f2fs-de...@lists.sourceforge.net
 Subject: Re: [f2fs-dev] [PATCH] f2fs: fix dirty page accounting when redirty
 
 On Fri, Feb 28, 2014 at 10:12:05AM +0800, Chao Yu wrote:
  We should de-account dirty counters for page when redirty in -writepage().
 
  Wu Fengguang described in 'commit 971767caf632190f77a40b4011c19948232eed75':
  writeback: fix dirtied pages accounting on redirty
  De-account the accumulative dirty counters on page redirty.
 
  Page redirties (very common in ext4) will introduce mismatch between
  counters (a) and (b)
 
  a) NR_DIRTIED, BDI_DIRTIED, tsk-nr_dirtied
  b) NR_WRITTEN, BDI_WRITTEN
 
  This will introduce systematic errors in balanced_rate and result in
  dirty page position errors (ie. the dirty pages are no longer balanced
  around the global/bdi setpoints).
 
  Signed-off-by: Chao Yu chao2...@samsung.com
  ---
   fs/f2fs/checkpoint.c |1 +
   fs/f2fs/data.c   |1 +
   fs/f2fs/node.c   |1 +
   3 files changed, 3 insertions(+)
 
  diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
  index c8516ee..f069249 100644
  --- a/fs/f2fs/checkpoint.c
  +++ b/fs/f2fs/checkpoint.c
  @@ -178,6 +178,7 @@ no_write:
   redirty_out:
  dec_page_count(sbi, F2FS_DIRTY_META);
  wbc-pages_skipped++;
  +   account_page_redirty(page);
  set_page_dirty(page);
  return AOP_WRITEPAGE_ACTIVATE;
 
 redirty_page_for_writepage()?

set_page_dirty() in a_ops of f2fs not only call __set_page_dirty_nobuffers(),
but also set some private data of page and print trace info.
So it seems we could not easily replace with redirty_page_for_writepage().

Thanks.

 
 Cheers,
 
 Dave.
 --
 Dave Chinner
 da...@fromorbit.com

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/