summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Kinsburskii <skinsburskii@linux.microsoft.com>2026-07-22 23:56:46 +0000
committerWei Liu <wei.liu@kernel.org>2026-07-31 20:01:43 +0000
commit5cb5c2f4a8373eb4c8fdbfdc857bb28f28f71fe0 (patch)
treee0832fc69015994431a27ba3459a4167869f8258
parenta9708e550d11a53b22d932cdbfaa10c26346a2d0 (diff)
mshv: Use kfree_rcu in mshv_portid_free
mshv_portid_free() uses synchronize_rcu() followed by kfree() to reclaim port table entries. This blocks the caller until a full RCU grace period elapses, which is unnecessary since the same module already uses the non-blocking kfree_rcu() pattern in mshv_port_table_fini(). Replace with kfree_rcu() to avoid the blocking wait and keep the reclamation strategy consistent across the file. Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com> Reviewed-by: Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com> Signed-off-by: Wei Liu <wei.liu@kernel.org>
-rw-r--r--drivers/hv/mshv_portid_table.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/hv/mshv_portid_table.c b/drivers/hv/mshv_portid_table.c
index 6f59b3e37624..0d632507ed21 100644
--- a/drivers/hv/mshv_portid_table.c
+++ b/drivers/hv/mshv_portid_table.c
@@ -62,8 +62,7 @@ mshv_portid_free(int port_id)
WARN_ON(!info);
idr_unlock(&port_table_idr);
- synchronize_rcu();
- kfree(info);
+ kfree_rcu(info, portbl_rcu);
}
int