Re: linux-next: build failure after merge of the rdma tree

From: Jason Gunthorpe
Date: Mon Dec 03 2018 - 20:53:04 EST


On Tue, Dec 04, 2018 at 11:47:31AM +1100, Stephen Rothwell wrote:
> Hi all,
>
> After merging the rdma tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> ERROR: "mlx5_get_send_wqe" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined!
>
> Caused by commit
>
> 34f4c9554d8b ("IB/mlx5: Use fragmented QP's buffer for in-kernel users")
>
> mlx5_get_send_wqe() is still used in drivers/infiniband/hw/mlx5/cq.c
> and declared in drivers/infiniband/hw/mlx5/mlx5_ib.h ...
>
> I have used the version of the rdma tree from next-20181203 for today.

Huh. So apparently every compiler that tested this patch (0-day, mine,
the submitters) optimized this call away because is_atomic_response()
always returns 0: meaning mlx5_get_atomic_laddr is never callable and
can be deleted entirely, including the call to mlx5_get_send_wqe.

Not sure what compiler setup will hit this, but it is clearly wrong
code..

Guy/Leon, please send a fixup.. Maybe just delete all this
handle_atomics stuff?

Thanks,
Jason