diff options
author | Moni Shoua <monis@mellanox.com> | 2018-11-08 21:10:14 +0200 |
---|---|---|
committer | Leon Romanovsky <leonro@mellanox.com> | 2018-11-12 22:21:32 +0200 |
commit | 90290db7669ba680b37b7006cbf6e5cee6cba779 (patch) | |
tree | 965dfff83ddbd12c483690ab305a1466e7b80fbe /net | |
parent | ef90c5e9757d5abc80b947cbcaacc43d1e916488 (diff) | |
download | linux-90290db7669ba680b37b7006cbf6e5cee6cba779.tar.bz2 |
net/mlx5: Use multi threaded workqueue for page fault handling
Page fault events are processed in a workqueue context. Since each QP
can have up to two concurrent unrelated page-faults, one for requester
and one for responder, page-fault handling can be done in parallel.
Achieve this by changing the workqueue to be multi-threaded.
The number of threads is the same as the number of command interface
channels to avoid command interface bottlenecks.
In addition to multi-threads, change the workqueue flags to give it high
priority.
Stress benchmark shows that before this change 85% of page faults were
waiting in queue 8 seconds or more while after the change 98% of page
faults were waiting in queue 64 milliseconds or less. The number of threads
was chosen as the number of channels to the command interface.
Fixes: d9aaed838765 ("{net,IB}/mlx5: Refactor page fault handling")
Signed-off-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions