[openib-general] kdapl build error on ia64

John Partridge johnip at sgi.com
Mon Aug 1 15:23:00 PDT 2005


Hal/James,

Here is a patch that fixes the ia64 build problem and the warnings I had previously posted.
The patch ONLY fixes the problems in the trunk tree ( apply from the trunk subdir) and NOT
in users/jlentini, the following files also need to be fixed (should be easy enough for
James to hack the patch file to do it) :-

users/jlentini/linux-kernel/dat-provider/dapl_openib_cm.c
users/jlentini/linux-kernel/dat-provider/dapl_util.h

The patch is based on svn revision 2935 (copy also attached to email)
=================== patch begin ==============================

--- src/linux-kernel/infiniband/ulp/kdapl/ib/dapl_openib_cm.c   2005-07-26 00:00:10.000000000 -0500
+++ src/linux-kernel/infiniband/ulp/kdapl/ib/dapl_openib_cm.c   2005-08-01 11:56:25.240418715 -0500
@@ -342,7 +342,7 @@
                                               &cm_ctx->dapl_comp);
                 if (status) {
                         printk(KERN_ERR "dapl_path_comp_handler: "
-                              "ib_at_paths_by_route returned %d id %lld\n",
+                              "ib_at_paths_by_route returned %d id %lu\n",
                                status, cm_ctx->dapl_comp.req_id);
                         event = DAT_CONNECTION_EVENT_BROKEN;
                         goto error;
@@ -413,7 +413,7 @@
                                       &cm_ctx->dapl_comp);
         if (status) {
                 printk(KERN_ERR "dapl_rt_comp_handler: ib_at_paths_by_route "
-                      "returned %d id %lld\n", status, cm_ctx->dapl_comp.req_id);
+                      "returned %d id %lu\n", status, cm_ctx->dapl_comp.req_id);
                 event = DAT_CONNECTION_EVENT_BROKEN;
                 goto error;
         }
--- src/linux-kernel/infiniband/ulp/kdapl/ib/dapl_util.h        2005-07-26 00:00:10.000000000 -0500
+++ src/linux-kernel/infiniband/ulp/kdapl/ib/dapl_util.h        2005-08-01 11:12:16.418589653 -0500
@@ -71,7 +71,7 @@

  #ifdef __ia64__

-       current_value = ia64_cmpxchg("acq", v, match_value, new_value, 4);
+       current_value = ia64_cmpxchg(acq, v, match_value, new_value, 4);

  #elif defined (__PPC__)


============================== patch end =================================

I checked that the patch does not cause a build problem on ia32. I tested that the modules
load OK on ia64 and ia32. Hope this helps.

John


Hal Rosenstock wrote:
> Hi John,
> 
> My normal email sending is not working right now so I am using an alternate method.
> Hope the formatting comes through OK.
> 
> On Fri, 2005-07-29 at 17:46, John Partridge wrote:
> 
>>With this fix the ia64 modules all build to completion with just a 
>>couple of warnings :-
> 
> 
>>   CC [M]  drivers/infiniband/ulp/kdapl/ib/dapl_openib_cm.o
>>drivers/infiniband/ulp/kdapl/ib/dapl_openib_cm.c: In function `dapl_path_comp_handler':
>>drivers/infiniband/ulp/kdapl/ib/dapl_openib_cm.c:346: warning: long long int format, u64 arg (arg 3)
>>drivers/infiniband/ulp/kdapl/ib/dapl_openib_cm.c: In function `dapl_rt_comp_handler':
>>drivers/infiniband/ulp/kdapl/ib/dapl_openib_cm.c:416: warning: long long int format, u64 arg (arg 3)
> 
> 
> Can you try this patch and see if it removes the warnings ?
> 
> Thanks.
> 
> -- Hal
> 
> Index: dapl_openib_cm.c
> ===================================================================
> --- dapl_openib_cm.c    (revision 2935)
> +++ dapl_openib_cm.c    (working copy)
> @@ -341,9 +341,15 @@ static void dapl_path_comp_handler(u64 r
>                                               &cm_ctx->dapl_path, 1,
>                                               &cm_ctx->dapl_comp);
>                 if (status) {
> +#if defined(__ia64__)
> +                       printk(KERN_ERR "dapl_path_comp_handler: "
> +                              "ib_at_paths_by_route returned %d id %ld\n",
> +                              status, cm_ctx->dapl_comp.req_id);
> +#else
>                         printk(KERN_ERR "dapl_path_comp_handler: "
>                                "ib_at_paths_by_route returned %d id %lld\n",
>                                status, cm_ctx->dapl_comp.req_id);
> +#endif
>                         event = DAT_CONNECTION_EVENT_BROKEN;
>                         goto error;
>                 }
> @@ -412,8 +418,13 @@ static void dapl_rt_comp_handler(u64 req
>         status = ib_at_paths_by_route(&cm_ctx->dapl_rt, 0, &cm_ctx->dapl_path, 1,
>                                       &cm_ctx->dapl_comp);
>         if (status) {
> +#if defined(__ia64__)
> +               printk(KERN_ERR "dapl_rt_comp_handler: ib_at_paths_by_route "
> +                      "returned %d id %ld\n", status, cm_ctx->dapl_comp.req_id);
> +#else
>                 printk(KERN_ERR "dapl_rt_comp_handler: ib_at_paths_by_route "
>                        "returned %d id %lld\n", status, cm_ctx->dapl_comp.req_id);
> +#endif
>                 event = DAT_CONNECTION_EVENT_BROKEN;
>                 goto error;
>         }

-- 
John Partridge

Silicon Graphics Inc
Tel:  651-683-3428
Vnet: 233-3428
E-Mail: johnip at sgi.com
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dapl.patch
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20050801/80de3691/attachment.ksh>


More information about the general mailing list