From: Mel Gorman <mel@csn.ul.ie> To: Minchan Kim <minchan.kim@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Linux Kernel List <linux-kernel@vger.kernel.org>, Johannes Weiner <hannes@cmpxchg.org>, Wu Fengguang <fengguang.wu@intel.com>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Subject: Re: [PATCH 7/8] writeback: Do not sleep on the congestion queue if there are no congested BDIs Date: Thu, 16 Sep 2010 09:23:12 +0100 [thread overview] Message-ID: <20100916082312.GA15709@csn.ul.ie> (raw) In-Reply-To: <20100916075949.GA16115@barrios-desktop> On Thu, Sep 16, 2010 at 04:59:49PM +0900, Minchan Kim wrote: > On Wed, Sep 15, 2010 at 01:27:50PM +0100, Mel Gorman wrote: > > If congestion_wait() is called with no BDI congested, the caller will sleep > > for the full timeout and this may be an unnecessary sleep. This patch adds > > a wait_iff_congested() that checks congestion and only sleeps if a BDI is > > congested else, it calls cond_resched() to ensure the caller is not hogging > > the CPU longer than its quota but otherwise will not sleep. > > > > This is aimed at reducing some of the major desktop stalls reported during > > IO. For example, while kswapd is operating, it calls congestion_wait() > > but it could just have been reclaiming clean page cache pages with no > > congestion. Without this patch, it would sleep for a full timeout but after > > this patch, it'll just call schedule() if it has been on the CPU too long. > > Similar logic applies to direct reclaimers that are not making enough > > progress. > > I confused due to kswapd you mentioned. > This patch affects only direct reclaim. > Please, complete the description. > My bad, when the description was first written, both were affected and I neglected to correct the description. I'm still debating with myself as to whether the kswapd congestion_wait() should be wait_iff_congested() or not. Thanks > "This patch affects direct reclaimer to reduce stall" > Otherwise, looks good to me. > > > > > Signed-off-by: Mel Gorman <mel@csn.ul.ie> > Reviewed-by: Minchan Kim <minchan.kim@gmail.com> > > -- > Kind regards, > Minchan Kim > -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mel@csn.ul.ie> To: Minchan Kim <minchan.kim@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Linux Kernel List <linux-kernel@vger.kernel.org>, Johannes Weiner <hannes@cmpxchg.org>, Wu Fengguang <fengguang.wu@intel.com>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Subject: Re: [PATCH 7/8] writeback: Do not sleep on the congestion queue if there are no congested BDIs Date: Thu, 16 Sep 2010 09:23:12 +0100 [thread overview] Message-ID: <20100916082312.GA15709@csn.ul.ie> (raw) In-Reply-To: <20100916075949.GA16115@barrios-desktop> On Thu, Sep 16, 2010 at 04:59:49PM +0900, Minchan Kim wrote: > On Wed, Sep 15, 2010 at 01:27:50PM +0100, Mel Gorman wrote: > > If congestion_wait() is called with no BDI congested, the caller will sleep > > for the full timeout and this may be an unnecessary sleep. This patch adds > > a wait_iff_congested() that checks congestion and only sleeps if a BDI is > > congested else, it calls cond_resched() to ensure the caller is not hogging > > the CPU longer than its quota but otherwise will not sleep. > > > > This is aimed at reducing some of the major desktop stalls reported during > > IO. For example, while kswapd is operating, it calls congestion_wait() > > but it could just have been reclaiming clean page cache pages with no > > congestion. Without this patch, it would sleep for a full timeout but after > > this patch, it'll just call schedule() if it has been on the CPU too long. > > Similar logic applies to direct reclaimers that are not making enough > > progress. > > I confused due to kswapd you mentioned. > This patch affects only direct reclaim. > Please, complete the description. > My bad, when the description was first written, both were affected and I neglected to correct the description. I'm still debating with myself as to whether the kswapd congestion_wait() should be wait_iff_congested() or not. Thanks > "This patch affects direct reclaimer to reduce stall" > Otherwise, looks good to me. > > > > > Signed-off-by: Mel Gorman <mel@csn.ul.ie> > Reviewed-by: Minchan Kim <minchan.kim@gmail.com> > > -- > Kind regards, > Minchan Kim > -- Mel Gorman Part-time Phd Student Linux Technology Center University of Limerick IBM Dublin Software Lab -- 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/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2010-09-16 8:23 UTC|newest] Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-09-15 12:27 [PATCH 0/8] Reduce latencies and improve overall reclaim efficiency v2 Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-15 12:27 ` [PATCH 1/8] tracing, vmscan: Add trace events for LRU list shrinking Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-15 12:27 ` [PATCH 2/8] writeback: Account for time spent congestion_waited Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-15 12:27 ` [PATCH 3/8] vmscan: Synchronous lumpy reclaim should not call congestion_wait() Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-15 12:27 ` [PATCH 4/8] vmscan: Narrow the scenarios lumpy reclaim uses synchrounous reclaim Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-15 12:27 ` [PATCH 5/8] vmscan: Remove dead code in shrink_inactive_list() Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-15 12:27 ` [PATCH 6/8] vmscan: isolated_lru_pages() stop neighbour search if neighbour cannot be isolated Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-15 12:27 ` [PATCH 7/8] writeback: Do not sleep on the congestion queue if there are no congested BDIs Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-16 7:59 ` Minchan Kim 2010-09-16 7:59 ` Minchan Kim 2010-09-16 8:23 ` Mel Gorman [this message] 2010-09-16 8:23 ` Mel Gorman 2010-09-15 12:27 ` [PATCH 8/8] writeback: Do not sleep on the congestion queue if there are no congested BDIs or if significant congestion is not being encountered in the current zone Mel Gorman 2010-09-15 12:27 ` Mel Gorman 2010-09-16 8:13 ` Minchan Kim 2010-09-16 8:13 ` Minchan Kim 2010-09-16 9:18 ` Mel Gorman 2010-09-16 9:18 ` Mel Gorman 2010-09-16 14:11 ` Minchan Kim 2010-09-16 14:11 ` Minchan Kim 2010-09-16 15:18 ` Mel Gorman 2010-09-16 15:18 ` Mel Gorman 2010-09-16 22:28 ` Andrew Morton 2010-09-16 22:28 ` Andrew Morton 2010-09-20 9:52 ` Mel Gorman 2010-09-20 9:52 ` Mel Gorman 2010-09-21 21:44 ` Andrew Morton 2010-09-21 21:44 ` Andrew Morton 2010-09-21 22:10 ` Mel Gorman 2010-09-21 22:10 ` Mel Gorman 2010-09-21 22:24 ` Andrew Morton 2010-09-21 22:24 ` Andrew Morton 2010-09-20 13:05 ` [PATCH] writeback: Do not sleep on the congestion queue if there are no congested BDIs or if significant congestion is not being encounted in the current zone fix Mel Gorman 2010-09-20 13:05 ` Mel Gorman 2010-09-16 22:28 ` [PATCH 0/8] Reduce latencies and improve overall reclaim efficiency v2 Andrew Morton 2010-09-16 22:28 ` Andrew Morton 2010-09-17 7:52 ` Mel Gorman 2010-09-17 7:52 ` Mel Gorman 2010-10-14 15:28 ` Christian Ehrhardt 2010-10-14 15:28 ` Christian Ehrhardt 2010-10-14 15:28 ` Christian Ehrhardt 2010-10-18 13:55 ` Mel Gorman 2010-10-18 13:55 ` Mel Gorman 2010-10-22 12:29 ` Christian Ehrhardt 2010-10-22 12:29 ` Christian Ehrhardt 2010-10-22 12:29 ` Christian Ehrhardt 2010-11-03 10:50 ` Christian Ehrhardt 2010-11-03 10:50 ` Christian Ehrhardt 2010-11-03 10:50 ` Christian Ehrhardt 2010-11-10 14:37 ` Mel Gorman 2010-11-10 14:37 ` Mel Gorman
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=20100916082312.GA15709@csn.ul.ie \ --to=mel@csn.ul.ie \ --cc=akpm@linux-foundation.org \ --cc=fengguang.wu@intel.com \ --cc=hannes@cmpxchg.org \ --cc=kamezawa.hiroyu@jp.fujitsu.com \ --cc=kosaki.motohiro@jp.fujitsu.com \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=minchan.kim@gmail.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: linkBe 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.