Message ID | 20170228170658.GA17995@obsidianresearch.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On 2/28/2017 7:06 PM, Jason Gunthorpe wrote: > Okay, my mistake, then it must be this, which increases the leading > barrier to a wc_wmb().. See the discussion with Ram: > > diff --git a/providers/mlx5/cq.c b/providers/mlx5/cq.c > index cc0af920c703d9..1ce2cf2dd0bbd4 100644 > --- a/providers/mlx5/cq.c > +++ b/providers/mlx5/cq.c > @@ -1281,16 +1281,16 @@ int mlx5_arm_cq(struct ibv_cq *ibvcq, int solicited) > > /* > * Make sure that the doorbell record in host memory is > - * written before ringing the doorbell via PCI MMIO. > + * written before ringing the doorbell via PCI WC MMIO. > */ > - udma_to_device_barrier(); > + mmio_wc_start(); > > doorbell[0] = htonl(sn << 28 | cmd | ci); > doorbell[1] = htonl(cq->cqn); > > mlx5_write64(doorbell, ctx->uar[0] + MLX5_CQ_DOORBELL, &ctx->lock32); > > - mmio_ordered_writes_hack(); > + mmio_flush_writes(); > > return 0; > } > The above seems fine, can you please send a formal patch to fix the original series, thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Mar 02, 2017 at 11:34:56AM +0200, Yishai Hadas wrote: > The above seems fine, can you please send a formal patch to fix the original > series, thanks. Done, https://github.com/linux-rdma/rdma-core/pull/89 Are you happy with the other things now as well? Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 3/2/2017 7:12 PM, Jason Gunthorpe wrote:
> Are you happy with the other things now as well?
No, it looks like the barriers patch for mlx4 introduced performance
degradation which we don't accept, will answer on with the exact details
shortly.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/providers/mlx5/cq.c b/providers/mlx5/cq.c index cc0af920c703d9..1ce2cf2dd0bbd4 100644 --- a/providers/mlx5/cq.c +++ b/providers/mlx5/cq.c @@ -1281,16 +1281,16 @@ int mlx5_arm_cq(struct ibv_cq *ibvcq, int solicited) /* * Make sure that the doorbell record in host memory is - * written before ringing the doorbell via PCI MMIO. + * written before ringing the doorbell via PCI WC MMIO. */ - udma_to_device_barrier(); + mmio_wc_start(); doorbell[0] = htonl(sn << 28 | cmd | ci); doorbell[1] = htonl(cq->cqn); mlx5_write64(doorbell, ctx->uar[0] + MLX5_CQ_DOORBELL, &ctx->lock32); - mmio_ordered_writes_hack(); + mmio_flush_writes(); return 0; }