From: Chris Friesen <chris.friesen@windriver.com>
To: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: Christoph Hellwig <hch@infradead.org>,
linux-scsi@vger.kernel.org, target-devel@vger.kernel.org
Subject: Re: QoS for iSCSI target?
Date: Fri, 1 Apr 2016 12:35:46 -0600 [thread overview]
Message-ID: <56FEBF82.9050909@windriver.com> (raw)
In-Reply-To: <1459407929.31390.89.camel@haakon3.risingtidesystems.com>
On 03/31/2016 01:05 AM, Nicholas A. Bellinger wrote:
> On Wed, 2016-03-16 at 10:48 -0600, Chris Friesen wrote:
>> On 03/11/2016 01:45 AM, Nicholas A. Bellinger wrote:
>>> On Thu, 2016-03-10 at 23:30 -0800, Christoph Hellwig wrote:
>>>> On Thu, Mar 10, 2016 at 04:24:25PM -0600, Chris Friesen wrote:
>>>>> Hi,
>>>>>
>>>>> I'm looking for information on whether the iSCSI target in the kernel offers
>>>>> any way to do QoS between traffic driven by different initiators.
>>>>>
>>>>> I'm trying to make sure that one initiator can't do a denial-of-service
>>>>> attack against others.
>>>>>
>>>>> Does the kernel target have this sort of thing built-in, or do I need to
>>>>> look at network traffic-shaping to achieve this?
>>>>
>>>> It doesn't right now, but it shouldn't be hard to integrate it with
>>>> blk cgroups.
>>>
>>> For iscsi-target application QoS, the per session command sequence
>>> number window depth (CmdSN) exists to enforce per InitiatorName limits
>>> via TPG default_cmdsn_depth + se_node_acl->queue_depth configfs
>>> attributes.
>>>
>>> Note these values can be changed on the fly for iscsi-target using
>>> explicit se_node_acl->acl_group, but currently require a se_session
>>> reinstatement event for updated ExpCmdSN + MaxCmdSN to take effect.
>>
>> On a slightly different note, is there any way to throttle or limit the overall
>> bandwidth consumed by the iSCSI target in the kernel? I'd like to ensure that
>> the iSCSI traffic doesn't completely swamp the host accesses to the same block
>> device.
>>
>> I suppose I could do networking-based traffic shaping, but are there any
>> controls in the block IO subsystem?
>>
>
> On a individual block_device backend basis, block cgroups is the
> preferred method for doing this.
>
> Note that any rate limiting imposed by block cgroups is subject to the
> current se_node_acl->queue_depth enforced across all LUNs within a given
> iscsi session.
How would I use cgroups with the kernel iSCSI target? Is there a set of kernel
threads dedicated to the iSCSI target that I can assign to a particular group?
Chris
next prev parent reply other threads:[~2016-04-01 18:35 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-10 22:24 QoS for iSCSI target? Chris Friesen
2016-03-11 7:30 ` Christoph Hellwig
2016-03-11 7:45 ` Nicholas A. Bellinger
2016-03-16 16:48 ` Chris Friesen
2016-03-31 7:05 ` Nicholas A. Bellinger
2016-04-01 18:35 ` Chris Friesen [this message]
2016-04-03 1:15 ` Nicholas A. Bellinger
2016-04-04 15:20 ` Chris Friesen
2016-04-04 22:29 ` Nicholas A. Bellinger
2016-04-04 23:01 ` Chris Friesen
2016-04-05 0:25 ` Nicholas A. Bellinger
2016-04-05 14:22 ` Chris Friesen
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=56FEBF82.9050909@windriver.com \
--to=chris.friesen@windriver.com \
--cc=hch@infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=nab@linux-iscsi.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 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.