Re: [PATCH v4 net-next 11/19] ionic: Add Rx filter and rx_mode ndo support
From: Shannon Nelson <hidden>
Date: 2019-07-24 00:19:59
On 7/23/19 4:06 PM, David Miller wrote:
From: Shannon Nelson <redacted> Date: Tue, 23 Jul 2019 15:50:43 -0700quoted
On 7/23/19 2:33 PM, David Miller wrote:quoted
Generally interface address changes are expected to be synchronous.Yeah, this bothers me a bit as well, but the address change calls come in under spin_lock_bh(), and I'm reluctant to make an AdminQ call under the _bh that could block for a few seconds.So it's not about memory allocation but rather the fact that the device might take a while to complete?
Memory allocation may or may not be involved, but yes, mainly we're doing another spin_lock on a firmware command that waits for an ACK or ERROR answer, and in extreme cases could possibly timeout on a dead firmware. I know that i40e and ice do much the same thing, and I believe mlx5 as well, for the same reasons. I suspect others do as well.
Can you start the operation synchronously yet complete it async?
This could be possible, but would likely require a bunch more messy logic to track async AdminQ requests, that otherwise is unnecessary. sln