Re: [PATCH net-next v8 3/4] net: mana: support concurrent HWC requests

From
Wei Hu <hidden>
Date
2026-10-22 14:44:19
Also in
linux-hyperv, linux-rdma, lkml
Reply to
netdev-bot+sashiko@kernel.org, 2026-10-20
Thanks for the review.

I will respin the series as v9 with the following changes.

On Tue, 20 Oct 2026 13:36:32 +0000, netdev-bot+sashiko@kernel.org wrote:
Before this patch, admission could only block here. Every command that
reached mana_hwc_send_request() was eventually posted. With
down_timeout(), a channel that is healthy but busy can now return -EBUSY
without ever sending the command.
Agreed. The independent admission deadline introduces a new failure
before the command is submitted, including for destructive callers.

This is addressed in the prepared v9 patch 3. Admission uses a bitmap
and waitqueue instead of down_timeout(). While the channel is healthy,
a caller waits for a free slot rather than returning -EBUSY because of
contention. This removes the congestion-only failure that could skip a
teardown command. The response wait for a posted command remains bounded.
Can this choose -EBUSY when the channel is hung? Only the permit holder
raises abandoned_msgs, in mana_hwc_wait_for_response(), and only after
its own completion wait has expired:
The remaining ordering, cancellation and logging cases are also
addressed in v9 patch 3. There is no separate admission timer to expire
before the holder records abandonment. Slot release, recorded response
abandonment, cancellation and channel stop wake admission waiters.
When no slot is available, abandonment or cancellation returns
-ETIMEDOUT, preserving the existing recovery errno; a stopped channel
returns -ENODEV. Healthy contention does not trigger recovery.

Available slots remain usable for best-effort requests after cancellation.
mana_need_log() suppresses expected -ETIMEDOUT/-ENODEV after cancellation
or channel unpublication, while keeping live-channel and other errors
visible.
This is a pre-existing issue and was not introduced by this patch. This
rejection path reposts rx_req, but the range check before it in
mana_hwc_rx_event_handler() does not:
The missing RX repost on an out-of-range message ID is pre-existing.
We will address separately.

Regards,
Wei

pw-bot: cr
Thread (2 messages) 2 messages, 2 authors, last reply 15d ago
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help