linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: linux-pm@vger.kernel.org
Subject: [Bug 211305] New: schedutil selects low P-States on AMD EPYC with frequency invariance
Date: Thu, 21 Jan 2021 00:55:45 +0000	[thread overview]
Message-ID: <bug-211305-137361@https.bugzilla.kernel.org/> (raw)

https://bugzilla.kernel.org/show_bug.cgi?id=211305

            Bug ID: 211305
           Summary: schedutil selects low P-States on AMD EPYC with
                    frequency invariance
           Product: Power Management
           Version: 2.5
    Kernel Version: v5.11-rc1
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: cpufreq
          Assignee: linux-pm@vger.kernel.org
          Reporter: ggherdovich@suse.cz
        Regression: No

Phoronix.com discovered a severe performance regression on AMD APYC
introduced on schedutil [see link 1] by the following commits from v5.11-rc1

    commit 41ea667227ba ("x86, sched: Calculate frequency invariance for AMD
systems")
    commit 976df7e5730e ("x86, sched: Use midpoint of max_boost and max_P for
frequency invariance on AMD EPYC")

The problem happens on CPU-bound workloads spanning a large number of cores.
In this case schedutil won't select the maximum P-State. Actually, it's
likely that it will select the minimum one.

[link 1]
https://www.phoronix.com/scan.php?page=article&item=linux511-amd-schedutil&num=1

TEST        : Intel Open Image Denoise, www.openimagedenoise.org
INVOCATION  : ./denoise -hdr memorial.pfm -out out.pfm -bench 200 -threads
$NTHREADS
CPU         : MODEL            : 2x AMD EPYC 7742
              FREQUENCY TABLE  : P2: 1.50 GHz
                                 P1: 2.00 GHz
                                 P0: 2.25 GHz
              MAX BOOST        :     3.40 GHz

Results: threads, msecs (ratio). Lower is better.

               v5.10          v5.11-rc4    v5.11-rc4-patch
    -------------------------------------------------------
      1   1069.85 (1.00)   1071.84 (1.00)   1070.42 (1.00)
      2    542.24 (1.00)    544.40 (1.00)    544.48 (1.00)
      4    278.00 (1.00)    278.44 (1.00)    277.72 (1.00)
      8    149.81 (1.00)    149.61 (1.00)    149.87 (1.00)
     16     79.01 (1.00)     79.31 (1.00)     78.94 (1.00)
     24     58.01 (1.00)     58.51 (1.01)     58.15 (1.00)
     32     46.58 (1.00)     48.30 (1.04)     46.66 (1.00)
     48     37.29 (1.00)     51.29 (1.38)     37.27 (1.00)
     64     34.01 (1.00)     49.59 (1.46)     33.71 (0.99)
     80     31.09 (1.00)     44.27 (1.42)     31.33 (1.01)
     96     28.56 (1.00)     40.82 (1.43)     28.47 (1.00)
    112     28.09 (1.00)     40.06 (1.43)     28.63 (1.02)
    120     28.73 (1.00)     39.78 (1.38)     28.14 (0.98)
    128     28.93 (1.00)     39.60 (1.37)     29.38 (1.02)

See how the 128 threads case is almost 40% worse than baseline in v5.11-rc4.
The column v5.11-rc4-patch corresponds to a patch I've just sent to LKML to
address this problem.

I'm opening this bugzilla entry to attach a few plots made during the study
of this problem, for lack of a better place to share them.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are the assignee for the bug.

             reply	other threads:[~2021-01-21  3:43 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-21  0:55 bugzilla-daemon [this message]
2021-01-21  0:57 ` [Bug 211305] schedutil selects low P-States on AMD EPYC with frequency invariance bugzilla-daemon
2021-01-21  0:59 ` bugzilla-daemon
2021-01-21  1:00 ` bugzilla-daemon
2021-01-21  1:03 ` bugzilla-daemon
2021-01-27 21:18 ` bugzilla-daemon
2021-02-12 17:28 ` bugzilla-daemon
2021-02-12 18:19   ` Rafael J. Wysocki
2021-02-12 18:19 ` bugzilla-daemon
2021-02-12 19:12 ` bugzilla-daemon
2021-02-12 20:39 ` bugzilla-daemon
2021-02-12 21:15 ` bugzilla-daemon
2021-02-12 22:00 ` bugzilla-daemon
2021-02-15 13:52 ` bugzilla-daemon
2021-02-15 13:54 ` bugzilla-daemon
2021-02-15 13:55 ` bugzilla-daemon
2021-02-15 14:04 ` bugzilla-daemon
2021-02-15 14:43 ` bugzilla-daemon
2021-02-15 14:47 ` bugzilla-daemon
2021-02-15 15:09 ` bugzilla-daemon
2021-02-15 15:30 ` bugzilla-daemon

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=bug-211305-137361@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-pm@vger.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).