[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2c599f1f-f63b-4504-a026-46bf73954124@redhat.com>
Date: Tue, 28 Jan 2025 12:39:51 +0100
From: David Hildenbrand <david@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: kernel test robot <oliver.sang@...el.com>,
Qi Zheng <zhengqi.arch@...edance.com>, oe-lkp@...ts.linux.dev,
lkp@...el.com, linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Dave Hansen <dave.hansen@...ux.intel.com>, Andy Lutomirski
<luto@...nel.org>, Catalin Marinas <catalin.marinas@....com>,
David Rientjes <rientjes@...gle.com>, Hugh Dickins <hughd@...gle.com>,
Jann Horn <jannh@...gle.com>, Lorenzo Stoakes <lorenzo.stoakes@...cle.com>,
Matthew Wilcox <willy@...radead.org>, Mel Gorman <mgorman@...e.de>,
Muchun Song <muchun.song@...ux.dev>, Peter Xu <peterx@...hat.com>,
Will Deacon <will@...nel.org>, Zach O'Keefe <zokeefe@...gle.com>,
Dan Carpenter <dan.carpenter@...aro.org>, Rik van Riel <riel@...riel.com>
Subject: Re: [linus:master] [x86] 4817f70c25: stress-ng.mmapaddr.ops_per_sec
63.0% regression
On 28.01.25 12:31, Peter Zijlstra wrote:
> On Tue, Jan 28, 2025 at 11:05:17AM +0100, David Hildenbrand wrote:
>> On 28.01.25 10:57, kernel test robot wrote:
>>>
>>> hi, Qi Zheng,
>>>
>>> this is more a FYI report than a regression report.
>>>
>>> by 4817f70c25, parent/4817f70c25 configs have below diff,
>>>
>>> --- /pkg/linux/x86_64-rhel-9.4/gcc-12/718b13861d2256ac95d65b892953282a63faf240/.config 2025-01-27 16:20:43.419181382 +0800
>>> +++ /pkg/linux/x86_64-rhel-9.4/gcc-12/4817f70c25b63ee5e6fd42d376700c058ae16a96/.config 2025-01-26 09:27:16.848625105 +0800
>>> @@ -1236,6 +1236,8 @@ CONFIG_IOMMU_MM_DATA=y
>>> CONFIG_EXECMEM=y
>>> CONFIG_NUMA_MEMBLKS=y
>>> CONFIG_NUMA_EMU=y
>>> +CONFIG_ARCH_SUPPORTS_PT_RECLAIM=y
>>> +CONFIG_PT_RECLAIM=y
>>>
>>> #
>>> # Data Access Monitoring
>>>
>>>
>>> this report seems show the impact of PT_CLAIM feature for this stress-ng case.
>>>
>>> To us, this is not a code logic regression, but is kind of 'regression' from a
>>> new feature. anyway, below full report just FYI.
>>
>> mmapaddr test case seems to mostly do mmap+munmap. No obvious sign of
>> MADV_DONTNEED, unless buried somewhere :)
>>
>> So either
>>
>> (1) The series is reclaiming page tables outside of MADV_DONTNEED, which
>> it shouldn't -- in particular not during munmap() where that happens
>> already using the "ordinary" page table removal code for removed
>> VMAs.
>>
>> (2) This is the effect of MMU_GATHER_RCU_TABLE_FREE that gets selected?
>>
>>
>> I recall a recent series to select MMU_GATHER_RCU_TABLE_FREE on x86
>> unconditionally (@Peter, @Rik).
>
> Those changes should not have made it to Linus yet.
>
> /me updates git and checks...
>
> nope, nothing changed there ... yet
Sorry, I wasn't quite clear. CONFIG_PT_RECLAIM made it upstream, which
has "select MMU_GATHER_RCU_TABLE_FREE" in kconfig.
So I'm wondering if the degradation we see in this report is due to
MMU_GATHER_RCU_TABLE_FREE being selected by CONFIG_PT_RECLAIM, and we'd
get the same result (degradation) when unconditionally enabling
MMU_GATHER_RCU_TABLE_FREE.
--
Cheers,
David / dhildenb
Powered by blists - more mailing lists