From: Sagi Grimberg <sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
To: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>,
sagi grimberg <sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Cc: roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
oren-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v1 1/3] IB/srp: Fix crash when unmapping data loop
Date: Tue, 11 Mar 2014 15:38:00 +0200 [thread overview]
Message-ID: <531F11B8.5030202@dev.mellanox.co.il> (raw)
In-Reply-To: <53197FC5.4090102-HInyCGIudOg@public.gmane.org>
On 3/7/2014 10:13 AM, Bart Van Assche wrote:
> On 03/06/14 17:10, Sagi Grimberg wrote:
>> So I took Roland latest 3.14-rc1 and tried to reproduce this issue using
>> HCA with no FMRs support and was *NOT* able to reproduce this issue. This
>> issue reproduced for me on RH6 backported srp and I can't tell where is
>> the delta at the moment. Perhaps Sebastian can share his scenario that
>> reproduces this issue and was solved by the patch I proposed.
>>
>> I suggest to try and reproduce it with your ib_srp-backport code over
>> RH6, worth a look right?
> Hello Sagi,
Hey Bart,
A bit late but I hope not too late...
> It would help if you could explain why you are concerned about holding a
> spin lock during the srp_post_send() call. According to
> Documentation/infiniband/core_locking.txt ib_post_send() is not allowed
> to sleep.
Correct, taking the spinlock around ib_post_send is allowed and I don't
think any HCA drivers
will ever sleep there.
> And before the SCSI host lock push-down the SCSI host lock was
> held around the srp_queuecommand() invocation. In other words, holding a
> spin lock around the srp_post_send() call in srp_queuecommand() is
> neither new nor disallowed by the RDMA API documentation.
I just noted that I think it should be avoided due to performance reasons.
We are going towards scsi-mq and I suspect fast-path spinlocks will
become much
more expensive in this era, and we should try to avoid them rather than
take them.
> And if there
> would be any (legacy?) RDMA HCA drivers that are not upstream and for
> which it is not safe to invoke ib_post_send() with a spin lock held, how
> about invoking srp_post_send() in distro's that support these drivers
> without holding target->lock ?
I don't think we need to worry about that.
> The patch I posted fixes a race between
> srp_finish_req() and the error path in srp_queuecommand by setting
> req->scmnd after the srp_post_send() call instead of before.
Yes, I agree this would help.
> Holding
> target->lock around the srp_post_send() call and the req->scmnd
> assignment is only needed to avoid the (theoretical) race where
> processing of an SRP reply would already have been started before
> req->scmnd has been assigned by srp_queuecommand().
I see... will assigning scmnd = NULL only if srp_post_send will fail,
and restore the assignment as before help?
Sagi.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-03-11 13:38 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-24 14:30 [PATCH v1 0/3] SRP initiator fixes for kernel 3.15 Sagi Grimberg
[not found] ` <1393252218-30638-1-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-02-24 14:30 ` [PATCH v1 1/3] IB/srp: Fix crash when unmapping data loop Sagi Grimberg
[not found] ` <1393252218-30638-2-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-02-24 15:11 ` Sebastian Riemer
2014-02-24 15:24 ` Bart Van Assche
[not found] ` <530B6444.1000805-HInyCGIudOg@public.gmane.org>
2014-02-27 11:32 ` Sagi Grimberg
[not found] ` <530F225E.5070500-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-03-06 9:10 ` Bart Van Assche
[not found] ` <53183B71.4090609-HInyCGIudOg@public.gmane.org>
2014-03-06 15:32 ` sagi grimberg
[not found] ` <53189526.2010704-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-03-06 16:10 ` Sagi Grimberg
[not found] ` <53189DDE.7090003-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-03-07 8:13 ` Bart Van Assche
[not found] ` <53197FC5.4090102-HInyCGIudOg@public.gmane.org>
2014-03-11 13:38 ` Sagi Grimberg [this message]
[not found] ` <531F11B8.5030202-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-03-11 13:51 ` Bart Van Assche
[not found] ` <531F14D0.7010608-HInyCGIudOg@public.gmane.org>
2014-03-11 14:07 ` Sagi Grimberg
[not found] ` <531F18A7.1000907-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-03-11 14:29 ` Bart Van Assche
[not found] ` <531F1DBD.9070505-HInyCGIudOg@public.gmane.org>
2014-03-11 14:48 ` Sagi Grimberg
[not found] ` <531F2221.2090403-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-03-11 15:00 ` Bart Van Assche
[not found] ` <531F2501.9090005-HInyCGIudOg@public.gmane.org>
2014-03-11 15:30 ` Sagi Grimberg
[not found] ` <531F2C2C.7080306-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-03-12 13:16 ` Bart Van Assche
[not found] ` <53205E1E.3070304-HInyCGIudOg@public.gmane.org>
2014-03-13 7:42 ` Sagi Grimberg
2014-02-24 14:30 ` [PATCH v1 2/3] IB/srp: Check ib_query_gid return value Sagi Grimberg
[not found] ` <1393252218-30638-3-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-02-24 15:34 ` Bart Van Assche
2014-02-24 14:30 ` [PATCH v1 3/3] IB/srp: Protect free_tx iu list from concurrent flows Sagi Grimberg
[not found] ` <1393252218-30638-4-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-02-24 15:38 ` Bart Van Assche
[not found] ` <530B677A.1040508-HInyCGIudOg@public.gmane.org>
2014-02-27 11:51 ` Sagi Grimberg
[not found] ` <530F26CE.5070404-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-02-27 14:22 ` Bart Van Assche
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=531F11B8.5030202@dev.mellanox.co.il \
--to=sagig-ldsdmyg8hgv8yrgs2mwiifqbs+8scbdb@public.gmane.org \
--cc=bvanassche-HInyCGIudOg@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=oren-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.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.