mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 03:33:59 +08:00
IB/srp: Allow cmd_per_lun to be set per target port
Allow userspace to throttle traffic on a given connection to a target port by adding "max_cmd_per_lun=xyz" to lower the cmd_per_lun value set for that scsi_host. Signed-off-by: Vu Pham <vu@mellanox.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
0c5b395239
commit
52fb2b50c4
@ -1491,6 +1491,7 @@ enum {
|
||||
SRP_OPT_PKEY = 1 << 3,
|
||||
SRP_OPT_SERVICE_ID = 1 << 4,
|
||||
SRP_OPT_MAX_SECT = 1 << 5,
|
||||
SRP_OPT_MAX_CMD_PER_LUN = 1 << 6,
|
||||
SRP_OPT_ALL = (SRP_OPT_ID_EXT |
|
||||
SRP_OPT_IOC_GUID |
|
||||
SRP_OPT_DGID |
|
||||
@ -1499,13 +1500,14 @@ enum {
|
||||
};
|
||||
|
||||
static match_table_t srp_opt_tokens = {
|
||||
{ SRP_OPT_ID_EXT, "id_ext=%s" },
|
||||
{ SRP_OPT_IOC_GUID, "ioc_guid=%s" },
|
||||
{ SRP_OPT_DGID, "dgid=%s" },
|
||||
{ SRP_OPT_PKEY, "pkey=%x" },
|
||||
{ SRP_OPT_SERVICE_ID, "service_id=%s" },
|
||||
{ SRP_OPT_MAX_SECT, "max_sect=%d" },
|
||||
{ SRP_OPT_ERR, NULL }
|
||||
{ SRP_OPT_ID_EXT, "id_ext=%s" },
|
||||
{ SRP_OPT_IOC_GUID, "ioc_guid=%s" },
|
||||
{ SRP_OPT_DGID, "dgid=%s" },
|
||||
{ SRP_OPT_PKEY, "pkey=%x" },
|
||||
{ SRP_OPT_SERVICE_ID, "service_id=%s" },
|
||||
{ SRP_OPT_MAX_SECT, "max_sect=%d" },
|
||||
{ SRP_OPT_MAX_CMD_PER_LUN, "max_cmd_per_lun=%d" },
|
||||
{ SRP_OPT_ERR, NULL }
|
||||
};
|
||||
|
||||
static int srp_parse_options(const char *buf, struct srp_target_port *target)
|
||||
@ -1581,6 +1583,14 @@ static int srp_parse_options(const char *buf, struct srp_target_port *target)
|
||||
target->scsi_host->max_sectors = token;
|
||||
break;
|
||||
|
||||
case SRP_OPT_MAX_CMD_PER_LUN:
|
||||
if (match_int(args, &token)) {
|
||||
printk(KERN_WARNING PFX "bad max cmd_per_lun parameter '%s'\n", p);
|
||||
goto out;
|
||||
}
|
||||
target->scsi_host->cmd_per_lun = min(token, SRP_SQ_SIZE);
|
||||
break;
|
||||
|
||||
default:
|
||||
printk(KERN_WARNING PFX "unknown parameter or missing value "
|
||||
"'%s' in target creation request\n", p);
|
||||
|
Loading…
Reference in New Issue
Block a user