[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3331790c-95a1-6ab9-2667-86aae3d28d7d@redhat.com>
Date: Thu, 2 Mar 2023 11:47:35 +0100
From: David Hildenbrand <david@...hat.com>
To: Marcelo Tosatti <mtosatti@...hat.com>,
Christoph Lameter <cl@...ux.com>
Cc: Aaron Tomlin <atomlin@...mlin.com>,
Frederic Weisbecker <frederic@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH v2 08/11] mm/vmstat: switch counter modification to
cmpxchg
On 09.02.23 16:01, Marcelo Tosatti wrote:
> In preparation to switch vmstat shepherd to flush
> per-CPU counters remotely, switch all functions that
> modify the counters to use cmpxchg.
>
> To test the performance difference, a page allocator microbenchmark:
> https://github.com/netoptimizer/prototype-kernel/blob/master/kernel/mm/bench/page_bench01.c
> with loops=1000000 was used, on Intel Core i7-11850H @ 2.50GHz.
>
> For the single_page_alloc_free test, which does
>
> /** Loop to measure **/
> for (i = 0; i < rec->loops; i++) {
> my_page = alloc_page(gfp_mask);
> if (unlikely(my_page == NULL))
> return 0;
> __free_page(my_page);
> }
>
> Unit is cycles.
>
> Vanilla Patched Diff
> 159 165 3.7%
>
> Signed-off-by: Marcelo Tosatti <mtosatti@...hat.com>
>
> Index: linux-vmstat-remote/mm/vmstat.c
> ===================================================================
> --- linux-vmstat-remote.orig/mm/vmstat.c
> +++ linux-vmstat-remote/mm/vmstat.c
> @@ -334,6 +334,188 @@ void set_pgdat_percpu_threshold(pg_data_
> }
> }
I wonder why we get a diff that is rather hard to review because it
removes all existing codes and replaces it by almost-identical code. Are
you maybe moving a bunch of code while modifying some tiny bits at the
same time?
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists