Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Oct 2001 10:34:40 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Julian Elischer <julian@elischer.org>, 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:  <200110301834.f9UIYeR94440@apollo.backplane.com>
References:   <20011030210857.R1525-100000@delplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
: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 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110301834.f9UIYeR94440>