Bug #1385
closediscsi target drops due to taskq
100%
Description
Nexenta has noticed that sometimes the iSCSI target will occasionally drop connections to some clients. Protocol analysis indicates excessively long deferrals in iSCSI PDU handling.
Investigation shows that taskq_dispatch() is implicated (again) by way of the kmem backing allocations. In particular, this code can wind up sleeping waiting for resources to become available.
Using the new style taskq_dispatch_ent() has been shown to resolve this problem in NexentaStor, using the same basic code.
Kudos to Albert Lee for the original patch, which I've cleaned up somewhat.
Updated by Garrett D'Amore almost 12 years ago
- Status changed from In Progress to Resolved
- % Done changed from 90 to 100
- Tags deleted (
needs-triage)
Resolved in:
garrett@thinkpad{36}> hg outgoing -v
running ssh anonhg@hg.illumos.org "hg -R illumos-gate serve --stdio"
comparing with ssh://anonhg@hg.illumos.org/illumos-gate
searching for changes
changeset: 13437:170f0c3a9064
tag: tip
user: Garrett D'Amore <garrett@nexenta.com>
date: Thu Aug 18 12:28:47 2011 -0700
description:
1385 iscsi target drops due to taskq
Reviewed by: Jason Brian King <jason.brian.king@gmail.com>
Reviewed by: Albert Lee <trisk@nexenta.com>
Reviewed by: Dmitry Yusupov <dmitry@nexenta.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Approved by: Eric Shrock <eric.schrock@delphix.com>
modified:
usr/src/uts/common/io/comstar/port/iscsit/iscsit.c
usr/src/uts/common/sys/idm/idm_impl.h