[ofa-general] SRP/mlx4 interrupts throttling performance
Vladislav Bolkhovitin
vst at vlnb.net
Mon Jan 12 11:24:15 PST 2009
Cameron Harr, on 01/09/2009 02:10 AM wrote:
> Vlad,
> I've been working on this and can't for the life of me get the cpu
> affinity working. I've modified the C file a little that you linked to
> (it's pretty old), but I'm now getting a segfault. Unless you have any
> other ideas, I might let this drop.
Could you ask why cpu affinity doesn't work in
linux-kernel at vger.kernel.org (CC me), please? The only thing I can do is
to ask there myself..
> Also, I think my original question got lost in the main thread, which
> was to find out why I could get double the performance exporting two
> drives over SCST/SRP as opposed to raiding those two drives and
> exporting them as one object.
Hmm, I can't see where you asked it. I checked your original e-mail and
didn't find it.
Anyway, can you repeat your question? Unfortunately, from the above I
can't understand it.
Thanks,
Vlad
> Thanks for your help,
> Cameron
>
> Vladislav Bolkhovitin wrote:
>> Cameron Harr wrote:
>>> New results, with markers.
>>> ----
>>> type=randwrite bs=512 drives=1 scst_threads=1 srptthread=1
>>> iops=65612.40
>>> type=randwrite bs=4k drives=1 scst_threads=1 srptthread=1
>>> iops=54934.31
>>> type=randwrite bs=512 drives=2 scst_threads=1 srptthread=1
>>> iops=82514.57
>>> type=randwrite bs=4k drives=2 scst_threads=1 srptthread=1
>>> iops=79680.42
>>> type=randwrite bs=512 drives=1 scst_threads=2 srptthread=1
>>> iops=60439.73
>>> type=randwrite bs=4k drives=1 scst_threads=2 srptthread=1
>>> iops=51510.68
>>> type=randwrite bs=512 drives=2 scst_threads=2 srptthread=1
>>> iops=102735.07
>>> type=randwrite bs=4k drives=2 scst_threads=2 srptthread=1
>>> iops=78558.77
>>> type=randwrite bs=512 drives=1 scst_threads=3 srptthread=1
>>> iops=62941.35
>>> type=randwrite bs=4k drives=1 scst_threads=3 srptthread=1
>>> iops=51924.17
>>> type=randwrite bs=512 drives=2 scst_threads=3 srptthread=1
>>> iops=120961.39
>>> type=randwrite bs=4k drives=2 scst_threads=3 srptthread=1
>>> iops=75411.52
>>> type=randwrite bs=512 drives=1 scst_threads=1 srptthread=0
>>> iops=50891.13
>>> type=randwrite bs=4k drives=1 scst_threads=1 srptthread=0
>>> iops=50199.90
>>> type=randwrite bs=512 drives=2 scst_threads=1 srptthread=0
>>> iops=58711.87
>>> type=randwrite bs=4k drives=2 scst_threads=1 srptthread=0
>>> iops=74504.65
>>> type=randwrite bs=512 drives=1 scst_threads=2 srptthread=0
>>> iops=61043.73
>>> type=randwrite bs=4k drives=1 scst_threads=2 srptthread=0
>>> iops=49951.89
>>> type=randwrite bs=512 drives=2 scst_threads=2 srptthread=0
>>> iops=83195.60
>>> type=randwrite bs=4k drives=2 scst_threads=2 srptthread=0
>>> iops=75224.25
>>> type=randwrite bs=512 drives=1 scst_threads=3 srptthread=0
>>> iops=60277.98
>>> type=randwrite bs=4k drives=1 scst_threads=3 srptthread=0
>>> iops=49874.57
>>> type=randwrite bs=512 drives=2 scst_threads=3 srptthread=0
>>> iops=84851.43
>>> type=randwrite bs=4k drives=2 scst_threads=3 srptthread=0
>>> iops=73238.46
>> I think srptthread=0 performs worse in this case, because with it part
>> of processing done in SIRQ, but seems scheduler make it be done on the
>> same CPU as fct0-worker, which does the data transfer to your SSD
>> device job. And this thread is always consumes about 100% CPU, so it
>> has less CPU time, hence less overall performance.
>>
>> So, try to affine fctX-worker, SCST threads and SIRQ processing on
>> different CPUs and check again. You can affine threads using utility
>> from http://www.kernel.org/pub/linux/kernel/people/rml/cpu-affinity/,
>> how to affine IRQ see Documentation/IRQ-affinity.txt in your kernel tree.
>>
>> Vlad
>>
>
More information about the general
mailing list