From: Mike Christie <michael.christie@oracle.com>
To: martin.petersen@oracle.com,
james.bottomley@hansenpartnership.com,
linux-scsi@vger.kernel.org, target-devel@vger.kernel.org
Subject: [PATCH 0/5] target: fixes and perf improvements
Date: Wed, 29 Sep 2021 21:04:17 -0500 [thread overview]
Message-ID: <20210930020422.92578-1-michael.christie@oracle.com> (raw)
The following patches apply to Martin's staging tree or Linus's tree.
The patches main goal is to take the locks out of the main IO path but
for the case of ordered cmds they also fix a handfull of bugs.
For the locks we currently have:
1. lun_tg_pt_gp_lock
2. delayed_cmd_lock
3. dev_reservation_lock
and this set takes out 1 and 2. With them removed a simple fio:
fio --filename=/dev/sdb --direct=1 --rw=randrw --bs=4k \
--ioengine=libaio --iodepth=64 --numjobs=$NUM_QUEUES
can increase IOPs by up to 30% (from a max of 1.4M to 2M) when using
multiple queues and vhost-scsi with the multiple vhost thread patches or
tcm loop with nr_hw_queues set.
Note: I normally hit a ceiling of 1.4M IOPs with around 8 queues but with
the patches I hit a ceiling at around 16 queues and 2M IOPs.
If I cheat and set emulate_pr=0 so the reservation lock is removed then
it scales nicely and you can continue to add a job and queue per CPU (at
least up to 20 CPUs which is when I run out of CPUs).
next reply other threads:[~2021-09-30 2:04 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-30 2:04 Mike Christie [this message]
2021-09-30 2:04 ` [PATCH 1/5] target: fix ordered CMD_T_SENT handling Mike Christie
2021-10-05 18:02 ` Lee Duncan
2021-09-30 2:04 ` [PATCH 2/5] target: fix ordered tag handling Mike Christie
2021-09-30 2:04 ` [PATCH 3/5] target: fix alua_tg_pt_gps_count tracking Mike Christie
2021-09-30 2:04 ` [PATCH 4/5] target: replace lun_tg_pt_gp_lock with rcu in IO path Mike Christie
2021-09-30 2:04 ` [PATCH 5/5] target: perform alua group changes in one step Mike Christie
2021-10-17 3:08 ` [PATCH 0/5] target: fixes and perf improvements Martin K. Petersen
2021-10-21 3:42 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210930020422.92578-1-michael.christie@oracle.com \
--to=michael.christie@oracle.com \
--cc=james.bottomley@hansenpartnership.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=target-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.