Re: [PATCH v2 2/2] mm/pageblock: remove false sharing in pageblock_flags
From: Alex Shi <hidden>
Date: 2020-08-19 08:37:56
Also in:
lkml
在 2020/8/19 下午4:13, David Hildenbrand 写道:
On 19.08.20 10:09, Alex Shi wrote:quoted
在 2020/8/19 下午3:57, Anshuman Khandual 写道:quoted
On 08/19/2020 11:17 AM, Alex Shi wrote:quoted
Current pageblock_flags is only 4 bits, so it has to share a char size in cmpxchg when get set, the false sharing cause perf drop. If we incrase the bits up to 8, false sharing would gone in cmpxchg. and the only cost is half char per pageblock, which is half char per 128MB on x86, 4 chars in 1 GB.Agreed that increase in memory utilization is negligible here but does this really improve performance ?It's no doubt in theory. and it would had a bad impact according to commit e380bebe4771548 mm, compaction: keep migration source private to a single
The above commit is a good disproof, the false sharing caused performance issue, and need using a lock protect cmpxchg, the instruction was designed for lockless using. The false sharing, it was a trouble, and would trouble again sometime. Thanks Alex
quoted
but I do have some problem in running thpscale/mmtest. I'd like to see if anyone could give a try. BTW, I naturally hate the false sharing even it's in theory. Anyone who doesn't? :)I hate wasting memory, even if it's just a little bit, anyone who doesn't? ;)