From: Roland Dreier <rdreier@cisco.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Joachim Fenkes <fenkes@de.ibm.com>,
LKML <linux-kernel@vger.kernel.org>,
OF-EWG <ewg@lists.openfabrics.org>,
linuxppc-dev@ozlabs.org, Christoph Raisch <raisch@de.ibm.com>,
Marcus Eder <meder@de.ibm.com>,
OF-General <general@lists.openfabrics.org>,
Stefan Roscher <stefan.roscher@de.ibm.com>
Subject: Re: [PATCH] IB/ehca: Serialize HCA-related hCalls on POWER5
Date: Sun, 09 Dec 2007 15:22:39 -0800 [thread overview]
Message-ID: <adaodcza1xc.fsf@cisco.com> (raw)
In-Reply-To: <200712071058.38416.arnd@arndb.de> (Arnd Bergmann's message of "Fri, 7 Dec 2007 10:58:37 +0100")
> I think it needs some more inspection. The msleep in there is only called
> for hcalls that return H_IS_LONG_BUSY(). In theory, you can call
> ehca_plpar_hcall_norets() from inside an interrupt handler if the
> hcall in question never returns long busy.
Fair enough... according to Documentation/infiniband/core_locking.txt,
the only driver methods that cannot sleep are:
create_ah
modify_ah
query_ah
destroy_ah
bind_mw
post_send
post_recv
poll_cq
req_notify_cq
map_phys_fmr
and I don't think ehca does an hcall from any of those. Of course
there might be other driver-internal code paths that I don't know
about. Maybe do a quick audit and then stick might_sleep() in the
hcall functions to catch any mistakes?
- R.
WARNING: multiple messages have this Message-ID (diff)
From: Roland Dreier <rdreier@cisco.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linuxppc-dev@ozlabs.org, Joachim Fenkes <fenkes@de.ibm.com>,
LKML <linux-kernel@vger.kernel.org>,
OF-EWG <ewg@lists.openfabrics.org>,
Christoph Raisch <raisch@de.ibm.com>,
Marcus Eder <meder@de.ibm.com>,
OF-General <general@lists.openfabrics.org>,
Stefan Roscher <stefan.roscher@de.ibm.com>
Subject: Re: [PATCH] IB/ehca: Serialize HCA-related hCalls on POWER5
Date: Sun, 09 Dec 2007 15:22:39 -0800 [thread overview]
Message-ID: <adaodcza1xc.fsf@cisco.com> (raw)
In-Reply-To: <200712071058.38416.arnd@arndb.de> (Arnd Bergmann's message of "Fri, 7 Dec 2007 10:58:37 +0100")
> I think it needs some more inspection. The msleep in there is only called
> for hcalls that return H_IS_LONG_BUSY(). In theory, you can call
> ehca_plpar_hcall_norets() from inside an interrupt handler if the
> hcall in question never returns long busy.
Fair enough... according to Documentation/infiniband/core_locking.txt,
the only driver methods that cannot sleep are:
create_ah
modify_ah
query_ah
destroy_ah
bind_mw
post_send
post_recv
poll_cq
req_notify_cq
map_phys_fmr
and I don't think ehca does an hcall from any of those. Of course
there might be other driver-internal code paths that I don't know
about. Maybe do a quick audit and then stick might_sleep() in the
hcall functions to catch any mistakes?
- R.
next prev parent reply other threads:[~2007-12-09 23:22 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-06 15:07 [PATCH] IB/ehca: Serialize HCA-related hCalls on POWER5 Joachim Fenkes
2007-12-06 15:07 ` Joachim Fenkes
2007-12-06 15:48 ` Arnd Bergmann
2007-12-06 15:48 ` Arnd Bergmann
2007-12-06 18:27 ` Roland Dreier
2007-12-06 18:27 ` Roland Dreier
2007-12-07 9:58 ` Arnd Bergmann
2007-12-07 9:58 ` Arnd Bergmann
2007-12-09 23:22 ` Roland Dreier [this message]
2007-12-09 23:22 ` Roland Dreier
2007-12-10 17:41 ` Joachim Fenkes
2007-12-10 17:41 ` Joachim Fenkes
2007-12-10 21:47 ` Roland Dreier
2007-12-10 21:47 ` Roland Dreier
2007-12-11 8:38 ` Joachim Fenkes
2007-12-11 8:38 ` Joachim Fenkes
2007-12-12 12:14 ` [ewg] " Or Gerlitz
2007-12-12 12:14 ` Or Gerlitz
2007-12-12 16:02 ` Christoph Raisch
2007-12-12 16:02 ` Christoph Raisch
2007-12-12 19:09 ` Roland Dreier
2007-12-12 19:09 ` Roland Dreier
2007-12-13 8:30 ` Or Gerlitz
2007-12-13 8:30 ` Or Gerlitz
2007-12-13 19:22 ` [ofa-general] " Caitlin Bestler
2007-12-13 19:22 ` Caitlin Bestler
2007-12-13 20:59 ` Joachim Fenkes
2007-12-13 20:59 ` Joachim Fenkes
2007-12-13 21:08 ` Caitlin Bestler
2007-12-13 21:08 ` Caitlin Bestler
2007-12-13 21:35 ` Joachim Fenkes
2007-12-13 21:35 ` Joachim Fenkes
2007-12-13 21:48 ` [ofa-general] Re: [ewg] Re: [PATCH] IB/ehca: SerializeHCA-related " Sean Hefty
2007-12-13 21:48 ` Sean Hefty
2007-12-07 16:25 ` [PATCH] IB/ehca: Serialize HCA-related " Joachim Fenkes
2007-12-07 16:25 ` Joachim Fenkes
[not found] <OF85E31FAA.DADA6039-ONC12573AA.005439C8-C12573AA.005A132E@LocalDomain>
2007-12-10 17:59 ` Joachim Fenkes
2007-12-10 17:59 ` Joachim Fenkes
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=adaodcza1xc.fsf@cisco.com \
--to=rdreier@cisco.com \
--cc=arnd@arndb.de \
--cc=ewg@lists.openfabrics.org \
--cc=fenkes@de.ibm.com \
--cc=general@lists.openfabrics.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=meder@de.ibm.com \
--cc=raisch@de.ibm.com \
--cc=stefan.roscher@de.ibm.com \
/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.