All of lore.kernel.org
 help / color / mirror / Atom feed
* NFS: set_bit on an 'int' variable OK for 64-bit?
@ 2000-12-11 16:51 Ulrich.Weigand
  2000-12-11 17:01 ` Jes Sorensen
  2000-12-11 17:08 ` Alan Cox
  0 siblings, 2 replies; 4+ messages in thread
From: Ulrich.Weigand @ 2000-12-11 16:51 UTC (permalink / raw)
  To: linux-kernel; +Cc: schwidefsky



Hello,

since test11, the NFS code uses the set_bit and related routines
to manipulate the wb_flags member of the nfs_page struct (nfs_page.h).
Unfortunately, wb_flags has still data type 'int'.

This is a problem (at least) on the 64-bit S/390 architecture,
as our ..._bit macros assume bit 0 is the least significant bit
of a 'long', which means due to big-endian byte order that bit 0
resides in the 7th byte of the variable.  As an int occupies only
4 bytes, however, set_bit(0, int) clobbers memory.

Now the question is, who's correct?

At all other places (I found, at least), the ..._bit macros
are indeed used only on 'long' variables (or arrays).

However, on the Alpha, the ..._bit routines assume bit 0 to
be the least significant bit of an 'int'. Sparc64 on the other
hand also uses 'long'  :-/

What do you suggest we should do?   Fix nfs_page to use a 'long'
variable, or change our bitops macros to use ints?


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com


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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2000-12-17  8:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-12-11 16:51 NFS: set_bit on an 'int' variable OK for 64-bit? Ulrich.Weigand
2000-12-11 17:01 ` Jes Sorensen
2000-12-11 17:08 ` Alan Cox
2000-12-15  5:47   ` Rusty Russell

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.