[openib-general] Re: [patch][kdapl] enable kdapltest -T P

James Lentini jlentini at netapp.com
Thu Jun 2 14:50:18 PDT 2005


A couple of questions below:

On Thu, 2 Jun 2005, Itamar wrote:

> in order to enable kdapltest -T P i needed to remark attr that are 
> not set by openib gen2 
> 1) ia_attr.max_evd_qlen
> 2) ia_attr.max_rdma_read_per_ep_in
> 3) ia_attr.max_rdma_read_per_ep_out
>
> also there was bug in kdapltest memory registration (file dapl_bpool.c)
> and there was bug where we free memory and then we try to print part of the memory
>
> i can run now kdapltest -T P for both RR and RW
>
>
> enable kdapltest -T P
> fix bug in memory registration
> Signed-off-by: Itamar Rabenstein <itamar at mellanox.co.il>
>
> Index: test/dapl_performance_util.c
> ===================================================================
> --- test/dapl_performance_util.c	(revision 2522)
> +++ test/dapl_performance_util.c	(working copy)
> @@ -76,17 +76,20 @@
>     }
>
>     pipeline_len = DT_min (
> -	DT_min (test_ptr->cmd->num_iterations,
> -	       test_ptr->cmd->pipeline_len),
> -	DT_min (test_ptr->ia_attr.max_dto_per_ep,
> -	       test_ptr->ia_attr.max_evd_qlen));
> +        DT_min (test_ptr->cmd->num_iterations,
> +                test_ptr->cmd->pipeline_len),
> +        test_ptr->ia_attr.max_dto_per_ep);
> +/*     DT_min (test_ptr->ia_attr.max_dto_per_ep, */
> +/*            test_ptr->ia_attr.max_evd_qlen)    */
> +/*     );                                        */


Could we initialize the ia_attr.max_evd_qlen value correctly in the 
provider?

>
>     if ( RDMA_READ == test_ptr->cmd->op.transfer_type )
> -    {
> -	pipeline_len = DT_min (pipeline_len,
> -                               test_ptr->ia_attr.max_rdma_read_per_ep_in);
> -        pipeline_len = DT_min (pipeline_len,
> -                               test_ptr->ia_attr.max_rdma_read_per_ep_out);
> +    {
> +/*         max_rdma_read_per_ep_in max_rdma_read_per_ep_out are not set by gen2 */
> +/*         pipeline_len = DT_min (pipeline_len,                                 */
> +/*                                test_ptr->ia_attr.max_rdma_read_per_ep_in);   */
> +/*         pipeline_len = DT_min (pipeline_len,                                 */
> +/*                                test_ptr->ia_attr.max_rdma_read_per_ep_out);  */

Again, why not initialize these correclty in the provider?

>     }
>
>     test_ptr->reqt_evd_length = pipeline_len;
> @@ -203,7 +206,7 @@
> 					    DAT_HANDLE_NULL, /* rmr */
> 					    DT_PERF_SYNC_BUFF_SIZE,
> 					    2, /* 2 RMIs */
> -					    255, /* FIXME should query for this */
> +					    256, /* FIXME should query for this */

Good catch. 255 was not a good value to have been using.

Could we use pt_ptr->provider_attr.optimal_buffer_alignment instead?

> 					    FALSE,
> 					    FALSE);
>     if ( !test_ptr->ep_context.bp )
> @@ -406,8 +409,8 @@
> 	}
>     }
>
> +    DT_Tdep_PT_Debug (1, (phead,"Test[" F64x "]: cleanup is done\n", test_ptr->base_port));
>     DT_MemListFree (test_ptr->pt_ptr, test_ptr);
> -    DT_Tdep_PT_Debug (1, (phead,"Test[" F64x "]: cleanup is done\n", test_ptr->base_port));

Good catch.

>
>     return status;
> }
> Index: test/dapl_bpool.c
> ===================================================================
> --- test/dapl_bpool.c	(revision 2522)
> +++ test/dapl_bpool.c	(working copy)
> @@ -388,7 +388,7 @@
> u64
> DT_Bpool_GetRegBuff (Bpool * bpool_ptr, int index)
> {
> -    return ( bpool_ptr->reg_addr + index * bpool_ptr->seg_size );
> +    return (virt_to_phys(DT_Bpool_GetBuffer(bpool_ptr,index)));

Was this also a problem in the transaction test?

> }
>
> /*****************************************************************************/
> -- 
> Itamar
>



More information about the general mailing list