summaryrefslogtreecommitdiffstats
path: root/crypto/jitterentropy.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2015-10-05 10:53:49 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2015-10-08 08:27:04 -0400
commitedc1b01cd3b20a5fff049e98f82a2b0d24a34c89 (patch)
tree1f6a52705eeec5ef5e450963cac1d7e38905f446 /crypto/jitterentropy.c
parent66d7a56a6254389587d0999dcaab1d2634cd4e24 (diff)
downloadtalos-op-linux-edc1b01cd3b20a5fff049e98f82a2b0d24a34c89.tar.gz
talos-op-linux-edc1b01cd3b20a5fff049e98f82a2b0d24a34c89.zip
SUNRPC: Move TCP receive data path into a workqueue context
Stream protocols such as TCP can often build up a backlog of data to be read due to ordering. Combine this with the fact that some workloads such as NFS read()-intensive workloads need to receive a lot of data per RPC call, and it turns out that receiving the data from inside a softirq context can cause starvation. The following patch moves the TCP data receive into a workqueue context. We still end up calling tcp_read_sock(), but we do so from a process context, meaning that softirqs are enabled for most of the time. With this patch, I see a doubling of read bandwidth when running a multi-threaded iozone workload between a virtual client and server setup. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'crypto/jitterentropy.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud