aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf
diff options
context:
space:
mode:
authorJens Axboe <[email protected]>2018-05-17 18:31:50 +0200
committerKeith Busch <[email protected]>2018-05-18 14:41:36 -0600
commit5cb525c8315f1dd9232b59cd1cf1e0f19ff1a5df (patch)
tree0005cf154368aa9f1b5c655ca903403b49b0bb1c /tools/perf/scripts/python/Perf-Trace-Util/lib/Perf
parentd1f06f4ae0410f8e5025f3c9129a52b86579e174 (diff)
nvme-pci: handle completions outside of the queue lock
Split the completion of events into a two part process: 1) Reap the events inside the queue lock 2) Complete the events outside the queue lock Since we never wrap the queue, we can access it locklessly after we've updated the completion queue head. This patch started off with batching events on the stack, but with this trick we don't have to. Keith Busch <[email protected]> came up with that idea. Note that this kills the ->cqe_seen as well. I haven't been able to trigger any ill effects of this. If we do race with polling every so often, it should be rare enough NOT to trigger any issues. Signed-off-by: Jens Axboe <[email protected]> Signed-off-by: Keith Busch <[email protected]> [hch: refactored, restored poll early exit optimization] Signed-off-by: Christoph Hellwig <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/Perf-Trace-Util/lib/Perf')
0 files changed, 0 insertions, 0 deletions