Re: [Alsa-user] new source of MIDI playback slow-down identified- 5a03b051ed87e72b959f32a86054e1142ac4cf55 thp: use compaction in kswapdfor GFP_ATOMIC order > 0

From: Arthur Marsh
Date: Wed Feb 23 2011 - 16:56:14 EST




Andrea Arcangeli wrote, on 24/02/11 07:55:
On Thu, Feb 24, 2011 at 06:37:58AM +1030, Arthur Marsh wrote:
kswapd-high_wmark + compaction-kswapd-2 - kswapd0 CPU up to 11 percent
and slightly less pronounced slowdowns of MIDI playback compared to
previous patches.

kswapd-high_wmark + compaction-no-kswapd-3 - kswapd0 CPU up to 2.3
percent and no noticable slowdown of MIDI playback.

Mel Gorman's mm/compaction.c patch - kswapd0 CPU up to 20 percent and no
noticable slowdown of MIDI playback.

Thanks everyone for the help with this.

Ok then I think it's safer to go with compaction-no-kswapd-3.

One more combination I tried:

Mel Gorman's mm/compaction.c patch with Andrea Archangeli's kswapd-high_wmark + compaction-no-kswapd-3 patches - kswapd0 CPU less than 2 percent and no noticable slowdown of MIDI playback.

This may be better performing than compaction-no-kswapd-3 alone but is not conclusive.


I also created a git tree in case anybody else wants to test in easier
way.

git clone --reference linux-2.6.git git://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git
(or "git clone git://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git")
cd aa
git checkout -f 3d74399aaece29047beba13a81650538af8db67a
(compaction-kswapd+compaction_alloc_lowlat)
git checkout -f f048d0082bd3c6a1cc3f5e67aa5ef83d1561ec27
(compaction-no-kswapd+rest+compaction_alloc_lowlat)
git checkout -f 859e705548f7377b1803b05b2904bae77495fd1e (only
compaction_alloc_lowlat)

http://git.kernel.org/?p=linux/kernel/git/andrea/aa.git;a=shortlog;h=3d74399aaece29047beba13a81650538af8db67a
http://git.kernel.org/?p=linux/kernel/git/andrea/aa.git;a=shortlog;h=f048d0082bd3c6a1cc3f5e67aa5ef83d1561ec27
http://git.kernel.org/?p=linux/kernel/git/andrea/aa.git;a=shortlog;h=859e705548f7377b1803b05b2904bae77495fd1e

Arthur could you give one more spin to the
3d74399aaece29047beba13a81650538af8db67a tree? (or do you prefer an
updated patch compaction-kswapd-3?)

If you can send me an updated patch compaction-no-kswapd-3 (I presume that kswapd-high_wmark is still needed) it would be easier for me to apply.


I'd like to get 3d74399aaece29047beba13a81650538af8db67a tested again
because I did one more modification included in the git version
compared to the patch version (nr_slab was not always initialized and
it could lead to slightly higher kswapd cpu load than intended). I
doubt it will help though (just in case).

Mel what you think? If f048d0082bd3c6a1cc3f5e67aa5ef83d1561ec27 is
still the only one that shows no regression, I think it's safe to
apply it to 2.6.38 and revert the compaction in kswapd feature. Then
we can add compaction to kswapd later with no hurry.

Thanks a lot for the help and quick feedback!
Andrea


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