[ofa-general] bitops take an unsigned long *

Andrew Morton akpm at linux-foundation.org
Fri May 9 12:05:29 PDT 2008


On Fri, 09 May 2008 09:36:35 -0700
Roland Dreier <rdreier at cisco.com> wrote:

>  > Most architectures could (and should) take an unsigned long * arg for their
>  > bitops.  x86 doesn't do this and it needs fixing.  I fixed it.  Infiniband
>  > is being a problem.
> 
> Is your fix available somewhere?  Would like to check any patches I make.

It needs some preparatory patches, otherwise you'll be looking through
thousands of warnings.

At http://userweb.kernel.org/~akpm/mmotm/broken-out/ we have

arch-x86-mm-patc-use-boot_cpu_has.patch
x86-setup_force_cpu_cap-dont-do-clear_bitnon-unsigned-long.patch
lguest-use-cpu-capability-accessors.patch
x86-set_restore_sigmask-avoid-bitop-on-a-u32.patch

and then the conversion patch:

x86-bitops-take-an-unsigned-long.patch

>  > It would be nice to get it fixed up, please.
> 
> Will take a look.

Thanks.

> A few non-ipath warnings in the spew:
> 
>  > drivers/infiniband/hw/mlx4/qp.c: In function 'mlx4_ib_post_send':
>  > drivers/infiniband/hw/mlx4/qp.c:1460: warning: 'seglen' may be used uninitialized in this function

That's a falsie: gcc assumes that foo(&var) doesn't write to `var' :(

> which gcc version is giving this?

4.0.2 I think.

>  > drivers/char/epca.c:2542: warning: 'epca_setup' defined but not used
> 
> ...this got lost in the noise.
> 

Interesting, thanks.  I'll bug Alan about that.



More information about the general mailing list