Subject: Re: [PATCH net v3] qed: allow sleep in qed_mcp_trace_dump()

From: [email-masked]
Date: Thu, 05 Jan 2023 04:44:11 +0000

Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <[email-masked]>:

On Tue,  3 Jan 2023 16:30:21 -0700 you wrote:
> By default, qed_mcp_cmd_and_union() delays 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 over 700ms in production,
> with stacktraces pointing to this code as the culprit.
> 
> 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.
> I can't tell if the other caller (qed_grc_dump_mcp_hw_dump()) can sleep,
> so keep b_can_sleep set to false when it calls these functions.
> 
> [...]

Here is the summary with links:
  - [net,v3] qed: allow sleep in qed_mcp_trace_dump()
    https://git.kernel.org/netdev/net/c/5401c3e09928

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html