Re: [PATCH v2] ext4: use percpu_counters for extent_status cache hits/misses

From: Theodore Y. Ts'o
Date: Wed Aug 28 2019 - 11:20:46 EST


On Wed, Aug 28, 2019 at 05:19:17PM +0800, Shaokun Zhang wrote:
> From: Yang Guo <guoyang2@xxxxxxxxxx>
>
> @es_stats_cache_hits and @es_stats_cache_misses are accessed frequently in
> ext4_es_lookup_extent function, it would influence the ext4 read/write
> performance in NUMA system. Let's optimize it using percpu_counter,
> it is profitable for the performance.
>
> The test command is as below:
> fio -name=randwrite -numjobs=8 -filename=/mnt/test1 -rw=randwrite
> -ioengine=libaio -direct=1 -iodepth=64 -sync=0 -norandommap
> -group_reporting -runtime=120 -time_based -bs=4k -size=5G
>
> And the result is better 10% than the initial implement:
> without the patchïIOPS=197k, BW=770MiB/s (808MB/s)(90.3GiB/120002msec)
> with the patch, IOPS=218k, BW=852MiB/s (894MB/s)(99.9GiB/120002msec)
>
> Cc: "Theodore Ts'o" <tytso@xxxxxxx>
> Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx>
> Cc: Eric Biggers <ebiggers@xxxxxxxxxx>
> Signed-off-by: Yang Guo <guoyang2@xxxxxxxxxx>
> Signed-off-by: Shaokun Zhang <zhangshaokun@xxxxxxxxxxxxx>

Thanks, applied.

- Ted