Thread (17 messages) 17 messages, 6 authors, 2020-09-03

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? ;)
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help