linux/drivers/net/ethernet/intel/fm10k
Jacob Keller b52b7f7059 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>
2017-10-02 07:25:47 -07:00
..
fm10k_common.c fm10k-shared: use mac-> instead of hw->mac. 2017-01-08 01:22:57 -08:00
fm10k_common.h fm10k: prefer READ_ONCE instead of ACCESS_ONCE 2016-08-29 01:31:03 -07:00
fm10k_dcbnl.c fm10k: consistently use Intel(R) for driver names 2016-04-20 23:07:34 -07:00
fm10k_debugfs.c fm10k: consistently use Intel(R) for driver names 2016-04-20 23:07:34 -07:00
fm10k_ethtool.c fm10k: future-proof state bitmaps using DECLARE_BITMAP 2017-04-05 22:47:30 -07:00
fm10k_iov.c fm10k: reschedule service event if we stall the PF<->SM mailbox 2017-10-02 07:25:47 -07:00
fm10k_main.c fm10k: future-proof state bitmaps using DECLARE_BITMAP 2017-04-05 22:47:30 -07:00
fm10k_mbx.c fm10k: request reset when mbx->state changes 2017-01-08 01:33:43 -08:00
fm10k_mbx.h fm10k: Reset mailbox global interrupts 2016-07-20 15:22:10 -07:00
fm10k_netdev.c net: sched: get rid of struct tc_to_netdev 2017-08-07 09:42:37 -07:00
fm10k_pci.c PCI: Split ->reset_notify() method into ->reset_prepare() and ->reset_done() 2017-07-03 07:58:30 -05:00
fm10k_pf.c fm10k: do not clear global mailbox interrupt bits 2017-01-08 01:35:19 -08:00
fm10k_pf.h fm10k: consistently use Intel(R) for driver names 2016-04-20 23:07:34 -07:00
fm10k_tlv.c fm10k: consistently use Intel(R) for driver names 2016-04-20 23:07:34 -07:00
fm10k_tlv.h fm10k: consistently use Intel(R) for driver names 2016-04-20 23:07:34 -07:00
fm10k_type.h fm10k: add support for Rx offloads on one Geneve tunnel 2016-08-29 01:31:03 -07:00
fm10k_vf.c fm10k: don't stop reset due to FM10K_ERR_REQUESTS_PENDING 2016-07-20 15:22:11 -07:00
fm10k_vf.h fm10k: consistently use Intel(R) for driver names 2016-04-20 23:07:34 -07:00
fm10k.h fm10k: allow service task to reschedule itself 2017-04-05 22:47:30 -07:00
Makefile fm10k: consistently use Intel(R) for driver names 2016-04-20 23:07:34 -07:00