RE: [PATCH RFC v7 10/12] megaraid_sas: switch fusion adapters to MQ

Kashyap Desai
2020-07-19T19:07:38Z

> > I also noticed nr_hw_queues are now exposed in sysfs -
> >
> > /sys/devices/pci0000:85/0000:85:00.0/0000:86:00.0/0000:87:04.0/0000:8b
> >
> :00.0/0000:8c:00.0/0000:8d:00.0/host14/scsi_host/host14/nr_hw_queues:1
> > 28
> > .
>
> That's on my v8 wip branch, so I guess you're picking it up from there.

John - I did more testing on v8 wip branch. CPU hotplug is working as
expected, but I still see some performance issue on Logical Volumes.

I created 8 Drives Raid-0 VD on MR controller and below is performance
impact of this RFC. Looks like contention is on single <sdev>.

I used command - "numactl -N 1 fio
1vd.fio --iodepth=128 --bs=4k --rw=randread
--cpus_allowed_policy=split --ioscheduler=none
--group_reporting --runtime=200 --numjobs=1"
IOPS without RFC = 300K IOPS with RFC = 230K.

Perf top (shared host tag. IOPS = 230K)

13.98% [kernel] [k] sbitmap_any_bit_set
6.43% [kernel] [k] blk_mq_run_hw_queue
6.00% [kernel] [k] __audit_syscall_exit
3.47% [kernel] [k] read_tsc
3.19% [megaraid_sas] [k] complete_cmd_fusion
3.19% [kernel] [k] irq_entries_start
2.75% [kernel] [k] blk_mq_run_hw_queues
2.45% fio [.] fio_gettime
1.76% [kernel] [k] entry_SYSCALL_64
1.66% [kernel] [k] add_interrupt_randomness
1.48% [megaraid_sas] [k] megasas_build_and_issue_cmd_fusion
1.42% [kernel] [k] copy_user_generic_string
1.36% [kernel] [k] scsi_queue_rq
1.03% [kernel] [k] kmem_cache_alloc
1.03% [kernel] [k] internal_get_user_pages_fast
1.01% [kernel] [k] swapgs_restore_regs_and_return_to_usermode
0.96% [kernel] [k] kmem_cache_free
0.88% [kernel] [k] blkdev_direct_IO
0.84% fio [.] td_io_queue
0.83% [kernel] [k] __get_user_4

Perf top (shared host tag. IOPS = 300K)

6.36% [kernel] [k] unroll_tree_refs
5.77% [kernel] [k] __do_softirq
4.56% [kernel] [k] irq_entries_start
4.38% [kernel] [k] read_tsc
3.95% [megaraid_sas] [k] complete_cmd_fusion
3.21% fio [.] fio_gettime
2.98% [kernel] [k] add_interrupt_randomness
1.79% [kernel] [k] entry_SYSCALL_64
1.61% [kernel] [k] copy_user_generic_string
1.61% [megaraid_sas] [k] megasas_build_and_issue_cmd_fusion
1.34% [kernel] [k] scsi_queue_rq
1.11% [kernel] [k] kmem_cache_free
1.05% [kernel] [k] blkdev_direct_IO
1.05% [kernel] [k] internal_get_user_pages_fast
1.00% [kernel] [k] __memset
1.00% fio [.] td_io_queue
0.98% [kernel] [k] kmem_cache_alloc
0.94% [kernel] [k] __get_user_4
0.93% [kernel] [k] lookup_ioctx
0.88% [kernel] [k] sbitmap_any_bit_set

Kashyap

>
> Thanks,
> John