Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Oct 2001 11:21:39 -0800 (PST)
From:      Julian Elischer <julian@elischer.org>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Bruce Evans <bde@zeta.org.au>, Nate Williams <nate@yogotech.com>, Poul-Henning Kamp <phk@critter.freebsd.dk>, Peter Wemm <peter@wemm.org>, arch@FreeBSD.ORG
Subject:   Re: 64 bit times revisited.. 
Message-ID:  <Pine.BSF.4.21.0110301120420.26174-100000@InterJet.elischer.org>
In-Reply-To: <200110301834.f9UIYeR94440@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Tue, 30 Oct 2001, Matthew Dillon wrote:

> :On Mon, 29 Oct 2001, Julian Elischer wrote:
> :
> :> and you really want us to believe that data file came form 1910?
> :
> :I simply refuted a false claim that timestamps can't be before 1970.
> :
> :> On Tue, 30 Oct 2001, Bruce Evans wrote:
> :>
> :> > On Mon, 29 Oct 2001, Julian Elischer wrote:
> :> >
> :> > > be used for multiplying the seconds scale by 4. (in UFS timestamps..
> :> > > you would never write a non-normalised time to disk)
> :> > > also timestamps can't be before 1970 so making it unsigned
> :> > > allows us to go to 2100+ and mutiplying it by for takes us to about 2600..
> :> >
> :> > Script started on Tue Oct 30 06:55:55 2001
> :> > ttyp1:bde@gamplex:/tmp> touch -t 191001011230 foo
> :> > ttyp1:bde@gamplex:/tmp> ls -l foo
> :> > -rw-r--r--  1 bde  wheel  0 Jan  1  1910 foo
> :> > ttyp1:bde@gamplex:/tmp> exit
> :> >
> :> > Script done on Tue Oct 30 06:56:10 2001
> :
> :This mailing list is approaching the quality of the average newsgroup,
> :complete with top posting by newbies.
> :
> :Bruce
> 
>     We can't make time_t unsigned anyway.  A huge amount of code 
>     (hundreds of instances) do delta comparisons and simply assume
>     that time_t is signed.  With it unsigned many of those comparisons
>     would blow up (return true when they should return false).

I'm not advocating making time_t unsigned..
just the timestamp fields in the UFS inodes..


> 
>     I'm about ready to give up trying to convince people that it's worth
>     moving IA32 to 64 bit timestamps.  The bigger issue, however, is
>     what to do about 64 bit platforms.  I keep finding system calls
>     that need to be rolled.  The list is now getting pretty big.  I am
>     up to 22 system calls.
> 
>     This means that if we are NOT going to change IA32 but we ARE going
>     to change 64 bit architectures, then we should do it *without*
>     rolling system calls at all which would mean having to eat any 
>     binary incompatibilities from older code.  It might conceivably be
>     worth rolling the syscalls if we were to change IA32, but if we aren't
>     it just isn't worth it to roll the syscalls just to support 
>     pre-time-change 64 bit platforms.
> 
> 					-Matt
> 					Matthew Dillon 
> 					<dillon@backplane.com>
> 
> 
> 7	MCOMPAT2 BSD	{ int wait4(int pid, int *status, int options, \
> 83	MCOMPAT2 BSD	{ int setitimer(u_int which, struct o2itimerval *itv, \
> 86	MCOMPAT2 BSD	{ int getitimer(u_int which, struct o2itimerval *itv); }
> 93	MCOMPAT2 BSD	{ int select(int nd, fd_set *in, fd_set *ou, \
> 116	MCOMPAT2 BSD	{ int gettimeofday(struct o2timeval *tp, \
> 117	MCOMPAT2 BSD	{ int getrusage(int who, struct o2rusage *rusage); }
> 122	MCOMPAT2 BSD	{ int settimeofday(struct o2timeval *tv, \
> 138	COMPAT2	BSD	{ int utimes(char *path, struct o2timeval *tptr); }
> 140	MCOMPAT2 BSD	{ int adjtime(struct o2timeval *delta, \
> 188	COMPAT2	POSIX	{ int stat(char *path, struct o2stat *ub); }
> 189	MCOMPAT2 POSIX	{ int fstat(int fd, struct o2stat *sb); }
> 190	COMPAT2	POSIX	{ int lstat(char *path, struct o2stat *ub); }
> 206	COMPAT2	BSD	{ int futimes(int fd, struct o2timeval *tptr); }
> 232	MCOMPAT2 POSIX	{ int clock_gettime(clockid_t clock_id, \
> 233	MCOMPAT2 POSIX	{ int clock_settime(clockid_t clock_id, \
> 234	MCOMPAT2 POSIX	{ int clock_getres(clockid_t clock_id, \
> 240	MCOMPAT2 POSIX	{ int nanosleep(const struct o2timespec *rqtp, \
> 276	COMPAT2	BSD	{ int lutimes(char *path, struct o2timeval *tptr); }
> 299	COMPAT2	BSD 	{ int fhstat(const struct fhandle *u_fhp, struct o2stat *sb); }
> 315     COMPAT2 BSD     { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct o2timespec *timeout); }
> 334     MCOMPAT2 POSIX   { int sched_rr_get_interval (pid_t pid, struct o2timespec *interval); }
> 363	MCOMPAT2 BSD	{ int kevent(int fd, \
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-arch" in the body of the message
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0110301120420.26174-100000>