summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorMintz, Yuval <Yuval.Mintz@cavium.com>2017-02-27 11:06:32 +0200
committerDavid S. Miller <davem@davemloft.net>2017-02-27 09:22:09 -0500
commitfd3c615ae13a853ab26211e14f70b416cc8f8134 (patch)
treecf7f5adebaf75054e3aec992947b64bec1a8ddcc /fs
parent4ca257eed6adf58d325c39c320a06dbcd34c43db (diff)
downloadlinux-fd3c615ae13a853ab26211e14f70b416cc8f8134.tar.gz
linux-fd3c615ae13a853ab26211e14f70b416cc8f8134.tar.xz
qed: Fix race with multiple VFs
A PF syncronizes all IOV activity relating to its VFs by using a single workqueue handling the work. The workqueue would reach a bitmask of pending VF events and act upon each in turn. Problem is that the indication of a VF message [which sets the 'vf event' bit for that VF] arrives and is set in the slowpath attention context, which isn't syncronized with the processing of the events. When multiple VFs are present, it's possible that PF would lose the indication of one of the VF's pending evens, leading that VF to later timeout. Instead of adding locks/barriers, simply move from a bitmask into a per-VF indication inside that VF entry in the PF database. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions