All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.cz>
To: Johannes Weiner <jweiner@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Mel Gorman <mgorman@suse.de>,
	Christoph Hellwig <hch@infradead.org>,
	Dave Chinner <david@fromorbit.com>,
	Wu Fengguang <fengguang.wu@intel.com>, Jan Kara <jack@suse.cz>,
	Rik van Riel <riel@redhat.com>,
	Minchan Kim <minchan.kim@gmail.com>,
	Chris Mason <chris.mason@oracle.com>,
	Theodore Ts'o <tytso@mit.edu>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Shaohua Li <shaohua.li@intel.com>,
	xfs@oss.sgi.com, linux-btrfs@vger.kernel.org,
	linux-ext4@vger.kernel.org, linux-mm@kvack.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 2/5] mm: writeback: cleanups in preparation for per-zone dirty limits
Date: Fri, 30 Sep 2011 15:56:38 +0200	[thread overview]
Message-ID: <20110930135638.GB869@tiehlicka.suse.cz> (raw)
In-Reply-To: <1317367044-475-3-git-send-email-jweiner@redhat.com>

On Fri 30-09-11 09:17:21, Johannes Weiner wrote:
> The next patch will introduce per-zone dirty limiting functions in
> addition to the traditional global dirty limiting.
> 
> Rename determine_dirtyable_memory() to global_dirtyable_memory()
> before adding the zone-specific version, and fix up its documentation.
> 
> Also, move the functions to determine the dirtyable memory and the
> function to calculate the dirty limit based on that together so that
> their relationship is more apparent and that they can be commented on
> as a group.
> 
> Signed-off-by: Johannes Weiner <jweiner@redhat.com>
> Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
> Acked-by: Mel Gorman <mel@suse.de>

Reviewed-by: Michal Hocko <mhocko@suse.cz>

> ---
>  mm/page-writeback.c |   92 +++++++++++++++++++++++++-------------------------
>  1 files changed, 46 insertions(+), 46 deletions(-)
> 
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index c8acf8a..78604a6 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -186,12 +186,12 @@ static unsigned long highmem_dirtyable_memory(unsigned long total)
>  }
>  
>  /**
> - * determine_dirtyable_memory - amount of memory that may be used
> + * global_dirtyable_memory - number of globally dirtyable pages
>   *
> - * Returns the numebr of pages that can currently be freed and used
> - * by the kernel for direct mappings.
> + * Returns the global number of pages potentially available for dirty
> + * page cache.  This is the base value for the global dirty limits.
>   */
> -static unsigned long determine_dirtyable_memory(void)
> +static unsigned long global_dirtyable_memory(void)
>  {
>  	unsigned long x;
>  
> @@ -205,6 +205,47 @@ static unsigned long determine_dirtyable_memory(void)
>  }
>  
>  /*
> + * global_dirty_limits - background-writeback and dirty-throttling thresholds
> + *
> + * Calculate the dirty thresholds based on sysctl parameters
> + * - vm.dirty_background_ratio  or  vm.dirty_background_bytes
> + * - vm.dirty_ratio             or  vm.dirty_bytes
> + * The dirty limits will be lifted by 1/4 for PF_LESS_THROTTLE (ie. nfsd) and
> + * real-time tasks.
> + */
> +void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty)
> +{
> +	unsigned long background;
> +	unsigned long dirty;
> +	unsigned long uninitialized_var(available_memory);
> +	struct task_struct *tsk;
> +
> +	if (!vm_dirty_bytes || !dirty_background_bytes)
> +		available_memory = global_dirtyable_memory();
> +
> +	if (vm_dirty_bytes)
> +		dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE);
> +	else
> +		dirty = (vm_dirty_ratio * available_memory) / 100;
> +
> +	if (dirty_background_bytes)
> +		background = DIV_ROUND_UP(dirty_background_bytes, PAGE_SIZE);
> +	else
> +		background = (dirty_background_ratio * available_memory) / 100;
> +
> +	if (background >= dirty)
> +		background = dirty / 2;
> +	tsk = current;
> +	if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
> +		background += background / 4;
> +		dirty += dirty / 4;
> +	}
> +	*pbackground = background;
> +	*pdirty = dirty;
> +	trace_global_dirty_state(background, dirty);
> +}
> +
> +/*
>   * couple the period to the dirty_ratio:
>   *
>   *   period/2 ~ roundup_pow_of_two(dirty limit)
> @@ -216,7 +257,7 @@ static int calc_period_shift(void)
>  	if (vm_dirty_bytes)
>  		dirty_total = vm_dirty_bytes / PAGE_SIZE;
>  	else
> -		dirty_total = (vm_dirty_ratio * determine_dirtyable_memory()) /
> +		dirty_total = (vm_dirty_ratio * global_dirtyable_memory()) /
>  				100;
>  	return 2 + ilog2(dirty_total - 1);
>  }
> @@ -416,47 +457,6 @@ static unsigned long hard_dirty_limit(unsigned long thresh)
>  	return max(thresh, global_dirty_limit);
>  }
>  
> -/*
> - * global_dirty_limits - background-writeback and dirty-throttling thresholds
> - *
> - * Calculate the dirty thresholds based on sysctl parameters
> - * - vm.dirty_background_ratio  or  vm.dirty_background_bytes
> - * - vm.dirty_ratio             or  vm.dirty_bytes
> - * The dirty limits will be lifted by 1/4 for PF_LESS_THROTTLE (ie. nfsd) and
> - * real-time tasks.
> - */
> -void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty)
> -{
> -	unsigned long background;
> -	unsigned long dirty;
> -	unsigned long uninitialized_var(available_memory);
> -	struct task_struct *tsk;
> -
> -	if (!vm_dirty_bytes || !dirty_background_bytes)
> -		available_memory = determine_dirtyable_memory();
> -
> -	if (vm_dirty_bytes)
> -		dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE);
> -	else
> -		dirty = (vm_dirty_ratio * available_memory) / 100;
> -
> -	if (dirty_background_bytes)
> -		background = DIV_ROUND_UP(dirty_background_bytes, PAGE_SIZE);
> -	else
> -		background = (dirty_background_ratio * available_memory) / 100;
> -
> -	if (background >= dirty)
> -		background = dirty / 2;
> -	tsk = current;
> -	if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
> -		background += background / 4;
> -		dirty += dirty / 4;
> -	}
> -	*pbackground = background;
> -	*pdirty = dirty;
> -	trace_global_dirty_state(background, dirty);
> -}
> -
>  /**
>   * bdi_dirty_limit - @bdi's share of dirty throttling threshold
>   * @bdi: the backing_dev_info to query
> -- 
> 1.7.6.2
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

-- 
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9    
Czech Republic

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@suse.cz>
To: Johannes Weiner <jweiner@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Mel Gorman <mgorman@suse.de>,
	Christoph Hellwig <hch@infradead.org>,
	Dave Chinner <david@fromorbit.com>,
	Wu Fengguang <fengguang.wu@intel.com>, Jan Kara <jack@suse.cz>,
	Rik van Riel <riel@redhat.com>,
	Minchan Kim <minchan.kim@gmail.com>,
	Chris Mason <chris.mason@oracle.com>,
	"Theodore Ts'o" <tytso@mit.edu>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Shaohua Li <shaohua.li@intel.com>,
	xfs@oss.sgi.com, linux-btrfs@vger.kernel.org,
	linux-ext4@vger.kernel.org, linux-mm@kvack.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 2/5] mm: writeback: cleanups in preparation for per-zone dirty limits
Date: Fri, 30 Sep 2011 15:56:38 +0200	[thread overview]
Message-ID: <20110930135638.GB869@tiehlicka.suse.cz> (raw)
In-Reply-To: <1317367044-475-3-git-send-email-jweiner@redhat.com>

On Fri 30-09-11 09:17:21, Johannes Weiner wrote:
> The next patch will introduce per-zone dirty limiting functions in
> addition to the traditional global dirty limiting.
> 
> Rename determine_dirtyable_memory() to global_dirtyable_memory()
> before adding the zone-specific version, and fix up its documentation.
> 
> Also, move the functions to determine the dirtyable memory and the
> function to calculate the dirty limit based on that together so that
> their relationship is more apparent and that they can be commented on
> as a group.
> 
> Signed-off-by: Johannes Weiner <jweiner@redhat.com>
> Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
> Acked-by: Mel Gorman <mel@suse.de>

Reviewed-by: Michal Hocko <mhocko@suse.cz>

> ---
>  mm/page-writeback.c |   92 +++++++++++++++++++++++++-------------------------
>  1 files changed, 46 insertions(+), 46 deletions(-)
> 
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index c8acf8a..78604a6 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -186,12 +186,12 @@ static unsigned long highmem_dirtyable_memory(unsigned long total)
>  }
>  
>  /**
> - * determine_dirtyable_memory - amount of memory that may be used
> + * global_dirtyable_memory - number of globally dirtyable pages
>   *
> - * Returns the numebr of pages that can currently be freed and used
> - * by the kernel for direct mappings.
> + * Returns the global number of pages potentially available for dirty
> + * page cache.  This is the base value for the global dirty limits.
>   */
> -static unsigned long determine_dirtyable_memory(void)
> +static unsigned long global_dirtyable_memory(void)
>  {
>  	unsigned long x;
>  
> @@ -205,6 +205,47 @@ static unsigned long determine_dirtyable_memory(void)
>  }
>  
>  /*
> + * global_dirty_limits - background-writeback and dirty-throttling thresholds
> + *
> + * Calculate the dirty thresholds based on sysctl parameters
> + * - vm.dirty_background_ratio  or  vm.dirty_background_bytes
> + * - vm.dirty_ratio             or  vm.dirty_bytes
> + * The dirty limits will be lifted by 1/4 for PF_LESS_THROTTLE (ie. nfsd) and
> + * real-time tasks.
> + */
> +void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty)
> +{
> +	unsigned long background;
> +	unsigned long dirty;
> +	unsigned long uninitialized_var(available_memory);
> +	struct task_struct *tsk;
> +
> +	if (!vm_dirty_bytes || !dirty_background_bytes)
> +		available_memory = global_dirtyable_memory();
> +
> +	if (vm_dirty_bytes)
> +		dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE);
> +	else
> +		dirty = (vm_dirty_ratio * available_memory) / 100;
> +
> +	if (dirty_background_bytes)
> +		background = DIV_ROUND_UP(dirty_background_bytes, PAGE_SIZE);
> +	else
> +		background = (dirty_background_ratio * available_memory) / 100;
> +
> +	if (background >= dirty)
> +		background = dirty / 2;
> +	tsk = current;
> +	if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
> +		background += background / 4;
> +		dirty += dirty / 4;
> +	}
> +	*pbackground = background;
> +	*pdirty = dirty;
> +	trace_global_dirty_state(background, dirty);
> +}
> +
> +/*
>   * couple the period to the dirty_ratio:
>   *
>   *   period/2 ~ roundup_pow_of_two(dirty limit)
> @@ -216,7 +257,7 @@ static int calc_period_shift(void)
>  	if (vm_dirty_bytes)
>  		dirty_total = vm_dirty_bytes / PAGE_SIZE;
>  	else
> -		dirty_total = (vm_dirty_ratio * determine_dirtyable_memory()) /
> +		dirty_total = (vm_dirty_ratio * global_dirtyable_memory()) /
>  				100;
>  	return 2 + ilog2(dirty_total - 1);
>  }
> @@ -416,47 +457,6 @@ static unsigned long hard_dirty_limit(unsigned long thresh)
>  	return max(thresh, global_dirty_limit);
>  }
>  
> -/*
> - * global_dirty_limits - background-writeback and dirty-throttling thresholds
> - *
> - * Calculate the dirty thresholds based on sysctl parameters
> - * - vm.dirty_background_ratio  or  vm.dirty_background_bytes
> - * - vm.dirty_ratio             or  vm.dirty_bytes
> - * The dirty limits will be lifted by 1/4 for PF_LESS_THROTTLE (ie. nfsd) and
> - * real-time tasks.
> - */
> -void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty)
> -{
> -	unsigned long background;
> -	unsigned long dirty;
> -	unsigned long uninitialized_var(available_memory);
> -	struct task_struct *tsk;
> -
> -	if (!vm_dirty_bytes || !dirty_background_bytes)
> -		available_memory = determine_dirtyable_memory();
> -
> -	if (vm_dirty_bytes)
> -		dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE);
> -	else
> -		dirty = (vm_dirty_ratio * available_memory) / 100;
> -
> -	if (dirty_background_bytes)
> -		background = DIV_ROUND_UP(dirty_background_bytes, PAGE_SIZE);
> -	else
> -		background = (dirty_background_ratio * available_memory) / 100;
> -
> -	if (background >= dirty)
> -		background = dirty / 2;
> -	tsk = current;
> -	if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
> -		background += background / 4;
> -		dirty += dirty / 4;
> -	}
> -	*pbackground = background;
> -	*pdirty = dirty;
> -	trace_global_dirty_state(background, dirty);
> -}
> -
>  /**
>   * bdi_dirty_limit - @bdi's share of dirty throttling threshold
>   * @bdi: the backing_dev_info to query
> -- 
> 1.7.6.2
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

-- 
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9    
Czech Republic

WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@suse.cz>
To: Johannes Weiner <jweiner@redhat.com>
Cc: Rik van Riel <riel@redhat.com>,
	linux-ext4@vger.kernel.org, Jan Kara <jack@suse.cz>,
	linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org,
	xfs@oss.sgi.com, Christoph Hellwig <hch@infradead.org>,
	linux-mm@kvack.org, Andreas Dilger <adilger.kernel@dilger.ca>,
	Mel Gorman <mgorman@suse.de>, Shaohua Li <shaohua.li@intel.com>,
	linux-fsdevel@vger.kernel.org, Theodore Ts'o <tytso@mit.edu>,
	Andrew Morton <akpm@linux-foundation.org>,
	Wu Fengguang <fengguang.wu@intel.com>,
	Chris Mason <chris.mason@oracle.com>,
	Minchan Kim <minchan.kim@gmail.com>
Subject: Re: [patch 2/5] mm: writeback: cleanups in preparation for per-zone dirty limits
Date: Fri, 30 Sep 2011 15:56:38 +0200	[thread overview]
Message-ID: <20110930135638.GB869@tiehlicka.suse.cz> (raw)
In-Reply-To: <1317367044-475-3-git-send-email-jweiner@redhat.com>

On Fri 30-09-11 09:17:21, Johannes Weiner wrote:
> The next patch will introduce per-zone dirty limiting functions in
> addition to the traditional global dirty limiting.
> 
> Rename determine_dirtyable_memory() to global_dirtyable_memory()
> before adding the zone-specific version, and fix up its documentation.
> 
> Also, move the functions to determine the dirtyable memory and the
> function to calculate the dirty limit based on that together so that
> their relationship is more apparent and that they can be commented on
> as a group.
> 
> Signed-off-by: Johannes Weiner <jweiner@redhat.com>
> Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
> Acked-by: Mel Gorman <mel@suse.de>

Reviewed-by: Michal Hocko <mhocko@suse.cz>

> ---
>  mm/page-writeback.c |   92 +++++++++++++++++++++++++-------------------------
>  1 files changed, 46 insertions(+), 46 deletions(-)
> 
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index c8acf8a..78604a6 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -186,12 +186,12 @@ static unsigned long highmem_dirtyable_memory(unsigned long total)
>  }
>  
>  /**
> - * determine_dirtyable_memory - amount of memory that may be used
> + * global_dirtyable_memory - number of globally dirtyable pages
>   *
> - * Returns the numebr of pages that can currently be freed and used
> - * by the kernel for direct mappings.
> + * Returns the global number of pages potentially available for dirty
> + * page cache.  This is the base value for the global dirty limits.
>   */
> -static unsigned long determine_dirtyable_memory(void)
> +static unsigned long global_dirtyable_memory(void)
>  {
>  	unsigned long x;
>  
> @@ -205,6 +205,47 @@ static unsigned long determine_dirtyable_memory(void)
>  }
>  
>  /*
> + * global_dirty_limits - background-writeback and dirty-throttling thresholds
> + *
> + * Calculate the dirty thresholds based on sysctl parameters
> + * - vm.dirty_background_ratio  or  vm.dirty_background_bytes
> + * - vm.dirty_ratio             or  vm.dirty_bytes
> + * The dirty limits will be lifted by 1/4 for PF_LESS_THROTTLE (ie. nfsd) and
> + * real-time tasks.
> + */
> +void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty)
> +{
> +	unsigned long background;
> +	unsigned long dirty;
> +	unsigned long uninitialized_var(available_memory);
> +	struct task_struct *tsk;
> +
> +	if (!vm_dirty_bytes || !dirty_background_bytes)
> +		available_memory = global_dirtyable_memory();
> +
> +	if (vm_dirty_bytes)
> +		dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE);
> +	else
> +		dirty = (vm_dirty_ratio * available_memory) / 100;
> +
> +	if (dirty_background_bytes)
> +		background = DIV_ROUND_UP(dirty_background_bytes, PAGE_SIZE);
> +	else
> +		background = (dirty_background_ratio * available_memory) / 100;
> +
> +	if (background >= dirty)
> +		background = dirty / 2;
> +	tsk = current;
> +	if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
> +		background += background / 4;
> +		dirty += dirty / 4;
> +	}
> +	*pbackground = background;
> +	*pdirty = dirty;
> +	trace_global_dirty_state(background, dirty);
> +}
> +
> +/*
>   * couple the period to the dirty_ratio:
>   *
>   *   period/2 ~ roundup_pow_of_two(dirty limit)
> @@ -216,7 +257,7 @@ static int calc_period_shift(void)
>  	if (vm_dirty_bytes)
>  		dirty_total = vm_dirty_bytes / PAGE_SIZE;
>  	else
> -		dirty_total = (vm_dirty_ratio * determine_dirtyable_memory()) /
> +		dirty_total = (vm_dirty_ratio * global_dirtyable_memory()) /
>  				100;
>  	return 2 + ilog2(dirty_total - 1);
>  }
> @@ -416,47 +457,6 @@ static unsigned long hard_dirty_limit(unsigned long thresh)
>  	return max(thresh, global_dirty_limit);
>  }
>  
> -/*
> - * global_dirty_limits - background-writeback and dirty-throttling thresholds
> - *
> - * Calculate the dirty thresholds based on sysctl parameters
> - * - vm.dirty_background_ratio  or  vm.dirty_background_bytes
> - * - vm.dirty_ratio             or  vm.dirty_bytes
> - * The dirty limits will be lifted by 1/4 for PF_LESS_THROTTLE (ie. nfsd) and
> - * real-time tasks.
> - */
> -void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty)
> -{
> -	unsigned long background;
> -	unsigned long dirty;
> -	unsigned long uninitialized_var(available_memory);
> -	struct task_struct *tsk;
> -
> -	if (!vm_dirty_bytes || !dirty_background_bytes)
> -		available_memory = determine_dirtyable_memory();
> -
> -	if (vm_dirty_bytes)
> -		dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE);
> -	else
> -		dirty = (vm_dirty_ratio * available_memory) / 100;
> -
> -	if (dirty_background_bytes)
> -		background = DIV_ROUND_UP(dirty_background_bytes, PAGE_SIZE);
> -	else
> -		background = (dirty_background_ratio * available_memory) / 100;
> -
> -	if (background >= dirty)
> -		background = dirty / 2;
> -	tsk = current;
> -	if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) {
> -		background += background / 4;
> -		dirty += dirty / 4;
> -	}
> -	*pbackground = background;
> -	*pdirty = dirty;
> -	trace_global_dirty_state(background, dirty);
> -}
> -
>  /**
>   * bdi_dirty_limit - @bdi's share of dirty throttling threshold
>   * @bdi: the backing_dev_info to query
> -- 
> 1.7.6.2
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

-- 
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9    
Czech Republic

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2011-09-30 13:56 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-30  7:17 [patch 0/5] per-zone dirty limits v3 Johannes Weiner
2011-09-30  7:17 ` Johannes Weiner
2011-09-30  7:17 ` Johannes Weiner
2011-09-30  7:17 ` [patch 1/5] mm: exclude reserved pages from dirtyable memory Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30 13:53   ` Michal Hocko
2011-09-30 13:53     ` Michal Hocko
2011-09-30 13:53     ` Michal Hocko
2011-10-01  7:10   ` Minchan Kim
2011-10-01  7:10     ` Minchan Kim
2011-10-01  7:10     ` Minchan Kim
2011-10-03 11:22   ` Mel Gorman
2011-10-03 11:22     ` Mel Gorman
2011-10-03 11:22     ` Mel Gorman
2011-09-30  7:17 ` [patch 2/5] mm: writeback: cleanups in preparation for per-zone dirty limits Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30 13:56   ` Michal Hocko [this message]
2011-09-30 13:56     ` Michal Hocko
2011-09-30 13:56     ` Michal Hocko
2011-09-30  7:17 ` [patch 3/5] mm: try to distribute dirty pages fairly across zones Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30  7:35   ` Pekka Enberg
2011-09-30  7:35     ` Pekka Enberg
2011-09-30  7:35     ` Pekka Enberg
2011-09-30  7:35     ` Pekka Enberg
2011-09-30  8:55     ` Johannes Weiner
2011-09-30  8:55       ` Johannes Weiner
2011-09-30  8:55       ` Johannes Weiner
2011-09-30  8:55       ` Johannes Weiner
2011-09-30  8:55       ` Johannes Weiner
2011-09-30 14:28   ` Michal Hocko
2011-09-30 14:28     ` Michal Hocko
2011-09-30 14:28     ` Michal Hocko
2011-10-28 20:18     ` Wu Fengguang
2011-10-28 20:18       ` Wu Fengguang
2011-10-28 20:18       ` Wu Fengguang
2011-10-31 11:33       ` Wu Fengguang
2011-10-31 11:33         ` Wu Fengguang
2011-10-31 11:33         ` Wu Fengguang
2011-11-01 10:55         ` Johannes Weiner
2011-11-01 10:55           ` Johannes Weiner
2011-11-01 10:55           ` Johannes Weiner
     [not found]     ` <20111027155618.GA25524@localhost>
     [not found]       ` <20111027161359.GA1319@redhat.com>
     [not found]         ` <20111027204743.GA19343@localhost>
     [not found]           ` <20111027221258.GA22869@localhost>
     [not found]             ` <20111027231933.GB1319@redhat.com>
2011-10-28 20:39               ` Wu Fengguang
2011-10-28 20:39                 ` Wu Fengguang
2011-11-01 10:52                 ` Johannes Weiner
2011-11-01 10:52                   ` Johannes Weiner
2011-11-01 10:52                   ` Johannes Weiner
2011-09-30  7:17 ` [patch 4/5] mm: filemap: pass __GFP_WRITE from grab_cache_page_write_begin() Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30 14:41   ` Michal Hocko
2011-09-30 14:41     ` Michal Hocko
2011-09-30 14:41     ` Michal Hocko
2011-09-30  7:17 ` [patch 5/5] Btrfs: pass __GFP_WRITE for buffered write page allocations Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-09-30  7:17   ` Johannes Weiner
2011-10-03 11:25   ` Mel Gorman
2011-10-03 11:25     ` Mel Gorman
2011-10-03 11:25     ` Mel Gorman
2011-11-23 13:34 [patch 0/5] mm: per-zone dirty limits v3-resend Johannes Weiner
2011-11-23 13:34 ` [patch 2/5] mm: writeback: cleanups in preparation for per-zone dirty limits Johannes Weiner
2011-11-23 13:34   ` Johannes Weiner

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=20110930135638.GB869@tiehlicka.suse.cz \
    --to=mhocko@suse.cz \
    --cc=adilger.kernel@dilger.ca \
    --cc=akpm@linux-foundation.org \
    --cc=chris.mason@oracle.com \
    --cc=david@fromorbit.com \
    --cc=fengguang.wu@intel.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=jweiner@redhat.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=minchan.kim@gmail.com \
    --cc=riel@redhat.com \
    --cc=shaohua.li@intel.com \
    --cc=tytso@mit.edu \
    --cc=xfs@oss.sgi.com \
    /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.