diff options
author | hselasky <hselasky@FreeBSD.org> | 2018-03-26 21:04:47 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2018-03-26 21:04:47 +0000 |
commit | a25e46b262a153085c528bdcb96133e052e8d24f (patch) | |
tree | 7784e4beeb8f012fbad5fa04983406596da23f8b | |
parent | c13ebd3912c502d563c09cbd783d449a57211957 (diff) | |
download | FreeBSD-src-a25e46b262a153085c528bdcb96133e052e8d24f.zip FreeBSD-src-a25e46b262a153085c528bdcb96133e052e8d24f.tar.gz |
MFC r330659:
Avoid more LFENCE/SFENCe on x86 in mlx5en(4),
by using the FreeBSD native fences.
Submitted by: kib@
Sponsored by: Mellanox Technologies
-rw-r--r-- | sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 2 | ||||
-rw-r--r-- | sys/dev/mlx5/mlx5_en/mlx5_en_tx.c | 2 | ||||
-rw-r--r-- | sys/dev/mlx5/mlx5_en/mlx5_en_txrx.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c index c70cf247..33e62b4 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -1256,7 +1256,7 @@ mlx5e_sq_send_nops_locked(struct mlx5e_sq *sq, int can_sleep) } /* send a single NOP */ mlx5e_send_nop(sq, 1); - wmb(); + atomic_thread_fence_rel(); } done: /* Check if we need to write the doorbell */ diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c index 69b0a01..b15d2c2 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c @@ -429,7 +429,7 @@ mlx5e_poll_tx_cq(struct mlx5e_sq *sq, int budget) mlx5_cqwq_update_db_record(&sq->cq.wq); /* Ensure cq space is freed before enabling more cqes */ - wmb(); + atomic_thread_fence_rel(); sq->cc = sqcc; diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_txrx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_txrx.c index 43bc059..771b4c6 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_txrx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_txrx.c @@ -38,7 +38,7 @@ mlx5e_get_cqe(struct mlx5e_cq *cq) return (NULL); /* ensure cqe content is read after cqe ownership bit */ - rmb(); + atomic_thread_fence_acq(); return (cqe); } |