Re: [Suggestion] arch/*/include/asm/bitops.h: about __set_bit() API.

From: Tony Luck
Date: Mon Jun 10 2013 - 18:26:32 EST


On Sat, Jun 8, 2013 at 3:08 AM, Chen Gang <gang.chen@xxxxxxxxxxx> wrote:
> using 'unsigned int *', implicitly:
> ./ia64/include/asm/bitops.h:63:__set_bit (int nr, volatile void *addr)

There is some downside on ia64 to your suggestion. If "addr" is properly
aligned for an "int", but misaligned for a long ... i.e. addr%8 == 4, then I'll
take an unaligned reference trap if I work with long* where the current code
working with int* does not.

Now perhaps all the callers do guarantee long* alignment? But I don't know.

Apart from uniformity, there doesn't see to be any upside to changing this.

-Tony Luck
--
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/