[parisc-linux] time_t, size_t, off_t, ...
Paul Bame
bame@noam.fc.hp.com
Thu, 30 Nov 2000 15:28:32 -0700
= time_t itself is normally a long because historically (pre ANSI/POSIX) back
= when men where men and adb was the coolest debugger on the planet it was
= the case that time() foo was a function using longs
=
= [Random historical aside - very early C didnt support passing long as an
= argument hence time(&foo) not foo=time()]
I cut my Unix teeth on pdp11/v6-7 -- counts as very early I think :-)
= I know of no kernel reason. If you are using a 1KHz system clock then it
= may be handy to up the loop time for the counter to above 50 days by using
= long.
I'm setting clock_t to 64 bits on wide kernel FYI, but will keep time_t
and suseconds_t at 32 bits until there's a problem. Won't effect
32-bit userspace if it has to change.
= > (4) I thought I could get away with making sigset_t.sig int[] therefore
= > 32 bits everywhere. It would save several 32/64 syscall
= > wrappers (and increase speed). However this little piece
= > in kernel/signal.c is a hard-coded assumption that .sig[] is
= > an array of long, and was a bitch to find:
= >
= > unsigned long i, *s, *m, x;
= > s = tsk->pending.signal.sig;
=
= Eep. Its not unreasonable to suggest to Linus that gets fixed 8)
Yeah, too bad I'm too much of a wimp to sign up for l-k -- already get
more e-mail than I read :-(
= On the 64bit port _please_ use a 64bit ino_t. It'll possibly tickle the odd
= other problem but post 2.4 the main kernel has to move to 64bit ino_t to make
= NFSv3 and XFS sanely work. That may well let you relax and look smug as the
= rest of the world suffers 8)
Ok, I'll use 64-bit ino_t on parisc64.
-P