]> www.infradead.org Git - users/jedix/linux-maple.git/commit
net/mlx4_core: Use round robin scheme to avoid stale caches
authorSantosh Shilimkar <santosh.shilimkar@oracle.com>
Thu, 11 May 2017 21:41:21 +0000 (14:41 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Sun, 18 Jun 2017 19:36:55 +0000 (12:36 -0700)
commitb0bac387097ea42fd1cc06d96836a07d3499a018
treede33f7bc26d5b439af8f0476883b6afabd77a1fb
parent42bf65df5cb4261e9d9b9c76bf0cb239d41225b6
net/mlx4_core: Use round robin scheme to avoid stale caches

The mlx4 driver in uek4 has a bug where frequent re-use of CQs, MPTs,
or SRQs leads to memory corruption and subsequent crash of lwipc.

The issue has not been root-caused, but by partly reverting the
upstream commit 7c6d74d23a33 ("mlx4_core: Roll back round robin bitmap
allocation commit for CQs, SRQs, and MPTs") by re-introducing
round-robin (RR) allocation of said structures, we have a mitigation,
and the bug does not reproduce.

The root-cause of bug 25730857 is tracked by bug 26266051.

The commit message of the upstream commit states a performance concern
related to the use of RR. Simple testing using this commit reveals up
to 20% performance regression running simple OF-UV tests in loop, but
these tests are not deemed close to any real use-cases.

The same RR is in uek2 and performance issues are not reported related
to the concern.

The plan is therefore to merge this commit, to buy some time to
root-cause the issue. When the issue is root-caused, this commit
should be reverted.

Orabug: 25730857

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: HÃ¥kon Bugge <haakon.bugge@oracle.com>
Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
drivers/net/ethernet/mellanox/mlx4/cq.c
drivers/net/ethernet/mellanox/mlx4/mr.c
drivers/net/ethernet/mellanox/mlx4/srq.c