* bit testing nervousness...
@ 2002-12-09 3:54 Jeff Garzik
2002-12-09 7:35 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 2+ messages in thread
From: Jeff Garzik @ 2002-12-09 3:54 UTC (permalink / raw)
To: acme; +Cc: linux-kernel
Hey...
WRT all these test_bit()/set_bit() cleanups. I am a bit nervous about
these changes that are coming in...
When I see types change from "u8" or "u32" to "long" just to make
<foo>_bit() work, that really makes me think that cleanup is wrong. I
haven't looked closely at the recent set_bit() cleanups yet, but I am
willing to bet that at least some of them are wrongly changing the size
of a variable's type.
My preference would be to _eliminate_ the set_bit call and simply
open-code the bitop, i.e.
set_bit(bitnum, &foo);
become
foo |= (1 << bitnum);
Really, for each cleanup, you need to look hard at the change and
see if <foo>_bit() is being used for atomicity reasons or simply
programmer preference. (and other issues like endian issues) The
latter can easily be changed to open-coding.
Disclaimer, my argument is null and void if each change has been closely
studied and is really correct :) However I'm guessing we all are only
glancing at the changes :)
Jeff
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: bit testing nervousness...
2002-12-09 3:54 bit testing nervousness Jeff Garzik
@ 2002-12-09 7:35 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2002-12-09 7:35 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-kernel
Em Sun, Dec 08, 2002 at 10:54:00PM -0500, Jeff Garzik escreveu:
> Hey...
>
> WRT all these test_bit()/set_bit() cleanups. I am a bit nervous about
> these changes that are coming in...
lets try to calm you then 8)
> When I see types change from "u8" or "u32" to "long" just to make
> <foo>_bit() work, that really makes me think that cleanup is wrong. I
> haven't looked closely at the recent set_bit() cleanups yet, but I am
> willing to bet that at least some of them are wrongly changing the size
> of a variable's type.
>
> My preference would be to _eliminate_ the set_bit call and simply
> open-code the bitop, i.e.
> set_bit(bitnum, &foo);
> become
> foo |= (1 << bitnum);
I think this can be a good idea, but in some cases, like the set_rx_mode
routines (multicast) it depends on the conversion to long, so those ones
should be dealt with in a different fashion, BTW, I haven't touched those
ones.
> Really, for each cleanup, you need to look hard at the change and
> see if <foo>_bit() is being used for atomicity reasons or simply
> programmer preference. (and other issues like endian issues) The
> latter can easily be changed to open-coding.
>
> Disclaimer, my argument is null and void if each change has been closely
> studied and is really correct :) However I'm guessing we all are only
> glancing at the changes :)
Lets see:
o drivers/atm/ambassador.c (ChangeSet@1.797.108.1)
o drivers/atm/horizon.c (ChangeSet@1.797.108.2)
o drivers/char/sx.c (ChangeSet@1.797.108.3)
o drivers/net/lance.c (ChangeSet@1.831.1.15)
o drivers/net/ni65.c (ChangeSet@1.797.108.8)
o drivers/net/dl2k.c (ChangeSet@1.831.1.34, ChangeSet@1.831.1.32)
o drivers/net/wan/sdla_fr.c (ChangeSet@1.831.1.41)
o include/linux/if_wanpipe_common.h (ChangeSet@1.831.1.42)
only sets/resets/tests a few bits, safe, no code depends on it changing
its size from 32 to 64 bits.
Humm, I was expecting a second type of changes, but I think all are safe,
even on a second glance. :-)
- Arnaldo
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-12-09 7:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-09 3:54 bit testing nervousness Jeff Garzik
2002-12-09 7:35 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.