Re: QoS for iSCSI target?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2016-04-04 at 09:20 -0600, Chris Friesen wrote:
> On 04/02/2016 07:15 PM, Nicholas A. Bellinger wrote:
> > On Fri, 2016-04-01 at 12:35 -0600, Chris Friesen wrote:
> 
> >>>> 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?
> >>
> >
> > block cgroups can set I/O throttling (bandwidth + IOPs) limits for any
> > normal struct block_device.
> >
> > These values are configured via blkio.throttle.* resource class, and the
> > limits are imposed independently of the block_device's association with
> > target_core_mod backend driver export.  Namely:
> >
> >      blkio.throttle.write_iops_device
> >      blkio.throttle.read_iops_device
> >      blkio.throttle.write_bps_device
> >      blkio.throttle.read_bdp_device
> >
> > Some examples using these values, plus more blkio.* info is here:
> > http://events.linuxfoundation.org/sites/events/files/slides/cgroups_0.pdf.
> >
> 
> I understand how to set up the cgroups, but don't I need to ensure that the IO 
> operations happen in the context of a particular cgroup?  If so, how do I ensure 
> that the in-kernel iSCSI target traffic happens in the context of the specified 
> group?  Are there a set of kernel threads dedicated to processing iSCSI requests?
> 

block cgroups does I/O ratelimiting at struct block_device level.

Eg: The process cgroup (which AFAICT is what your thinking about) is
separate from block cgroups, and doesn't need to be explicitly enabled
in order for block cgroup to function.

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux