[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1652181274-136198-1-git-send-email-john.garry@huawei.com>
Date: Tue, 10 May 2022 19:14:32 +0800
From: John Garry <john.garry@...wei.com>
To: <axboe@...nel.dk>, <linux-block@...r.kernel.org>
CC: <linux-kernel@...r.kernel.org>, <linux-scsi@...r.kernel.org>,
John Garry <john.garry@...wei.com>
Subject: [RFC PATCH 0/2] sbitmap: NUMA node spreading
Hi Jens, guys,
I am sending this as an RFC to see if there is any future in it or ideas
on how to make better. I also need to improve some items (as mentioned in
2/2 commit message) and test a lot more.
The general idea is that we change from allocating a single array of
sbitmap words to allocating an sub-array per NUMA node. And then each CPU
in that node is hinted to use that sub-array
Initial performance looks decent.
Some figures:
System: 4-nodes (with memory on all nodes), 128 CPUs
null blk config block:
20 devs, submit_queues=NR_CPUS, shared_tags, shared_tag_bitmap,
hw_queue_depth=256
fio config:
bs=4096, iodepth=128, numjobs=10, cpus_allowed_policy=split, rw=read,
ioscheduler=none
Before:
7130K
After:
7630K
So a +7% IOPS gain.
Any comments welcome, thanks!.
Based on v5.18-rc6.
John Garry (2):
sbitmap: Make sbitmap.map a double pointer
sbitmap: Spread sbitmap word allocation over NUMA nodes
include/linux/sbitmap.h | 16 +++++---
lib/sbitmap.c | 83 +++++++++++++++++++++++++++++++++--------
2 files changed, 79 insertions(+), 20 deletions(-)
--
2.26.2
Powered by blists - more mailing lists