Thread (14 messages) 14 messages, 3 authors, 2026-03-19

Re: [PATCH iwl-net 0/3] idpf: virtchnl locking and async fixes

From: Tantilov, Emil S <hidden>
Date: 2026-03-17 14:20:28
Also in: intel-wired-lan, linux-rt-devel


On 3/17/2026 2:00 AM, Sebastian Andrzej Siewior wrote:
On 2026-03-16 16:28:16 [-0700], Emil Tantilov wrote:
quoted
The first patch in this series improves the locking around the setting
and clearing of the free_xn_bm bitmap. Previously the lock was only
taken during init shutdown and pop, but not the push function.

Patches 2 and 3 are fixes for the async handler. Patch 2 ensures the
payload size is set before the async handler is called, and patch 3 fixes
an sleeping bug due to nesting of raw/bh spinlocks.
Why is there a raw_spinlock_t? From a quick look a spinlock_t would do
just fine with not runtime change for !PREEMPT_RT.
The handling of the virtchannel messages is done via the completion API
and the transactions are using the raw spinlock from struct
swait_queue_head:

https://elixir.bootlin.com/linux/v6.19.8/source/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c#L298

https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue.git/tree/include/linux/swait.h?h=dev-queue#n44

Thanks,
Emil
Sebastian
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help