[ewg] Re: Compile error on 7/14 daily build of OFED-1.5
Jon Mason
jon at opengridcomputing.com
Mon Jul 27 07:52:09 PDT 2009
On Mon, Jul 27, 2009 at 02:29:01PM +0300, Jack Morgenstein wrote:
> Jon,
> Please investigate this -- you added the asm/bitops.h backport file
> in your commit:
> commit 3ff95fad45ee5aca5caf6bd78f9bf8c75e424d82
> Author: Jon Mason <jon at opengridcomputing.com>
> Date: Wed Jul 1 18:13:16 2009 +0300
>
> NFSRDMA: NFS backport for RHEL5.3
> This patch provides the NFS backport for RHEL5.3.
> It passes Connectathon as a client and server over TCP and RDMA.
>
> Signed-Off-By: Jon Mason <jon at opengridcomputing.com>
>
> diff --git a/kernel_addons/backport/2.6.18-EL5.3/include/asm/bitops.h b/kernel_addons/backport/2.6.18-EL5.3/include/asm/bitops.h
> new file mode 100644
> index 0000000..9222256
> --- /dev/null
> +++ b/kernel_addons/backport/2.6.18-EL5.3/include/asm/bitops.h
> @@ -0,0 +1,15 @@
> +#ifndef BACKPORT_ASM_BITOPS_H
> +#define BACKPORT_ASM_BITOPS_H
> +
> +#include_next <asm/bitops.h>
> +#if defined(__ia64__)
> +#include <asm/system.h>
> +#endif
> +
> +static inline void clear_bit_unlock(unsigned long nr, volatile unsigned long *addr)
> +{
> + smp_mb__before_clear_bit();
> + clear_bit(nr, addr);
> +}
> +
> +#endif
> .....
>
> I'm a bit nervous about Woody's fix (as he is, too), because
> his fix duplicates definitions found elsewhere, and this may
> cause problems if the other file containing the definitions
> is also included in some app.
>
> Any suggestions?
Apparently I didn't fix it for RHEL5. I made the change in the 2.6.22
to change the smp_mb__before_clear_bit() to barrier(), this fixed the
issue there. I'll make a similar change for RHEL5, and push it to my
tree.
Thanks,
Jon
>
> Thanks!
> -Jack
>
> On Thursday 23 July 2009 23:12, Woodruff, Robert J wrote:
> >
> > This compile error still exists in today's daily build.
> > I did a little investigation and it looks like it is
> > an include file search order problem. It looks like the
> > include file <asm/system.h> was added to bitops.h for ia64
> > for a backport for addr.c, however with this, it causes
> > the compile problem in kobject_backport.c .
> > I was able to work around the problem with the following changes
> > to bitops.h, but I am not sure this is the best way to fix it.
> >
> >
> >
> > #ifndef BACKPORT_ASM_BITOPS_H
> > #define BACKPORT_ASM_BITOPS_H
> >
> > #include_next <asm/bitops.h>
> > #if defined(__ia64__)
> > /* #include <asm/system.h> */ <- causes a compile problem in kobject_backport.c
> >
> > #define mb() ia64_mf() <--- if I only add the defines that are needed from system.h instead
> > #ifdef CONFIG_SMP everything seems to compile and run OK.
> > #define smp_mb() mb()
> > #else
> > #define smp_mb() barrier()
> > #endif
> >
> > #endif
> >
> > static inline void clear_bit_unlock(unsigned long nr, volatile unsigned long *addr)
> > {
> > smp_mb__before_clear_bit();
> > clear_bit(nr, addr);
> > }
> >
> > #endif
> > ~
> >
> > -----Original Message-----
> > From: Tziporet Koren [mailto:tziporet at dev.mellanox.co.il]
> > Sent: Thursday, July 16, 2009 7:24 AM
> > To: tziporet at dev.mellanox.co.il
> > Cc: Woodruff, Robert J; EWG
> > Subject: Re: Compile error on 7/14 daily build of OFED-1.5
> >
> > Tziporet Koren wrote:
> > > Woodruff, Robert J wrote:
> > >> I am seeing this build error when trying to compile
> > >> the 7/14 daily build on EL 5.3 on IA64. Not sure who the maintainer
> > >> is of kobject_backport.c,
> > >> but it looks to be the culprit.
> > >>
> > >> woody
> > >>
> > >>
> > >> ckport/2.6.18-EL5.3/include/linux/slab.h:1,
> > >> from
> > >> /var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/drivers/infiniband/core/kobject_backport.c:1:
> > >>
> > >> include/linux/bitops.h: At top level:
> > >> include/linux/bitops.h:57: error: conflicting types for 'fls_long'
> > >> /var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/kernel_addons/backport/2.6.18-EL5.3/include/linux/log2.h:64:
> > >> error: previous implicit declaration of 'fls_long' was here
> > >> make[4]: ***
> > >> [/var/tmp/OFED_topdir/BUILD/ofa_kernel-1.5/drivers/infiniband/core/kobject_backport.o]
> > >> Error 1
> > >>
> > > There is no specific owner to the backports
> > > If you have any fix please send it.
> > > Otherwise we will try to look into it next week
> > >
> > > Tziporet
> > >
> > I see Jack just fixed it
> >
> > Tziporet
> >
More information about the ewg
mailing list