[Pvfs2-cvs] commit by pw in pvfs2/src/client/sysint: sys-io.sm

Sam Lang slang at mcs.anl.gov
Mon Dec 4 14:48:20 EST 2006


Hi Pete,

Are these commits able to go into the 2.6 branch as well (to be  
released with 2.6.1)?  They look fairly minor...

-sam

On Dec 2, 2006, at 12:51 PM, CVS commit program wrote:

> Update of /projects/cvsroot/pvfs2/src/client/sysint
> In directory parlweb1:/tmp/cvs-serv32641/src/client/sysint
>
> Modified Files:
> 	sys-io.sm
> Log Message:
> optimistic buffer registration hook in IO path for RDMA transports
>
>
> Index: sys-io.sm
> ===================================================================
> RCS file: /projects/cvsroot/pvfs2/src/client/sysint/sys-io.sm,v
> diff -u -p -p -u -r1.152 -r1.153
> --- sys-io.sm	26 Sep 2006 03:44:16 -0000	1.152
> +++ sys-io.sm	2 Dec 2006 18:51:52 -0000	1.153
> @@ -1663,7 +1663,7 @@ static inline int io_post_flow(
>      unsigned long status_user_tag = 0;
>      struct filesystem_configuration_s * fs_config;
>
> -    gossip_debug(GOSSIP_IO_DEBUG, "- build_context_flow called\n");
> +    gossip_debug(GOSSIP_IO_DEBUG, "%s: entry\n", __func__);
>
>      if (!sm_p || !cur_ctx)
>      {
> @@ -1674,6 +1674,23 @@ static inline int io_post_flow(
>      attr = &sm_p->getattr.attr;
>      assert(attr);
>
> +    /*
> +     * Notify BMI about the memory buffer the user passed in.  For  
> transports
> +     * that need registration, this allows them to work with one  
> large region
> +     * rather than lots of small stripe-size regions.  But only  
> bother if the
> +     * request is contiguous; too complex and likely no faster in  
> the highly
> +     * fragmented case.
> +     */
> +    if (sm_p->u.io.mem_req->num_contig_chunks == 1)
> +    {
> +        struct bmi_optimistic_buffer_info binfo;
> +
> +        binfo.buffer = sm_p->u.io.buffer;
> +        binfo.len = PINT_REQUEST_TOTAL_BYTES(sm_p->u.io.mem_req),
> +        binfo.rw = sm_p->u.io.io_type;
> +        BMI_set_info(cur_ctx->msg.svr_addr,  
> BMI_OPTIMISTIC_BUFFER_REG, &binfo);
> +    }
> +
>      gossip_debug(GOSSIP_IO_DEBUG, "* mem req size is %lld, "
>                   "file_req size is %lld (bytes)\n",
>                   lld(PINT_REQUEST_TOTAL_BYTES(sm_p->u.io.mem_req)),
>
> _______________________________________________
> Pvfs2-cvs mailing list
> Pvfs2-cvs at beowulf-underground.org
> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-cvs
>



More information about the Pvfs2-cvs mailing list