All of lore.kernel.org
 help / color / mirror / Atom feed
From: Axel Rasmussen <axelrasmussen@google.com>
To: David Rientjes <rientjes@google.com>
Cc: kernel test robot <rong.a.chen@intel.com>,
	Kevin Ko <kevko@google.com>, David Hildenbrand <david@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Oscar Salvador <osalvador@suse.de>,
	Wei Yang <richard.weiyang@linux.alibaba.com>,
	Pankaj Gupta <pankaj.gupta.linux@gmail.com>,
	Michal Hocko <mhocko@suse.com>,
	Alexander Duyck <alexander.h.duyck@linux.intel.com>,
	Mel Gorman <mgorman@techsingularity.net>,
	Dave Hansen <dave.hansen@intel.com>,
	Mike Rapoport <rppt@kernel.org>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Matthew Wilcox <willy@infradead.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Michal Hocko <mhocko@kernel.org>,
	Scott Cheloha <cheloha@linux.ibm.com>,
	LKML <linux-kernel@vger.kernel.org>,
	lkp@lists.01.org, lkp@intel.com, ying.huang@intel.com,
	feng.tang@intel.com, zhengjun.xing@intel.com
Subject: Re: [mm/page_alloc] 7fef431be9: vm-scalability.throughput 87.8% improvement
Date: Fri, 23 Oct 2020 12:44:14 -0700	[thread overview]
Message-ID: <CAJHvVcicEcMw=0SL2cF1RR7-E_5RRfXa+PnChob7K7ujL4Y_6w@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.23.453.2010231226310.1686635@chino.kir.corp.google.com>

On Fri, Oct 23, 2020 at 12:29 PM David Rientjes <rientjes@google.com> wrote:
>
> On Wed, 21 Oct 2020, kernel test robot wrote:
>
> > Greeting,
> >
> > FYI, we noticed a 87.8% improvement of vm-scalability.throughput due to commit:
> >
> >
> > commit: 7fef431be9c9ac255838a9578331567b9dba4477 ("mm/page_alloc: place pages to tail in __free_pages_core()")
> > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
> >
> >
> > in testcase: vm-scalability
> > on test machine: 192 threads Intel(R) Xeon(R) Platinum 9242 CPU @ 2.30GHz with 192G memory
> > with following parameters:
> >
> >       runtime: 300s
> >       size: 512G
> >       test: anon-wx-rand-mt
> >       cpufreq_governor: performance
> >       ucode: 0x5002f01
> >
> > test-description: The motivation behind this suite is to exercise functions and regions of the mm/ of the Linux kernel which are of interest to us.
> > test-url: https://git.kernel.org/cgit/linux/kernel/git/wfg/vm-scalability.git/
> >
>
> I'm curious why we are not able to reproduce this improvement on Skylake
> and actually see a slight performance degradation, at least for
> 300s_128G_truncate_throughput.
>
> Axel Rasmussen <axelrasmussen@google.com> can provide more details on our
> results.

Right, our results show a slight regression on a Skylake machine [1],
and a slight performance increase on a Rome machine [2]. For these
tests, I used Linus' v5.9 tag as a baseline, and then applied this
patchset onto that tag as a test kernel (the patches applied cleanly
besides one comment, I didn't have to do any code fixups). This is
running the same anon-wx-rand-mt test defined in the upstream
lkp-tests job file:
https://github.com/intel/lkp-tests/blob/master/jobs/vm-scalability.yaml

I'm happy to provide any other information that might be useful, like
the kconfig I used, or some logs from the test itself.

[1]:

[*] KERNELS
----- BASE KERNEL (A) -----
Arch: x86_64
CommitId: bbf5c979011a099af5dc76498918ed7df445635b
Describe: v5.9

----- TEST KERNEL (B) -----
Arch: x86_64
CommitId: 0eed18403b89d685c736fd41d83312bc18d1fc74
Describe: v5.9-5-g0eed18403b89


[*] TAGS
              LABEL             |      VALUE
--------------------------------+-------------------
  kernel_version                | 5.9.0-smp-DEV
  kernel_version_major          | 5
  kernel_version_minor          | 9
  machine_architecture          | x86_64
  machine_config_memory         | 393216
  machine_config_num_cores      | 112
  machine_config_num_cpus       | 2
  machine_config_num_phys_cores | 56
  machine_platform_genus        | skylake
  test_name                     | vm-scalability



[*] METRICS
                 LABEL                 | COUNT |       MIN        |
   MAX       |       MEAN        |      MEDIAN      |        STDDEV
     | DIRECTION
---------------------------------------+-------+------------------+-----------------+-------------------+------------------+-----------------------+------------
  300s_128G_truncate_throughput        |       |                  |
             |                   |                  |
     |
  (A) bbf5c979011a                     | 5     | 3.7552221368e+10 |
3.881560468e+10 | 3.83416430016e+10 | 3.8676061688e+10 |
5.123384177998683e+08 |
  (B) 0eed18403b89                     | 5     | 3.20600355e+10   |
3.862106519e+10 | 3.6402760077e+10  | 3.7563289678e+10 |
2.334955983229862e+09 |
                                       |       | -14.63%          |
-0.50%          | -5.06%            | -2.88%           | +355.74%
        | + is good
  300s_512G_anon_wx_rand_mt_throughput |       |                  |
             |                   |                  |
     |
  (A) bbf5c979011a                     | 5     | 8.127738e+06     |
8.850316e+06    | 8.4767952e+06     | 8.49689e+06      |
238015.6101665603     |
  (B) 0eed18403b89                     | 5     | 7.997802e+06     |
8.650092e+06    | 8.3851078e+06     | 8.501602e+06     |
232913.70310602157    |
                                       |       | -1.60%           |
-2.26%          | -1.08%            | +0.06%           | -2.14%
        | + is good

[2]:

[*] KERNELS
----- BASE KERNEL (A) -----
Arch: x86_64
CommitId: bbf5c979011a099af5dc76498918ed7df445635b
Describe: v5.9

----- TEST KERNEL (B) -----
Arch: x86_64
CommitId: 0eed18403b89d685c736fd41d83312bc18d1fc74
Describe: v5.9-5-g0eed18403b89


[*] TAGS
              LABEL             |      VALUE
--------------------------------+-------------------
  kernel_version                | 5.9.0-smp-DEV
  kernel_version_major          | 5
  kernel_version_minor          | 9
  machine_architecture          | x86_64
  machine_config_memory         | 1048576
  machine_config_num_cores      | 256
  machine_config_num_cpus       | 2
  machine_config_num_phys_cores | 128
  machine_platform_genus        | rome
  test_name                     | vm-scalability



[*] METRICS
                 LABEL                 | COUNT |       MIN        |
   MAX        |       MEAN        |      MEDIAN      |         STDDEV
       | DIRECTION
---------------------------------------+-------+------------------+------------------+-------------------+------------------+------------------------+------------
  300s_128G_truncate_throughput        |       |                  |
              |                   |                  |
       |
  (A) bbf5c979011a                     | 5     | 3.4145093376e+10 |
3.7176031393e+10 | 3.55926734966e+10 | 3.5521843244e+10 |
1.0127887857614994e+09 |
  (B) 0eed18403b89                     | 5     | 3.4908582472e+10 |
3.6828513899e+10 | 3.56578033004e+10 | 3.5495102793e+10 |
6.518510126266636e+08  |
                                       |       | +2.24%           |
-0.93%           | +0.18%            | -0.08%           | -35.64%
          | + is good
  300s_512G_anon_wx_rand_mt_throughput |       |                  |
              |                   |                  |
       |
  (A) bbf5c979011a                     | 5     | 5.041427e+06     |
5.27816e+06      | 5.1413284e+06     | 5.128602e+06     |
93566.28579269352      |
  (B) 0eed18403b89                     | 5     | 5.323419e+06     |
5.513787e+06     | 5.451148e+06      | 5.457595e+06     |
68242.81926767099      |
                                       |       | +5.59%           |
+4.46%           | +6.03%            | +6.41%           | -27.06%
          | + is good

  reply	other threads:[~2020-10-23 19:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-21  9:24 [mm/page_alloc] 7fef431be9: vm-scalability.throughput 87.8% improvement kernel test robot
2020-10-23 19:29 ` David Rientjes
2020-10-23 19:44   ` Axel Rasmussen [this message]
2020-10-26  8:31     ` David Hildenbrand
2020-10-26 18:11       ` Axel Rasmussen
2020-10-26 19:09         ` David Hildenbrand
2020-10-23 19:46   ` David Hildenbrand

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='CAJHvVcicEcMw=0SL2cF1RR7-E_5RRfXa+PnChob7K7ujL4Y_6w@mail.gmail.com' \
    --to=axelrasmussen@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.h.duyck@linux.intel.com \
    --cc=cheloha@linux.ibm.com \
    --cc=dave.hansen@intel.com \
    --cc=david@redhat.com \
    --cc=feng.tang@intel.com \
    --cc=haiyangz@microsoft.com \
    --cc=kevko@google.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=lkp@lists.01.org \
    --cc=mgorman@techsingularity.net \
    --cc=mhocko@kernel.org \
    --cc=mhocko@suse.com \
    --cc=mpe@ellerman.id.au \
    --cc=osalvador@suse.de \
    --cc=pankaj.gupta.linux@gmail.com \
    --cc=richard.weiyang@linux.alibaba.com \
    --cc=rientjes@google.com \
    --cc=rong.a.chen@intel.com \
    --cc=rppt@kernel.org \
    --cc=sthemmin@microsoft.com \
    --cc=torvalds@linux-foundation.org \
    --cc=vbabka@suse.cz \
    --cc=wei.liu@kernel.org \
    --cc=willy@infradead.org \
    --cc=ying.huang@intel.com \
    --cc=zhengjun.xing@intel.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.