]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
fm10k: reschedule service event if we stall the PF<->SM mailbox
authorJacob Keller <jacob.e.keller@intel.com>
Wed, 8 Mar 2017 23:55:43 +0000 (15:55 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 2 Oct 2017 14:25:47 +0000 (07:25 -0700)
commitb52b7f7059f2df8eb3258a25bc69e12dc21ebcd7
tree36660160891a512118a412e887b6c3d8422e2906
parent17a91809942ca32c70026d2d5ba3348a2c4fdf8f
fm10k: reschedule service event if we stall the PF<->SM mailbox

When we are handling PF<->VF mailbox messages, it is possible that the
VF will send us so many messages that the PF<->SM FIFO will fill up. In
this case, we stop the loop and wait until the service event is
rescheduled.

Normally this should happen due to an interrupt. But it is possible that
we don't get another interrupt for a while and it isn't until the
service timer actually reschedules us. Instead, simply reschedule
immediately which will cause the service event to be run again as soon
as we exit.

This ensures that we promptly handle all of the PF<->VF messages with
minimal delay, while still giving time for the SM mailbox to drain.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/fm10k/fm10k_iov.c