lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1351628084-29358-3-git-send-email-jmoyer@redhat.com>
Date:	Tue, 30 Oct 2012 16:14:34 -0400
From:	Jeff Moyer <jmoyer@...hat.com>
To:	linux-kernel@...r.kernel.org
Subject: [patch 00/10] make I/O path allocations more numa-friendly

Hi,

This patch set makes memory allocations for data structures used
in the I/O path more numa friendly by allocating from the same
numa node on which the device resides.  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 different in my test setup.  Given my relatively
low-end setup[1], I wouldn't be surprised if others could show a more
significant performance gap.

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(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ