From: "Huang\, Ying" <ying.huang@intel.com>
To: Minchan Kim <minchan@kernel.org>
Cc: "Huang\, Ying" <ying.huang@intel.com>,
"Kirill A. Shutemov" <kirill@shutemov.name>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Rik van Riel <riel@redhat.com>, "Michal Hocko" <mhocko@suse.com>,
LKML <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Michal Hocko <mhocko@kernel.org>,
"Vinayak Menon" <vinmenon@codeaurora.org>,
Mel Gorman <mgorman@suse.de>,
Andrew Morton <akpm@linux-foundation.org>, <lkp@01.org>
Subject: Re: [LKP] [lkp] [mm] 5c0a85fad9: unixbench.score -6.3% regression
Date: Thu, 16 Jun 2016 15:27:44 -0700 [thread overview]
Message-ID: <87a8ikkbvj.fsf@yhuang-mobile.sh.intel.com> (raw)
In-Reply-To: <20160616001323.GL17127@bbox> (Minchan Kim's message of "Thu, 16 Jun 2016 09:13:23 +0900")
[-- Attachment #1: Type: text/plain, Size: 5440 bytes --]
Minchan Kim <minchan@kernel.org> writes:
> On Thu, Jun 16, 2016 at 07:52:26AM +0800, Huang, Ying wrote:
>> "Kirill A. Shutemov" <kirill@shutemov.name> writes:
>>
>> > On Tue, Jun 14, 2016 at 05:57:28PM +0900, Minchan Kim wrote:
>> >> On Wed, Jun 08, 2016 at 11:58:11AM +0300, Kirill A. Shutemov wrote:
>> >> > On Wed, Jun 08, 2016 at 04:41:37PM +0800, Huang, Ying wrote:
>> >> > > "Huang, Ying" <ying.huang@intel.com> writes:
>> >> > >
>> >> > > > "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> writes:
>> >> > > >
>> >> > > >> On Mon, Jun 06, 2016 at 10:27:24AM +0800, kernel test robot wrote:
>> >> > > >>>
>> >> > > >>> FYI, we noticed a -6.3% regression of unixbench.score due to commit:
>> >> > > >>>
>> >> > > >>> commit 5c0a85fad949212b3e059692deecdeed74ae7ec7 ("mm: make faultaround produce old ptes")
>> >> > > >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> >> > > >>>
>> >> > > >>> in testcase: unixbench
>> >> > > >>> on test machine: lituya: 16 threads Haswell High-end Desktop (i7-5960X 3.0G) with 16G memory
>> >> > > >>> with following parameters: cpufreq_governor=performance/nr_task=1/test=shell8
>> >> > > >>>
>> >> > > >>>
>> >> > > >>> Details are as below:
>> >> > > >>> -------------------------------------------------------------------------------------------------->
>> >> > > >>>
>> >> > > >>>
>> >> > > >>> =========================================================================================
>> >> > > >>> compiler/cpufreq_governor/kconfig/nr_task/rootfs/tbox_group/test/testcase:
>> >> > > >>> gcc-4.9/performance/x86_64-rhel/1/debian-x86_64-2015-02-07.cgz/lituya/shell8/unixbench
>> >> > > >>>
>> >> > > >>> commit:
>> >> > > >>> 4b50bcc7eda4d3cc9e3f2a0aa60e590fedf728c5
>> >> > > >>> 5c0a85fad949212b3e059692deecdeed74ae7ec7
>> >> > > >>>
>> >> > > >>> 4b50bcc7eda4d3cc 5c0a85fad949212b3e059692de
>> >> > > >>> ---------------- --------------------------
>> >> > > >>> fail:runs %reproduction fail:runs
>> >> > > >>> | | |
>> >> > > >>> 3:4 -75% :4 kmsg.DHCP/BOOTP:Reply_not_for_us,op[#]xid[#]
>> >> > > >>> %stddev %change %stddev
>> >> > > >>> \ | \
>> >> > > >>> 14321 . 0% -6.3% 13425 . 0% unixbench.score
>> >> > > >>> 1996897 . 0% -6.1% 1874635 . 0% unixbench.time.involuntary_context_switches
>> >> > > >>> 1.721e+08 . 0% -6.2% 1.613e+08 . 0% unixbench.time.minor_page_faults
>> >> > > >>> 758.65 . 0% -3.0% 735.86 . 0% unixbench.time.system_time
>> >> > > >>> 387.66 . 0% +5.4% 408.49 . 0% unixbench.time.user_time
>> >> > > >>> 5950278 . 0% -6.2% 5583456 . 0% unixbench.time.voluntary_context_switches
>> >> > > >>
>> >> > > >> That's weird.
>> >> > > >>
>> >> > > >> I don't understand why the change would reduce number or minor faults.
>> >> > > >> It should stay the same on x86-64. Rise of user_time is puzzling too.
>> >> > > >
>> >> > > > unixbench runs in fixed time mode. That is, the total time to run
>> >> > > > unixbench is fixed, but the work done varies. So the minor_page_faults
>> >> > > > change may reflect only the work done.
>> >> > > >
>> >> > > >> Hm. Is reproducible? Across reboot?
>> >> > > >
>> >> > >
>> >> > > And FYI, there is no swap setup for test, all root file system including
>> >> > > benchmark files are in tmpfs, so no real page reclaim will be
>> >> > > triggered. But it appears that active file cache reduced after the
>> >> > > commit.
>> >> > >
>> >> > > 111331 . 1% -13.3% 96503 . 0% meminfo.Active
>> >> > > 27603 . 1% -43.9% 15486 . 0% meminfo.Active(file)
>> >> > >
>> >> > > I think this is the expected behavior of the commit?
>> >> >
>> >> > Yes, it's expected.
>> >> >
>> >> > After the change faularound would produce old pte. It means there's more
>> >> > chance for these pages to be on inactive lru, unless somebody actually
>> >> > touch them and flip accessed bit.
>> >>
>> >> Hmm, tmpfs pages should be in anonymous LRU list and VM shouldn't scan
>> >> anonymous LRU list on swapless system so I really wonder why active file
>> >> LRU is shrunk.
>> >
>> > Hm. Good point. I don't why we have anything on file lru if there's no
>> > filesystems except tmpfs.
>> >
>> > Ying, how do you get stuff to the tmpfs?
>>
>> We put root file system and benchmark into a set of compressed cpio
>> archive, then concatenate them into one initrd, and finally kernel use
>> that initrd as initramfs.
>
> I see.
>
> Could you share your 4 full vmstat(/proc/vmstat) files?
>
> old:
>
> cat /proc/vmstat > before.old.vmstat
> do benchmark
> cat /proc/vmstat > after.old.vmstat
>
> new:
>
> cat /proc/vmstat > before.new.vmstat
> do benchmark
> cat /proc/vmstat > after.new.vmstat
>
> IOW, I want to see stats related to reclaim.
Hi,
The /proc/vmstat for the parent commit (parent-proc-vmstat.gz) and first
bad commit (fbc-proc-vmstat.gz) are attached with the email.
The contents of the file is more than the vmstat before and after
benchmark running, but are sampled every 1 seconds. Every sample begin
with "time: <time>". You can check the first and last samples. The
first /proc/vmstat capturing is started at the same time of the
benchmark, so it is not exactly the vmstat before the benchmark running.
[-- Attachment #2: parent-proc-vmstat.gz --]
[-- Type: application/gzip, Size: 78486 bytes --]
[-- Attachment #3: fbc-proc-vmstat.gz --]
[-- Type: application/gzip, Size: 77915 bytes --]
[-- Attachment #4: Type: text/plain, Size: 27 bytes --]
Best Regards,
Huang, Ying
next prev parent reply other threads:[~2016-06-16 22:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-06 2:27 [lkp] [mm] 5c0a85fad9: unixbench.score -6.3% regression kernel test robot
2016-06-06 9:51 ` Kirill A. Shutemov
2016-06-08 7:21 ` [LKP] " Huang, Ying
2016-06-08 8:41 ` Huang, Ying
2016-06-08 8:58 ` Kirill A. Shutemov
2016-06-12 0:49 ` Huang, Ying
2016-06-12 1:02 ` Linus Torvalds
2016-06-13 9:02 ` Huang, Ying
2016-06-14 13:38 ` Minchan Kim
2016-06-15 23:42 ` Huang, Ying
2016-06-13 12:52 ` Kirill A. Shutemov
2016-06-14 6:11 ` Linus Torvalds
2016-06-14 8:26 ` Kirill A. Shutemov
2016-06-14 16:07 ` Rik van Riel
2016-06-14 14:03 ` Christian Borntraeger
2016-06-14 8:57 ` Minchan Kim
2016-06-14 14:34 ` Kirill A. Shutemov
2016-06-15 23:52 ` Huang, Ying
2016-06-16 0:13 ` Minchan Kim
2016-06-16 22:27 ` Huang, Ying [this message]
2016-06-17 5:41 ` Minchan Kim
2016-06-17 19:26 ` Huang, Ying
2016-06-20 0:06 ` Minchan Kim
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=87a8ikkbvj.fsf@yhuang-mobile.sh.intel.com \
--to=ying.huang@intel.com \
--cc=akpm@linux-foundation.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=kirill@shutemov.name \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@01.org \
--cc=mgorman@suse.de \
--cc=mhocko@kernel.org \
--cc=mhocko@suse.com \
--cc=minchan@kernel.org \
--cc=riel@redhat.com \
--cc=torvalds@linux-foundation.org \
--cc=vinmenon@codeaurora.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).