aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/check-perf-trace.py
diff options
context:
space:
mode:
authorBart Van Assche <[email protected]>2018-01-12 15:11:58 -0800
committerDoug Ledford <[email protected]>2018-01-18 14:49:19 -0500
commit65567e41219888feec72fee1de98ccf1efbbc16d (patch)
tree5d1c39d42c4c0d89f461fc7159e8a49dcab8f7d6 /tools/perf/scripts/python/check-perf-trace.py
parent37cb11acf1f72a007a85894a6dd2ec93932bde46 (diff)
RDMA/rxe: Fix a race condition in rxe_requester()
The rxe driver works as follows: * The send queue, receive queue and completion queues are implemented as circular buffers. * ib_post_send() and ib_post_recv() calls are serialized through a spinlock. * Removing elements from various queues happens from tasklet context. Tasklets are guaranteed to run on at most one CPU. This serializes access to these queues. See also rxe_completer(), rxe_requester() and rxe_responder(). * rxe_completer() processes the skbs queued onto qp->resp_pkts. * rxe_requester() handles the send queue (qp->sq.queue). * rxe_responder() processes the skbs queued onto qp->req_pkts. Since rxe_drain_req_pkts() processes qp->req_pkts, calling rxe_drain_req_pkts() from rxe_requester() is racy. Hence this patch. Reported-by: Moni Shoua <[email protected]> Signed-off-by: Bart Van Assche <[email protected]> Cc: [email protected] Signed-off-by: Doug Ledford <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/check-perf-trace.py')
0 files changed, 0 insertions, 0 deletions