[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <51B931E7.5050406@asianux.com>
Date: Thu, 13 Jun 2013 10:43:51 +0800
From: Chen Gang <gang.chen@...anux.com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
CC: Tony Luck <tony.luck@...il.com>,
Richard Henderson <rth@...ddle.net>,
Ivan Kokshaysky <ink@...assic.park.msu.ru>,
Matt Turner <mattst88@...il.com>,
"dhowells@...hat.com" <dhowells@...hat.com>,
"Yu, Fenghua" <fenghua.yu@...el.com>,
Koichi Yasutake <yasutake.koichi@...panasonic.com>,
alpha <linux-alpha@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-ia64@...r.kernel.org" <linux-ia64@...r.kernel.org>,
linux-am33-list@...hat.com, Linux-Arch <linux-arch@...r.kernel.org>
Subject: Re: [Suggestion] arch/*/include/asm/bitops.h: about __set_bit() API.
On 06/11/2013 03:32 PM, Geert Uytterhoeven wrote:
> On Tue, Jun 11, 2013 at 12:26 AM, Tony Luck <tony.luck@...il.com> wrote:
>> > On Sat, Jun 8, 2013 at 3:08 AM, Chen Gang <gang.chen@...anux.com> 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.
> The address pointers have been supposed to be "long *" for a very long time.
> Probably alpha (the second official Linux platform) did it
> differently, and never
> standardized to "long *".
Excuse me, I am not quite familiar with the details, but I guess, it is
about functional feature issues, not (or not only) about bug issues.
For the architectures which can fully support 64-bit OS, excluding ia64
and alpha, all of them can support setting 64 bits (from 0 to 63) under
64-bit machine.
I am not quite sure whether any sub-systems have already set higher bit
(> 31) under 64-bit machine, but in the future, it seems they could (at
least our API supposed so).
Thanks.
--
Chen Gang
Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists