[ewg] [PATCH] sdp: incorrect SDP_FMR_SIZE on 32-bit machines

Amir Vadai amirv at mellanox.co.il
Wed Sep 2 06:39:32 PDT 2009


done

Amir Vadai
Software Eng.
Mellanox Technologies
mailto: amirv at mellanox.co.il
Tel +972-3-6259539

On 08/30/2009 05:16 PM, Jack Morgenstein wrote:
> On 32-bit machines, sizeof (u64 *) is 4 bytes (size of a ***pointer***).
> However, the max SDP FMR pool size should be PAGE_SIZE / sizeof(an mtt entry) --
> and mtt entries are u64's (or __be64's).
> 
> This resulted in SDP requesting twice as many entries per pool on 32-bit machines
> as could fit on a single page -- with the result that the fmr pool allocation failed
> at driver startup.
> 
> Signed-off-by: Jack Morgenstein <jackm at dev.mellanox.co.il>
> 
> ---
> Amir,
> Please take care of this.
> 
> Index: ofed_kernel-fixes/drivers/infiniband/ulp/sdp/sdp.h
> ===================================================================
> --- ofed_kernel-fixes.orig/drivers/infiniband/ulp/sdp/sdp.h	2009-08-30 16:57:02.000000000 +0300
> +++ ofed_kernel-fixes/drivers/infiniband/ulp/sdp/sdp.h	2009-08-30 16:57:20.000000000 +0300
> @@ -29,7 +29,7 @@
>  #define SDP_TX_SIZE 0x40
>  #define SDP_RX_SIZE 0x40
>  
> -#define SDP_FMR_SIZE (PAGE_SIZE / sizeof(u64 *))
> +#define SDP_FMR_SIZE (PAGE_SIZE / sizeof(u64))
>  #define SDP_FMR_POOL_SIZE	1024
>  #define SDP_FMR_DIRTY_SIZE	( SDP_FMR_POOL_SIZE / 4 )
>  
> _______________________________________________
> ewg mailing list
> ewg at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg



More information about the ewg mailing list