<html><head></head><body><div>On Wed, 2024-02-14 at 13:07 -0500, Philip Cox wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div>BugLink: <a href="https://bugs.launchpad.net/bugs/2053152">https://bugs.launchpad.net/bugs/2053152</a><br></div><div><br></div><div>SRU Justification:<br></div><div><br></div><div>[Impact]<br></div><div>Having 'base_addr' in the same cache line as 'free_bytes', 'chunk_md', and<br></div><div>'base_addr' causes a performance impact on x86_64 systems which can be<br></div><div>observed while running UnixBench/Excel throughput.<br></div><div><br></div><div>[Fix]<br></div><div> In current pcpu_chunk layout, `base_addr' is in the same cache line with<br></div><div>`free_bytes' and `chunk_md', and `base_addr' is at the last 8 bytes.<br></div><div>This patch moves `bound_map' up to `base_addr', to let `base_addr' locate <br></div><div>in a new cacheline.<br></div><div><br></div><div>[Test Plan]<br></div><div>I have tested this patch, as has Intel. This patch has been upstreamed since 6.5 as well.<br></div><div><br></div><div>[Where problems could occur]<br></div><div>The risk for regression is minimal as there should be no logic change to the code, and just<br></div><div>a struct is being ordered differently. This change has been upstreamed for a while with no issues.<br></div><div><br></div><div>-- <br></div><div><br></div><div><br></div><div>Yu Ma (1):<br></div><div> percpu-internal/pcpu_chunk: re-layout pcpu_chunk structure to reduce<br></div><div> false sharing<br></div><div><br></div><div> mm/percpu-internal.h | 11 +++++++++--<br></div><div> 1 file changed, 9 insertions(+), 2 deletions(-)<br></div><div><br></div></blockquote><div><br></div><div><span></span></div></body></html>