linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Frans Pop <elendil@planet.nl>
To: Mel Gorman <mel@csn.ul.ie>
Cc: Jiri Kosina <jkosina@suse.cz>,
	Sven Geggus <lists@fuchsschwanzdomain.de>,
	Karol Lewandowski <karol.k.lewandowski@gmail.com>,
	Tobias Oetiker <tobi@oetiker.ch>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	David Miller <davem@davemloft.net>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Kalle Valo <kalle.valo@iki.fi>,
	David Rientjes <rientjes@google.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Mohamed Abbas <mohamed.abbas@intel.com>,
	Jens Axboe <jens.axboe@oracle.com>,
	"John W. Linville" <linville@tuxdriver.com>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	Stephan von Krawczynski <skraw@ithnet.com>,
	Kernel Testers List <kernel-testers@vger.kernel.org>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: [PATCH 0/5] Candidate fix for increased number of GFP_ATOMIC failures V2
Date: Mon, 26 Oct 2009 23:17:50 +0100	[thread overview]
Message-ID: <200910262317.55960.elendil@planet.nl> (raw)
In-Reply-To: <1256221356-26049-1-git-send-email-mel@csn.ul.ie>

On Thursday 22 October 2009, Mel Gorman wrote:
> Test 1: Verify your problem occurs on 2.6.32-rc5 if you can

I've tested against 2.6.31.1 as it's easier for me to compare behaviors 
with that than with .32. All patches applied without problems against .31.

I've also tested 2.6.31.1 with SLAB instead of SLUB, but that does not seem 
to make a significant difference for my test.

> Test 2: Apply the following two patches and test again
>   1/5 page allocator: Always wake kswapd when restarting an allocation
>       attempt after direct reclaim failed
>   2/5 page allocator: Do not allow interrupts to use ALLOC_HARDER

Does not look to make any difference. Possibly causes more variation in the 
duration of the test (increases timing effects)?

> Test 3: If you are getting allocation failures, try with the following
> patch
>   3/5 vmscan: Force kswapd to take notice faster when high-order
>       watermarks are being hit

Applied on top of patches 1-2. Does not look to make any difference.

> Test 4: If you are still getting failures, apply the following
>   4/5 page allocator: Pre-emptively wake kswapd when high-order
>       watermarks are hit

Applied on top of patches 1-3. Does not look to make any difference.

> Test 5: If things are still screwed, apply the following
>   5/5 Revert 373c0a7e, 8aa7e847: Fix congestion_wait() sync/async vs
>       read/write confusion

Applied on top of patches 1-4. Despite Jens' scepticism is this still the 
patch that makes the most significant difference in my test.
The reading of commits in gitk is much more fluent and music skips are a 
lot less severe. But most important is that there is no long total freeze 
of the system halfway during the reading of commits and gitk loads 
fastest. It also gives by far the most consistent results.
The likelyhood of SKB allocation errors during the test is a lot smaller.
See also http://lkml.org/lkml/2009/10/26/455.


Detailed test results follow. I've done 2 test runs with each kernel (3 for 
the last).

The columns below give the following info:
- time at which all commits have been read by gitk
- time at which gitk fills in "branch", "follows" and "precedes" data for
  the current commit
- time at which there's no longer any disk activity, i.e. when gitk is
  fully loaded and all swapping is done
- total number of SKB allocation errors during the test
A "freeze" during the reading of commits is indicated by an "f" (short 
freeze) or "F" (long "hard" freeze). An "S" shows when there were SKB 
allocation errors.

		end commits	show branch	done		SKB errs
1) vanilla .31.1
run 1:		1:20 fFS	2:10 S		2:30		44 a)
run 2:		1:35 FS		1:45		2:10		13

2) .31.1 + patches 1-2
run1:		2:30 fFS	2:45		3:00		58
run2:		1:15 fS		2:00		2:20		2 a)

3) .31.1 + patches 1-3
run1:		1:00 fS		1:15		1:45		1 *)
run2:		3:00 fFS	3:15		3:30		33
*) unexpected; fortunate timing?

4) .31.1 + patches 1-4
run1:		1:10 ffS	1:55 S		2:20		35 a)
run2:		3:05 fFS	3:15		3:25		36

5) .31.1 + patches 1-5
run1:		1:00		1:15		1:35		0
run2:		0:50		1:15 S		1:45		45 *)
run3:		1:00		1:15		1:45		0
*) unexpected; unfortunate timing?

a) fast in 1st phase; slow in 2nd and 3rd

Note that without the congestion_wait() reverts occurrence of SKB errors, 
the long freezes and time it takes for gitk to load seem roughly related; 
with the reverts total time is not affected even with many SKB errors.

Cheers,
FJP

--
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>

  parent reply	other threads:[~2009-10-26 22:18 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-22 14:22 Mel Gorman
2009-10-22 14:22 ` [PATCH 1/5] page allocator: Always wake kswapd when restarting an allocation attempt after direct reclaim failed Mel Gorman
2009-10-22 14:24   ` [PATCH 1/5 Against 2.6.31.4] " Mel Gorman
2009-10-22 14:41   ` [PATCH 1/5] " Pekka Enberg
2009-10-22 15:49     ` Mel Gorman
2009-10-26  1:11   ` KOSAKI Motohiro
2009-10-26  7:10     ` David Rientjes
2009-10-27  2:42       ` KOSAKI Motohiro
2009-10-27 12:27         ` Mel Gorman
2009-10-22 14:22 ` [PATCH 2/5] page allocator: Do not allow interrupts to use ALLOC_HARDER Mel Gorman
2009-10-22 16:33   ` Stephan von Krawczynski
2009-10-22 16:37     ` Mel Gorman
2009-10-23  9:57       ` Stephan von Krawczynski
2009-10-24  2:03       ` Christoph Lameter
2009-10-27 15:19         ` Mel Gorman
2009-10-25 12:57       ` Stephan von Krawczynski
2009-10-26  1:15   ` KOSAKI Motohiro
2009-10-22 14:22 ` [PATCH 3/5] vmscan: Force kswapd to take notice faster when high-order watermarks are being hit Mel Gorman
2009-10-23 17:52   ` Vincent Li
2009-10-23 22:12     ` Vincent Li
2009-10-27 10:38     ` Mel Gorman
2009-10-27  2:42   ` KOSAKI Motohiro
2009-10-22 14:22 ` [PATCH 4/5] page allocator: Pre-emptively wake kswapd when high-order watermarks are hit Mel Gorman
2009-10-22 19:41   ` David Rientjes
2009-10-23  9:13     ` Mel Gorman
2009-10-23  9:36       ` David Rientjes
2009-10-23 11:25         ` Mel Gorman
2009-10-23 11:31           ` Tobias Oetiker
2009-10-23 13:39             ` Mel Gorman
2009-10-27  2:42   ` KOSAKI Motohiro
2009-10-27 15:26     ` Mel Gorman
2009-10-22 14:22 ` [PATCH 5/5] ONLY-APPLY-IF-STILL-FAILING Revert 373c0a7e, 8aa7e847: Fix congestion_wait() sync/async vs read/write confusion Mel Gorman
2009-10-22 14:25   ` Against 2.6.31.4 [PATCH 5/5] " Mel Gorman
2009-10-22 21:49   ` [PATCH 5/5] ONLY-APPLY-IF-STILL-FAILING " Jens Axboe
2009-10-27  2:42   ` KOSAKI Motohiro
2009-10-27 10:29     ` Frans Pop
2009-10-22 14:47 ` [PATCH 0/5] Candidate fix for increased number of GFP_ATOMIC failures V2 Pekka Enberg
2009-10-22 16:03   ` Mel Gorman
2009-10-24  1:52   ` Christoph Lameter
2009-10-24  6:48     ` Pekka Enberg
2009-10-24  6:48     ` Pekka Enberg
2009-10-22 15:43 ` reinette chatre
2009-10-27 10:40   ` Mel Gorman
2009-10-27 23:34     ` reinette chatre
2009-10-23  7:31 ` Sven Geggus
2009-10-23 16:58 ` Karol Lewandowski
2009-10-23 21:12   ` Karol Lewandowski
2009-10-24 13:46     ` Mel LKML
2009-10-28 11:42       ` Karol Lewandowski
2009-10-28 11:59         ` Mel Gorman
2009-10-30 14:23           ` Karol Lewandowski
2009-11-02 20:30             ` Mel Gorman
2009-11-04  2:03               ` Karol Lewandowski
2009-10-28 12:55         ` Tobi Oetiker
2009-10-24 13:51 ` Frans Pop
2009-10-24 14:02 ` Sven Geggus
2009-10-27 13:27   ` Mel Gorman
2009-10-26 17:37 ` Tobias Oetiker
2009-10-27 15:36   ` Mel Gorman
2009-10-26 22:17 ` Frans Pop [this message]
2009-10-26 23:45   ` Frans Pop
2009-11-06  6:03 ` Tobias Diedrich
2009-11-06  9:24   ` Mel Gorman
2009-11-06 11:15     ` Tobias Diedrich
2009-11-06  9:24   ` 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=200910262317.55960.elendil@planet.nl \
    --to=elendil@planet.nl \
    --cc=bzolnier@gmail.com \
    --cc=davem@davemloft.net \
    --cc=gregkh@suse.de \
    --cc=jens.axboe@oracle.com \
    --cc=jkosina@suse.cz \
    --cc=kalle.valo@iki.fi \
    --cc=karol.k.lewandowski@gmail.com \
    --cc=kernel-testers@vger.kernel.org \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linville@tuxdriver.com \
    --cc=lists@fuchsschwanzdomain.de \
    --cc=mel@csn.ul.ie \
    --cc=mohamed.abbas@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=penberg@cs.helsinki.fi \
    --cc=reinette.chatre@intel.com \
    --cc=rientjes@google.com \
    --cc=rjw@sisk.pl \
    --cc=skraw@ithnet.com \
    --cc=tobi@oetiker.ch \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox