On Tue, 2019-07-23 at 16:06 -0700, David Miller wrote: > From: Shannon Nelson <snel...@pensando.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? > > Can you start the operation synchronously yet complete it async?
The driver is doing busy polling on command completion, doing only busy polling on completion status in the deferred work will not be much different than what they have now.. async completion will only make since if the hardware supports interrupt based (MSI-x) command completion.