summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/cache.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2017-02-07 11:59:04 -0500
committerJ. Bruce Fields <bfields@redhat.com>2017-02-08 14:42:01 -0500
commit81fa3275f95ac357188fe3ca81b8e7c75360c88d (patch)
treee3a0dd5a4b45b9b587c032979047ae38b8d770d4 /net/sunrpc/cache.c
parenta3ab867fa64f9aedb3b01d570db5b43d2fc355fc (diff)
downloadop-kernel-dev-81fa3275f95ac357188fe3ca81b8e7c75360c88d.zip
op-kernel-dev-81fa3275f95ac357188fe3ca81b8e7c75360c88d.tar.gz
svcrdma: Poll CQs in "workqueue" mode
svcrdma calls svc_xprt_put() in its completion handlers, which currently run in IRQ context. However, svc_xprt_put() is meant to be invoked in process context, not in IRQ context. After the last transport reference is gone, it directly calls a transport release function that expects to run in process context. Change the CQ polling modes to IB_POLL_WORKQUEUE so that svcrdma invokes svc_xprt_put() only in process context. As an added benefit, bottom half-disabled spin locking can be eliminated from I/O paths. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/cache.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud