Re: [PATCH] lib/atomic64_test: do not build on non-atomic64 systems

From: Roland Dreier
Date: Sun Oct 24 2010 - 12:21:03 EST


> That's only part of the problem. The following won't build also:

> drivers/infiniband/hw

Interesting... I hadn't looked at that usage before. Both drivers that
seem to use atomic64 already depend on 64BIT in Kconfig, so I suspect
the intersection of 64BIT and !ATOMIC64 is empty?

But eg drivers/infiniband/hw/qib/qib_rc.c does essentially:

atomic64_t *maddr;
u64 sdata = <something>
...
maddr = (atomic64_t *) qp->r_sge.sge.vaddr;
atomic64_add_return(sdata, maddr)

is it legit to cast some random address to atomic64_t and expect it to
work across archs that implement atomic64? (I expect x86_64 is probably
OK but I wonder if other architectures might not be so understanding)

- R.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/