qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: Richard Davies <richard@arachsys.com>
Cc: kvm@vger.kernel.org, qemu-devel@nongnu.org, linux-mm@kvack.org,
	Mel Gorman <mgorman@suse.de>, Shaohua Li <shli@kernel.org>,
	Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH -v2 2/2] make the compaction "skip ahead" logic robust
Date: Mon, 17 Sep 2012 09:50:08 -0400	[thread overview]
Message-ID: <50572A90.1030109@redhat.com> (raw)
In-Reply-To: <20120915155524.GA24182@alpha.arachsys.com>

On 09/15/2012 11:55 AM, Richard Davies wrote:
> Hi Rik, Mel and Shaohua,
>
> Thank you for your latest patches. I attach my latest perf report for a slow
> boot with all of these applied.
>
> Mel asked for timings of the slow boots. It's very hard to give anything
> useful here! A normal boot would be a minute or so, and many are like that,
> but the slowest that I have seen (on 3.5.x) was several hours. Basically, I
> just test many times until I get one which is noticeably slow than normal
> and then run perf record on that one.
>
> The latest perf report for a slow boot is below. For the fast boots, most of
> the time is in clean_page_c in do_huge_pmd_anonymous_page, but for this slow
> one there is a lot of lock contention above that.

How often do you run into slow boots, vs. fast ones?

> # Overhead          Command         Shared Object                                          Symbol
> # ........  ...............  ....................  ..............................................
> #
>      58.49%         qemu-kvm  [kernel.kallsyms]     [k] _raw_spin_lock_irqsave
>                     |
>                     --- _raw_spin_lock_irqsave
>                        |
>                        |--95.07%-- compact_checklock_irqsave
>                        |          |
>                        |          |--70.03%-- isolate_migratepages_range
>                        |          |          compact_zone
>                        |          |          compact_zone_order
>                        |          |          try_to_compact_pages
>                        |          |          __alloc_pages_direct_compact
>                        |          |          __alloc_pages_nodemask

Looks like it moved from isolate_freepages_block in your last
trace, to isolate_migratepages_range?

Mel, I wonder if we have any quadratic complexity problems
in this part of the code, too?

The isolate_freepages_block CPU use can be fixed by simply
restarting where the last invocation left off, instead of
always starting at the end of the zone.  Could we need
something similar for isolate_migratepages_range?

After all, Richard has a 128GB system, and runs 108GB worth
of KVM guests on it...

-- 
All rights reversed

  parent reply	other threads:[~2012-09-17 13:50 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-16 10:47 [Qemu-devel] Windows slow boot: contractor wanted Richard Davies
2012-08-16 11:39 ` Avi Kivity
2012-08-17 12:36   ` Richard Davies
2012-08-17 13:02     ` Robert Vineyard
2012-08-18 14:44       ` Richard Davies
2012-08-19  5:02     ` Brian Jackson
2012-08-20  8:16       ` Richard Davies
2012-08-19  8:40     ` Avi Kivity
2012-08-19  8:51       ` Richard Davies
2012-08-19 14:04     ` Avi Kivity
2012-08-20 13:56       ` Richard Davies
2012-08-21  9:00         ` Avi Kivity
2012-08-21 15:21           ` Richard Davies
2012-08-21 15:39             ` Troy Benjegerdes
2012-08-22  9:08             ` Avi Kivity
2012-08-22 12:40               ` Richard Davies
2012-08-22 12:44                 ` Avi Kivity
2012-08-22 14:41                   ` Richard Davies
2012-08-22 14:53                     ` Avi Kivity
2012-08-22 15:26                       ` Richard Davies
2012-08-22 17:22                       ` Troy Benjegerdes
2012-08-25 17:51                         ` Richard Davies
2012-08-22 15:21                     ` Rik van Riel
2012-08-22 15:34                       ` Richard Davies
2012-08-25 17:45                       ` Richard Davies
2012-08-25 18:11                         ` Rik van Riel
2012-08-26 10:58                           ` Richard Davies
2012-09-06  9:20                             ` Richard Davies
2012-09-12 10:56                               ` [Qemu-devel] Windows VM slow boot Richard Davies
2012-09-12 12:25                                 ` Mel Gorman
2012-09-12 16:46                                   ` Richard Davies
2012-09-13  9:50                                     ` Mel Gorman
2012-09-13 19:47                                     ` [Qemu-devel] [PATCH 1/2] Revert "mm: have order > 0 compaction start near a pageblock with free pages" Rik van Riel
2012-09-13 19:48                                     ` [Qemu-devel] [PATCH 2/2] make the compaction "skip ahead" logic robust Rik van Riel
2012-09-13 19:54                                       ` [Qemu-devel] [PATCH -v2 " Rik van Riel
2012-09-15 15:55                                         ` Richard Davies
2012-09-16 19:12                                           ` Richard Davies
2012-09-17 12:26                                           ` Mel Gorman
2012-09-18  8:14                                             ` Richard Davies
2012-09-18 11:21                                               ` Mel Gorman
2012-09-18 17:58                                                 ` Richard Davies
2012-09-17 13:50                                           ` Rik van Riel [this message]
2012-09-17 14:07                                             ` Mel Gorman
2012-08-16 14:10 ` [Qemu-devel] Windows slow boot: contractor wanted Benoît Canet
2012-08-16 15:53 ` Troy Benjegerdes
2012-09-18 15:12 ` [Qemu-devel] Windows slow boot Michael Tokarev

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=50572A90.1030109@redhat.com \
    --to=riel@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=qemu-devel@nongnu.org \
    --cc=richard@arachsys.com \
    --cc=shli@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).