linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: lixiubo@cmss.chinamobile.com
To: mchristi@redhat.com, nab@linux-iscsi.org
Cc: agrover@redhat.com, iliastsi@arrikto.com, namei.unix@gmail.com,
	sheng@yasker.org, linux-scsi@vger.kernel.org,
	target-devel@vger.kernel.org, linux-kernel@vger.kernel.org,
	Xiubo Li <lixiubo@cmss.chinamobile.com>
Subject: [PATCH v6 0/2] tcmu: Dynamic growing data area support
Date: Wed, 26 Apr 2017 14:25:50 +0800	[thread overview]
Message-ID: <1493187952-13125-1-git-send-email-lixiubo@cmss.chinamobile.com> (raw)

From: Xiubo Li <lixiubo@cmss.chinamobile.com>

Changed for V6:
- Remove the tcmu_vma_close(). Since the unmap thread will do the same for it 
- The unmap thread will skip the busy devices.
- Using and testing the V5 version 3 weeks and the V6 for about 1 week, all in a higher IOPS environment:
  * using fio and dd commands
  * using about 4 targets based user:rbd/user:file backend
  * set the global pool size to 512 * 1024 blocks * block_size, for 4K page size, the size is 2G.
  * each target here needs more than 1100 blocks.
  * fio: -iodepth 16 -thread -rw=[read write] -bs=[1M] -size=20G -numjobs=10 -runtime=1000  ...
  * restart the tcmu-runner at any time.

Changed for V5:
- Rebase to the newest target-pending repository.
- Add as many comments as possbile to make the patch more readable.
- Move tcmu_handle_completions() in timeout handler to unmap thread
  and then replace the spin lock with mutex lock(because the unmap_*
  or zap_* may goto sleep) to simplify the patch and the code.
- Thanks very much for Mike's tips and suggestions.
- Tested this for more than 3 days by:
  * using fio and dd commands
  * using about 1~5 targets
  * set the global pool size to [512 1024 2048 512 * 1024] blocks * block_size
  * each target here needs more than 450 blocks when running in my environments.
  * fio: -iodepth [1 2 4 8 16] -thread -rw=[read write] -bs=[1K 2K 3K 5K 7K 16K 64K 1M] -size=20G -numjobs=10 -runtime=1000  ...
  * in the tcmu-runner, try to touch blocks out of tcmu_cmds' iov[] manually
  * restart the tcmu-runner at any time.
  * in my environment for the low IOPS case: the read throughput goes from about 5200KB/s to 6700KB/s; the write throughput goes from about 3000KB/s to 3700KB/s.

Xiubo Li (2):
  tcmu: Add dynamic growing data area feature support
  tcmu: Add global data block pool support

 drivers/target/target_core_user.c | 598 ++++++++++++++++++++++++++++++--------
 1 file changed, 469 insertions(+), 129 deletions(-)

-- 
1.8.3.1

             reply	other threads:[~2017-04-26  6:26 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-26  6:25 lixiubo [this message]
2017-04-26  6:25 ` [PATCH v6 1/2] tcmu: Add dynamic growing data area feature support lixiubo
2017-04-30  5:48   ` Mike Christie
2017-04-30 10:22     ` [PATCH v6 1/2] tcmu: Add dynamic growing data area featuresupport Xiubo Li
2017-05-01 18:37       ` Mike Christie
2017-04-26  6:25 ` [PATCH v6 2/2] tcmu: Add global data block pool support lixiubo
2017-04-26 10:07   ` kbuild test robot
2017-04-30  7:31   ` Mike Christie
2017-04-30 11:29     ` Xiubo Li
2017-05-01 18:40       ` Mike Christie
2017-05-02  5:26         ` Nicholas A. Bellinger
2017-05-02  5:25 ` [PATCH v6 0/2] tcmu: Dynamic growing data area support Nicholas A. Bellinger
2017-05-02  9:25   ` 答复: " lixiubo

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=1493187952-13125-1-git-send-email-lixiubo@cmss.chinamobile.com \
    --to=lixiubo@cmss.chinamobile.com \
    --cc=agrover@redhat.com \
    --cc=iliastsi@arrikto.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mchristi@redhat.com \
    --cc=nab@linux-iscsi.org \
    --cc=namei.unix@gmail.com \
    --cc=sheng@yasker.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).