From 0c22c21c636e40ae86c5f6afb5e9dda496bd935d Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 6 Jan 2013 14:53:22 +0000 Subject: [PATCH] ib_srpt: Document impact of interrupt assignment on fairness (merge r4447 from trunk) git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.2.x@4716 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- srpt/README | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/srpt/README b/srpt/README index fb970a2e4..feae4ad92 100644 --- a/srpt/README +++ b/srpt/README @@ -338,6 +338,15 @@ storage devices though (SSDs), DEVICE.threads_num should be set to 1 or 2 in /etc/scst.conf in order to reach optimal performance for small block sizes (e.g. 4 KB). +When multiple InfiniBand HCA's are present in a target system the Linux +kernel by default will assign the associated interrupt handlers to CPU 0. +Even irqbalance will often assign the interrupt handlers of multiple HCA's +to the same CPU. That is unfortunate because it leads to unfair handling of +SRP sessions. The solution is to assign InfiniBand HCA interrupts manually +to different CPU's. That's possible by writing looking up the InfiniBand +interrupt numbers in /proc/interrupts and by writing proper bitmasks into +/proc/irq//smp_affinity. + Performance Notes - Initiator Side ----------------------------------