[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5e3d5b42-2787-9fcf-1cd5-fb3063dfabc9@pensando.io>
Date: Tue, 23 Jul 2019 17:19:54 -0700
From: Shannon Nelson <snelson@...sando.io>
To: David Miller <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH v4 net-next 11/19] ionic: Add Rx filter and rx_mode ndo
support
On 7/23/19 4:06 PM, David Miller wrote:
> From: Shannon Nelson <snelson@...sando.io>
> Date: Tue, 23 Jul 2019 15:50:43 -0700
>
>> On 7/23/19 2:33 PM, David Miller wrote:
>>> 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
Powered by blists - more mailing lists