From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932677AbcFQT04 (ORCPT ); Fri, 17 Jun 2016 15:26:56 -0400 Received: from mga03.intel.com ([134.134.136.65]:33233 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751134AbcFQT0y (ORCPT ); Fri, 17 Jun 2016 15:26:54 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,484,1459839600"; d="scan'208";a="124142888" From: "Huang\, Ying" To: Minchan Kim Cc: "Huang\, Ying" , "Kirill A. Shutemov" , "Kirill A. Shutemov" , Rik van Riel , "Michal Hocko" , LKML , Linus Torvalds , Michal Hocko , "Vinayak Menon" , Mel Gorman , Andrew Morton , Subject: Re: [LKP] [lkp] [mm] 5c0a85fad9: unixbench.score -6.3% regression References: <20160606022724.GA26227@yexl-desktop> <20160606095136.GA79951@black.fi.intel.com> <87a8iw5enf.fsf@yhuang-dev.intel.com> <8760tk5aym.fsf@yhuang-dev.intel.com> <20160608085811.GB12655@black.fi.intel.com> <20160614085728.GA2430@bbox> <20160614143417.GC3571@node.shutemov.name> <877fdqxb5x.fsf@yhuang-dev.intel.com> <20160616001323.GL17127@bbox> <87a8ikkbvj.fsf@yhuang-mobile.sh.intel.com> <20160617054156.GB2374@bbox> Date: Fri, 17 Jun 2016 12:26:51 -0700 In-Reply-To: <20160617054156.GB2374@bbox> (Minchan Kim's message of "Fri, 17 Jun 2016 14:41:56 +0900") Message-ID: <87y463hb0k.fsf@yhuang-mobile.sh.intel.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Minchan Kim writes: > On Thu, Jun 16, 2016 at 03:27:44PM -0700, Huang, Ying wrote: >> Minchan Kim writes: >> >> > On Thu, Jun 16, 2016 at 07:52:26AM +0800, Huang, Ying wrote: >> >> "Kirill A. Shutemov" 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" writes: >> >> >> > > >> >> >> > > > "Kirill A. Shutemov" 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: