Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Jeff Moyer <jmoyer <at> redhat.com>
Subject: [patch 00/10] make I/O path allocations more numa-friendly
Newsgroups: gmane.linux.kernel
Date: Tuesday 30th October 2012 20:14:32 UTC (over 4 years ago)
Hi,

This patch set makes memory allocations for data structures used in
the I/O path more numa friendly by allocating them from the same numa
node as the storage device.  I've only converted a handfull of drivers
at this point.  My testing showed that, for workloads where the I/O
processes were not tied to the numa node housing the device, a speedup
of around 6% was observed.  When the I/O processes were tied to the
numa node of the device, there was no measurable difference in my test
setup.  Given my relatively low-end setup[1], I wouldn't be surprised
if others could show a more significant performance advantage.

Comments would be greatly appreciated.

Cheers,
Jeff

[1] LSI Megaraid SAS controller with 1GB battery-backed cache,
fronting a RAID 6 10+2.  The workload I used was tuned to not
have to hit disk.  Fio file attached.

Jeff Moyer (10):
  scsi: make __scsi_alloc_queue numa-aware
  scsi: make scsi_alloc_sdev numa-aware
  scsi: allocate scsi_cmnd-s from the device's local numa node
  sd: use alloc_disk_node
  vfs: pass data to alloc_inode super operation
  ata: use scsi_host_alloc_node
  megaraid_sas: use scsi_host_alloc_node
  mpt2sas: use scsi_host_alloc_node
  lpfc: use scsi_host_alloc_node
  cciss: use blk_init_queue_node

 drivers/ata/libata-scsi.c                 |    3 ++-
 drivers/block/cciss.c                     |    3 ++-
 drivers/scsi/lpfc/lpfc_init.c             |   10 ++++++----
 drivers/scsi/megaraid/megaraid_sas_base.c |    5 +++--
 drivers/scsi/mpt2sas/mpt2sas_scsih.c      |    4 ++--
 drivers/scsi/scsi.c                       |   17 +++++++++++------
 drivers/scsi/scsi_lib.c                   |    2 +-
 drivers/scsi/scsi_scan.c                  |    4 ++--
 drivers/scsi/sd.c                         |    2 +-
 fs/afs/super.c                            |    5 +++--
 fs/block_dev.c                            |   17 +++++++++++++++--
 fs/btrfs/ctree.h                          |    2 +-
 fs/btrfs/inode.c                          |    3 ++-
 fs/cifs/cifsfs.c                          |    2 +-
 fs/inode.c                                |   10 +++++-----
 fs/ocfs2/dlmfs/dlmfs.c                    |    3 ++-
 fs/ocfs2/super.c                          |    5 +++--
 include/linux/fs.h                        |    2 +-
 18 files changed, 63 insertions(+), 36 deletions(-)
 
CD: 4ms