From: Bodo Stroesser <bostroesser@gmail.com>
To: michael.christie@oracle.com, Maurizio Lombardi <mlombard@redhat.com>
Cc: target-devel@vger.kernel.org
Subject: Re: tcm_loop and aborted TMRs
Date: Sat, 19 Nov 2022 12:42:25 +0100 [thread overview]
Message-ID: <fcae196e-7f33-dc99-9901-7dbdbb066879@gmail.com> (raw)
In-Reply-To: <2cf05339-bd4d-016a-0f94-d1f292cca97c@oracle.com>
On 12.11.22 22:46, michael.christie@oracle.com wrote:
> On 11/12/22 7:59 AM, Bodo Stroesser wrote:
>> Hello Mike, Maurizio,
>>
>> Even if we couldn't yet find a method to fix handling of aborted
>> TMRs in the core or in all fabric drivers, I still think that keeping
>> the parallel handling of TMRs would be fine.
>>
>> Tcmu offers a TMR notification mechanism to make userspace aware
>> of ABORT or RESET_LUN. So userspace can try to break cmd handling
>> and thus speed up TMR response. If we serialize TMR handling, then
>> the notifications are also serialized and thus lose some of their
>> power.
>>
>> But maybe I have a new (?) idea of how to fix handling of aborted
>> TMRs in fabric drivers:
>> 1) Modify core to not call target_put_sess_cmd, no matter whether
>> SCF_ACK_REF is set.
>> 2) Modify fabric drivers to handle an aborted TMR just like a
>> normal TMR response. This means, e.g. qla2xxx would send a
>> normal response for the Abort. This exactly is what happens
>> when serializing TMRs, because in that case despite of the
>> RESET_LUN the core always calls queue_tm_rsp callback instead
>> of aborted_task callback.
>>
>> So to initiators we would show the 'old' behavior, while internally
>> keeping the parallel processing of TMRs.
>>
>> If fabric driver maintainers don't like that approach, they can
>> change their drivers to correctly kill aborted TMRs.
>>
>> What do you think?
>>
>
> I'm fine with doing it in parallel. However, the issue is we have real
> users hitting it now and we have to fix all the drivers because it's a
> regression. So if your idea is going take a while then we should revert
> now and then do your idea whenever it's ready.
I agree.
Even if my old patch fixes the issue for tcm_loop users, it does not
make sense to apply it, since the new idea would lead to reverting
parts of it. And with the patch we would still take the risk of users
running into trouble with fabrics other than tcm_loop.
next prev parent reply other threads:[~2022-11-19 11:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-11 16:20 tcm_loop and aborted TMRs Maurizio Lombardi
2022-11-11 16:21 ` Maurizio Lombardi
2022-11-11 21:18 ` Mike Christie
2022-11-12 13:59 ` Bodo Stroesser
2022-11-12 21:46 ` michael.christie
2022-11-19 11:42 ` Bodo Stroesser [this message]
2022-11-21 13:35 ` Dmitry Bogdanov
2022-11-21 19:25 ` Mike Christie
2022-11-25 9:34 ` Dmitry Bogdanov
2022-11-27 18:59 ` Mike Christie
2022-12-01 14:15 ` Bodo Stroesser
2022-12-08 3:45 ` Mike Christie
2024-07-24 13:42 ` Gao Xiang
2024-07-30 21:40 ` michael.christie
2024-07-31 13:49 ` Gao Xiang
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=fcae196e-7f33-dc99-9901-7dbdbb066879@gmail.com \
--to=bostroesser@gmail.com \
--cc=michael.christie@oracle.com \
--cc=mlombard@redhat.com \
--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.