Re: linux-next: Tree for Jan 30 + 20200206 (drivers/infiniband/hw/mlx5/)

From: Randy Dunlap
Date: Thu Feb 06 2020 - 11:39:33 EST


On 2/6/20 6:32 AM, Jason Gunthorpe wrote:
> On Thu, Feb 06, 2020 at 01:40:33PM +0200, Leon Romanovsky wrote:
>> On Thu, Feb 06, 2020 at 09:30:19AM +0200, Leon Romanovsky wrote:
>>> On Wed, Feb 05, 2020 at 09:31:15PM -0800, Randy Dunlap wrote:
>>>> On 1/30/20 5:47 AM, Randy Dunlap wrote:
>>>>> On 1/29/20 8:28 PM, Stephen Rothwell wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> Please do not add any v5.7 material to your linux-next included
>>>>>> branches until after v5.6-rc1 has been released.
>>>>>>
>>>>>> Changes since 20200129:
>>>>>>
>>>>>
>>>>> on i386:
>>>>>
>>>>> ERROR: "__udivdi3" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined!
>>>>> ERROR: "__divdi3" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined!
>>>>>
>>>>>
>>>>> Full randconfig file is attached.
>>>>>
>>>>>
>>>>
>>>> I am still seeing this on linux-next of 20200206.
>>>
>>> Sorry, I was under wrong impression that this failure is connected to
>>> other issue reported by you.
>>>
>>> I'm looking on it right now.
>>
>> Randy,
>>
>> I'm having hard time to reproduce the failure.
>> â kernel git:(a0c61bf1c773) â git fixes
>> Fixes: a0c61bf1c773 ("Add linux-next specific files for 20200206")
>> â kernel git:(a0c61bf1c773) â wget https://lore.kernel.org/lkml/df42492f-a57e-bf71-e7e2-ce4dd7864462@xxxxxxxxxxxxx/2-config-r9621
>> from https://lore.kernel.org/lkml/df42492f-a57e-bf71-e7e2-ce4dd7864462@xxxxxxxxxxxxx/
>> â kernel git:(a0c61bf1c773) â mv 2-config-r9621 .config
>> â kernel git:(a0c61bf1c773) â make ARCH=i386 -j64 -s M=drivers/infiniband/hw/mlx5
>> â kernel git:(a0c61bf1c773) â file drivers/infiniband/hw/mlx5/mlx5_ib.ko
>> drivers/infiniband/hw/mlx5/mlx5_ib.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=49f81f5d56f7caf95d4a6cc9097391622c34f4ba, not stripped
>>
>> on my 64bit system:
>> â kernel git:(rdma-next) file drivers/infiniband/hw/mlx5/mlx5_ib.ko
>> drivers/infiniband/hw/mlx5/mlx5_ib.ko: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=2dcb1e30d0bba9885d5a824f6f57488a98f0c95d, with debug_info, not stripped
>
> You need to link to see it..
>
> From bee7b242c2c6a3bfb696cd5fa37d83a731f3ab15 Mon Sep 17 00:00:00 2001
> From: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
> Date: Thu, 6 Feb 2020 10:27:54 -0400
> Subject: [PATCH] IB/mlx5: Use div64_u64 for num_var_hw_entries calculation
>
> On i386:
>
> ERROR: "__udivdi3" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined!
> ERROR: "__divdi3" [drivers/infiniband/hw/mlx5/mlx5_ib.ko] undefined!
>
> Fixes: f164be8c0366 ("IB/mlx5: Extend caps stage to handle VAR capabilities")
> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx>

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested

Thanks.

> ---
> drivers/infiniband/hw/mlx5/main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
> index 0ca9581432808c..9b88935f805ba2 100644
> --- a/drivers/infiniband/hw/mlx5/main.c
> +++ b/drivers/infiniband/hw/mlx5/main.c
> @@ -6543,7 +6543,7 @@ static int mlx5_ib_init_var_table(struct mlx5_ib_dev *dev)
> doorbell_bar_offset);
> bar_size = (1ULL << log_doorbell_bar_size) * 4096;
> var_table->stride_size = 1ULL << log_doorbell_stride;
> - var_table->num_var_hw_entries = bar_size / var_table->stride_size;
> + var_table->num_var_hw_entries = div64_u64(bar_size, var_table->stride_size);
> mutex_init(&var_table->bitmap_lock);
> var_table->bitmap = bitmap_zalloc(var_table->num_var_hw_entries,
> GFP_KERNEL);
>


--
~Randy