Thread (18 messages) 18 messages, 2 authors, 2025-02-13

Re: [PATCH net-next v7 5/6] net: ngbe: add sriov function support

From: Jakub Kicinski <kuba@kernel.org>
Date: 2025-02-11 22:06:53

On Tue, 11 Feb 2025 19:14:54 +0800 mengyuanlou@net-swift.com wrote:
Due to hardware design, when 6 vfs are assigned. 
+------------------------------------------------------------+
|        | pf | pf  | vf5 | vf4 | vf3 | vf2 | vf1 | vf0 | pf |
|--------|----|-----|-----|-----|-----|-----|-----|-----|----|
| vector | 0  | 1   | 2   | 3   | 4   | 5   | 6   | 7   | 8  |
+------------------------------------------------------------+

When 7 vfs are assigned. 
+------------------------------------------------------------+
|        | pf | vf6 | vf5 | vf4 | vf3 | vf2 | vf1 | vf0 | pf |
|--------|----|-----|-----|-----|-----|-----|-----|-----|----|
| vector | 0  | 1   | 2   | 3   | 4   | 5   | 6   | 7   | 8  |
+------------------------------------------------------------+

When num_vfs < 7, pf can use 0 for misc and 1 for queue.
But when num_vfs == 7, vector 1 is assigned to vf6.
1. Alloc 9 irq vectors, but only request_irq for 0 and 8. 
2. Reuse interrupt vector 0.
Do you have proper synchronization in place to make sure IRQs
don't get mis-routed when SR-IOV is enabled?
The goal should be to make sure the right handler is register
for the IRQ, or at least do the muxing earlier in a safe fashion.
Not decide that it was a packet IRQ half way thru a function called
ngbe_msix_other
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help