From: Caleb Sander <csander@purestorage.com>
To: Paolo Abeni <pabeni@redhat.com>
Cc: Ariel Elior <aelior@marvell.com>,
Manish Chopra <manishc@marvell.com>,
netdev@vger.kernel.org, Joern Engel <joern@purestorage.com>
Subject: Re: [PATCH] qed: allow sleep in qed_mcp_trace_dump()
Date: Wed, 21 Dec 2022 08:48:17 -0800 [thread overview]
Message-ID: <CADUfDZr_ecu-Vap_oPLPUJTiCaeUftErazDj702Ld2KDwvGUbQ@mail.gmail.com> (raw)
In-Reply-To: <71c526c6bf99171fef334ab9d51f78777e7b9df5.camel@redhat.com>
On Tue, Dec 20, 2022 at 1:55 AM Paolo Abeni <pabeni@redhat.com> wrote:
>
> On Sat, 2022-12-17 at 10:56 -0700, Caleb Sander wrote:
> > By default, qed_mcp_cmd_and_union() waits for 10us at a time
> > in a loop that can run 500K times, so calls to qed_mcp_nvm_rd_cmd()
> > may block the current thread for over 5s.
> > We observed thread scheduling delays of over 700ms in production,
> > with stacktraces pointing to this code as the culprit.
>
> IMHO this is material eligible for the net tree...
>
> >
> > qed_mcp_trace_dump() is called from ethtool, so sleeping is permitted.
> > It already can sleep in qed_mcp_halt(), which calls qed_mcp_cmd().
> > Add a "can sleep" parameter to qed_find_nvram_image() and
> > qed_nvram_read() so they can sleep during qed_mcp_trace_dump().
> > qed_mcp_trace_get_meta_info() and qed_mcp_trace_read_meta(),
> > called only by qed_mcp_trace_dump(), allow these functions to sleep.
> > It's not clear to me that the other caller (qed_grc_dump_mcp_hw_dump())
> > can sleep, so it keeps b_can_sleep set to false.
>
> ...but we need a suitable Fixes tag here. Please repost specifying the
> target tree into the subject and adding the relevant tag, thanks!
Sure, I can do that, but I would like to get some sign-off from the
driver authors.
The last time we attempted to fix this bug, we were told our change
could cause the driver to sleep in atomic contexts. So it would be great to hear
from QLogic (now Marvell) whether this fix is acceptable.
Thanks,
Caleb
next prev parent reply other threads:[~2022-12-21 16:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-17 17:56 [PATCH] qed: allow sleep in qed_mcp_trace_dump() Caleb Sander
2022-12-20 9:55 ` Paolo Abeni
2022-12-21 16:48 ` Caleb Sander [this message]
2022-12-28 22:00 ` [PATCH net v2] " Caleb Sander
2022-12-29 6:52 ` Leon Romanovsky
2023-01-03 23:30 ` [PATCH net v3] " Caleb Sander
2023-01-05 4:44 ` patchwork-bot+netdevbpf
[not found] ` <PH0PR18MB516573B4C93F1A0CC27D5818C4E49@PH0PR18MB5165.namprd18.prod.outlook.com>
2022-12-22 9:38 ` [PATCH] " Alok Prasad
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=CADUfDZr_ecu-Vap_oPLPUJTiCaeUftErazDj702Ld2KDwvGUbQ@mail.gmail.com \
--to=csander@purestorage.com \
--cc=aelior@marvell.com \
--cc=joern@purestorage.com \
--cc=manishc@marvell.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).