[PATCH 0/3] iscsi-target: percpu_ida tag starvation regression fixes

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

 



From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Hi folks,

This series addresses a v3.12 starvation regression in iscsi-target
after the conversion to use percpu_ida tag preallocation for all
iscsi_cmd descriptors.

The first patch addresses an unnecessary overhead during iscsi_cmd
acknowledgement -> release, that could end up causing an extra
context switch to occur for WRITEs.  With the advent of proper
se_cmd->cmd_kref handling in v3.10, this is no longer required
in the acknowledgement fast path.

The second patch converts iscsit_ack_from_expstatsn() to populate
a local list of acknowledged iscsi_cmd descriptors, and releases
them as quickly as possible (and the associated percpu_ida tags)
directly from RX thread context.

The third patch adds another (tag_num / 2) extra pre-allocated tags,
in order to prevent percpu_ida_alloc() from needing to steal tags
when the number of acknowledged tags in use is large, seperate from
the tags for the CmdSN window depth.

I'll be including into target-pending/master shortly, and sending
off a PULL request to include for v3.12-rc4 over the next days.

Thanks,

--nab

Nicholas Bellinger (3):
  iscsi-target: Only perform wait_for_tasks when performing shutdown
  iscsi-target: Perform release of acknowledged tags from RX context
  iscsi-target; Allow an extra tag_num / 2 number of percpu_ida tags

 drivers/target/iscsi/iscsi_target.c      |   13 +++++++++----
 drivers/target/iscsi/iscsi_target_nego.c |    2 +-
 drivers/target/iscsi/iscsi_target_util.c |    4 ++--
 3 files changed, 12 insertions(+), 7 deletions(-)

-- 
1.7.10.4

--
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