From: Mel Gorman <mel@csn.ul.ie>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
Linux Kernel List <linux-kernel@vger.kernel.org>,
Rik van Riel <riel@redhat.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Minchan Kim <minchan.kim@gmail.com>,
Wu Fengguang <fengguang.wu@intel.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Dave Chinner <david@fromorbit.com>,
Chris Mason <chris.mason@oracle.com>,
Christoph Hellwig <hch@lst.de>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH 05/10] vmscan: Synchrounous lumpy reclaim use lock_page() instead trylock_page()
Date: Thu, 9 Sep 2010 10:22:03 +0100 [thread overview]
Message-ID: <20100909092203.GL29263@csn.ul.ie> (raw)
In-Reply-To: <20100909131211.C93C.A69D9226@jp.fujitsu.com>
On Thu, Sep 09, 2010 at 01:13:22PM +0900, KOSAKI Motohiro wrote:
> > On Thu, 9 Sep 2010 12:04:48 +0900
> > KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
> >
> > > On Mon, 6 Sep 2010 11:47:28 +0100
> > > Mel Gorman <mel@csn.ul.ie> wrote:
> > >
> > > > From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
> > > >
> > > > With synchrounous lumpy reclaim, there is no reason to give up to reclaim
> > > > pages even if page is locked. This patch uses lock_page() instead of
> > > > trylock_page() in this case.
> > > >
> > > > Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
> > > > Signed-off-by: Mel Gorman <mel@csn.ul.ie>
> > >
> > > Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> > >
> > Ah......but can't this change cause dead lock ??
>
> Yes, this patch is purely crappy. please drop. I guess I was poisoned
> by poisonous mushroom of Mario Bros.
>
Lets be clear on what the exact dead lock conditions are. The ones I had
thought about when I felt this patch was ok were;
o We are not holding the LRU lock (or any lock, we just called cond_resched())
o We do not have another page locked because we cannot lock multiple pages
o Kswapd will never be in LUMPY_MODE_SYNC so it is not getting blocked
o lock_page() itself is not allocating anything that we could recurse on
One potential dead lock would be if the direct reclaimer held a page
lock and ended up here but is that situation even allowed? I did not
think of an obvious example of when this would happen. Similarly,
deadlock situations with mmap_sem shouldn't happen unless multiple page
locks are being taken.
(prepares to feel foolish)
What did I miss?
--
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: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
Linux Kernel List <linux-kernel@vger.kernel.org>,
Rik van Riel <riel@redhat.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Minchan Kim <minchan.kim@gmail.com>,
Wu Fengguang <fengguang.wu@intel.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Dave Chinner <david@fromorbit.com>,
Chris Mason <chris.mason@oracle.com>,
Christoph Hellwig <hch@lst.de>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH 05/10] vmscan: Synchrounous lumpy reclaim use lock_page() instead trylock_page()
Date: Thu, 9 Sep 2010 10:22:03 +0100 [thread overview]
Message-ID: <20100909092203.GL29263@csn.ul.ie> (raw)
In-Reply-To: <20100909131211.C93C.A69D9226@jp.fujitsu.com>
On Thu, Sep 09, 2010 at 01:13:22PM +0900, KOSAKI Motohiro wrote:
> > On Thu, 9 Sep 2010 12:04:48 +0900
> > KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
> >
> > > On Mon, 6 Sep 2010 11:47:28 +0100
> > > Mel Gorman <mel@csn.ul.ie> wrote:
> > >
> > > > From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
> > > >
> > > > With synchrounous lumpy reclaim, there is no reason to give up to reclaim
> > > > pages even if page is locked. This patch uses lock_page() instead of
> > > > trylock_page() in this case.
> > > >
> > > > Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
> > > > Signed-off-by: Mel Gorman <mel@csn.ul.ie>
> > >
> > > Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> > >
> > Ah......but can't this change cause dead lock ??
>
> Yes, this patch is purely crappy. please drop. I guess I was poisoned
> by poisonous mushroom of Mario Bros.
>
Lets be clear on what the exact dead lock conditions are. The ones I had
thought about when I felt this patch was ok were;
o We are not holding the LRU lock (or any lock, we just called cond_resched())
o We do not have another page locked because we cannot lock multiple pages
o Kswapd will never be in LUMPY_MODE_SYNC so it is not getting blocked
o lock_page() itself is not allocating anything that we could recurse on
One potential dead lock would be if the direct reclaimer held a page
lock and ended up here but is that situation even allowed? I did not
think of an obvious example of when this would happen. Similarly,
deadlock situations with mmap_sem shouldn't happen unless multiple page
locks are being taken.
(prepares to feel foolish)
What did I miss?
--
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-09 9:22 UTC|newest]
Thread overview: 133+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-06 10:47 [PATCH 0/9] Reduce latencies and improve overall reclaim efficiency v1 Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-06 10:47 ` [PATCH 01/10] tracing, vmscan: Add trace events for LRU list shrinking Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-06 10:47 ` [PATCH 02/10] writeback: Account for time spent congestion_waited Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-06 10:47 ` [PATCH 03/10] writeback: Do not congestion sleep if there are no congested BDIs or significant writeback Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-07 15:25 ` Minchan Kim
2010-09-07 15:25 ` Minchan Kim
2010-09-08 11:04 ` Mel Gorman
2010-09-08 11:04 ` Mel Gorman
2010-09-08 14:52 ` Minchan Kim
2010-09-08 14:52 ` Minchan Kim
2010-09-09 8:54 ` Mel Gorman
2010-09-09 8:54 ` Mel Gorman
2010-09-12 15:37 ` Minchan Kim
2010-09-12 15:37 ` Minchan Kim
2010-09-13 8:55 ` Mel Gorman
2010-09-13 8:55 ` Mel Gorman
2010-09-13 9:48 ` Minchan Kim
2010-09-13 9:48 ` Minchan Kim
2010-09-13 10:07 ` Mel Gorman
2010-09-13 10:07 ` Mel Gorman
2010-09-13 10:20 ` Minchan Kim
2010-09-13 10:20 ` Minchan Kim
2010-09-13 10:30 ` Mel Gorman
2010-09-13 10:30 ` Mel Gorman
2010-09-08 21:23 ` Andrew Morton
2010-09-08 21:23 ` Andrew Morton
2010-09-09 10:43 ` Mel Gorman
2010-09-09 10:43 ` Mel Gorman
2010-09-09 3:02 ` KAMEZAWA Hiroyuki
2010-09-09 3:02 ` KAMEZAWA Hiroyuki
2010-09-09 8:58 ` Mel Gorman
2010-09-09 8:58 ` Mel Gorman
2010-09-06 10:47 ` [PATCH 04/10] vmscan: Synchronous lumpy reclaim should not call congestion_wait() Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-07 15:26 ` Minchan Kim
2010-09-07 15:26 ` Minchan Kim
2010-09-08 6:15 ` Johannes Weiner
2010-09-08 6:15 ` Johannes Weiner
2010-09-08 11:25 ` Wu Fengguang
2010-09-08 11:25 ` Wu Fengguang
2010-09-09 3:03 ` KAMEZAWA Hiroyuki
2010-09-09 3:03 ` KAMEZAWA Hiroyuki
2010-09-06 10:47 ` [PATCH 05/10] vmscan: Synchrounous lumpy reclaim use lock_page() instead trylock_page() Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-07 15:28 ` Minchan Kim
2010-09-07 15:28 ` Minchan Kim
2010-09-08 6:16 ` Johannes Weiner
2010-09-08 6:16 ` Johannes Weiner
2010-09-08 11:28 ` Wu Fengguang
2010-09-08 11:28 ` Wu Fengguang
2010-09-09 3:04 ` KAMEZAWA Hiroyuki
2010-09-09 3:04 ` KAMEZAWA Hiroyuki
2010-09-09 3:15 ` KAMEZAWA Hiroyuki
2010-09-09 3:15 ` KAMEZAWA Hiroyuki
2010-09-09 3:25 ` Wu Fengguang
2010-09-09 3:25 ` Wu Fengguang
2010-09-09 4:13 ` KOSAKI Motohiro
2010-09-09 4:13 ` KOSAKI Motohiro
2010-09-09 9:22 ` Mel Gorman [this message]
2010-09-09 9:22 ` Mel Gorman
2010-09-10 10:25 ` KOSAKI Motohiro
2010-09-10 10:25 ` KOSAKI Motohiro
2010-09-10 10:33 ` KOSAKI Motohiro
2010-09-10 10:33 ` KOSAKI Motohiro
2010-09-10 10:33 ` KOSAKI Motohiro
2010-09-13 9:14 ` Mel Gorman
2010-09-13 9:14 ` Mel Gorman
2010-09-14 10:14 ` KOSAKI Motohiro
2010-09-14 10:14 ` KOSAKI Motohiro
2010-09-06 10:47 ` [PATCH 06/10] vmscan: Narrow the scenarios lumpy reclaim uses synchrounous reclaim Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-09 3:14 ` KAMEZAWA Hiroyuki
2010-09-09 3:14 ` KAMEZAWA Hiroyuki
2010-09-06 10:47 ` [PATCH 07/10] vmscan: Remove dead code in shrink_inactive_list() Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-07 15:33 ` Minchan Kim
2010-09-07 15:33 ` Minchan Kim
2010-09-06 10:47 ` [PATCH 08/10] vmscan: isolated_lru_pages() stop neighbour search if neighbour cannot be isolated Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-07 15:37 ` Minchan Kim
2010-09-07 15:37 ` Minchan Kim
2010-09-08 11:12 ` Mel Gorman
2010-09-08 11:12 ` Mel Gorman
2010-09-08 14:58 ` Minchan Kim
2010-09-08 14:58 ` Minchan Kim
2010-09-08 11:37 ` Wu Fengguang
2010-09-08 11:37 ` Wu Fengguang
2010-09-08 12:50 ` Mel Gorman
2010-09-08 12:50 ` Mel Gorman
2010-09-08 13:14 ` Wu Fengguang
2010-09-08 13:14 ` Wu Fengguang
2010-09-08 13:27 ` Mel Gorman
2010-09-08 13:27 ` Mel Gorman
2010-09-09 3:17 ` KAMEZAWA Hiroyuki
2010-09-09 3:17 ` KAMEZAWA Hiroyuki
2010-09-06 10:47 ` [PATCH 09/10] vmscan: Do not writeback filesystem pages in direct reclaim Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-13 13:31 ` Wu Fengguang
2010-09-13 13:31 ` Wu Fengguang
2010-09-13 13:55 ` Mel Gorman
2010-09-13 13:55 ` Mel Gorman
2010-09-13 14:33 ` Wu Fengguang
2010-09-13 14:33 ` Wu Fengguang
2010-10-28 21:50 ` Christoph Hellwig
2010-10-28 21:50 ` Christoph Hellwig
2010-10-29 10:26 ` Mel Gorman
2010-10-29 10:26 ` Mel Gorman
2010-09-06 10:47 ` [PATCH 10/10] vmscan: Kick flusher threads to clean pages when reclaim is encountering dirty pages Mel Gorman
2010-09-06 10:47 ` Mel Gorman
2010-09-09 3:22 ` KAMEZAWA Hiroyuki
2010-09-09 3:22 ` KAMEZAWA Hiroyuki
2010-09-09 9:32 ` Mel Gorman
2010-09-09 9:32 ` Mel Gorman
2010-09-13 0:53 ` KAMEZAWA Hiroyuki
2010-09-13 0:53 ` KAMEZAWA Hiroyuki
2010-09-13 13:48 ` Wu Fengguang
2010-09-13 13:48 ` Wu Fengguang
2010-09-13 14:10 ` Mel Gorman
2010-09-13 14:10 ` Mel Gorman
2010-09-13 14:41 ` Wu Fengguang
2010-09-13 14:41 ` Wu Fengguang
2010-09-06 10:49 ` [PATCH 0/9] Reduce latencies and improve overall reclaim efficiency v1 Mel Gorman
2010-09-06 10:49 ` Mel Gorman
2010-09-08 3:14 ` KOSAKI Motohiro
2010-09-08 3:14 ` KOSAKI Motohiro
2010-09-08 8:38 ` Mel Gorman
2010-09-08 8:38 ` Mel Gorman
2010-09-13 23:10 ` Minchan Kim
2010-09-13 23:10 ` Minchan 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=20100909092203.GL29263@csn.ul.ie \
--to=mel@csn.ul.ie \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=david@fromorbit.com \
--cc=fengguang.wu@intel.com \
--cc=hannes@cmpxchg.org \
--cc=hch@lst.de \
--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 \
--cc=riel@redhat.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.