Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys



Module Name:    src
Committed By:   thorpej
Date:           Thu Jan  2 15:42:27 UTC 2020

Modified Files:
        src/sys/compat/common: kern_info_43.c kern_time_50.c
        src/sys/compat/netbsd32: netbsd32_sysctl.c
        src/sys/external/bsd/drm2/include/linux: ktime.h
        src/sys/fs/nfs/common: nfs_lock.c
        src/sys/kern: init_main.c init_sysctl.c kern_rndq.c kern_tc.c
            kern_time.c
        src/sys/miscfs/fdesc: fdesc_vnops.c
        src/sys/miscfs/kernfs: kernfs.h kernfs_vnops.c
        src/sys/miscfs/procfs: procfs_linux.c
        src/sys/nfs: nfs_serv.c
        src/sys/rump/librump/rumpkern: cons.c emul.c rump.c
        src/sys/sys: kernel.h timevar.h

Log Message:
- Eliminate the global "boottime" variable, which was being accessed
  without any synchronization against changes by e.g. clock_settime().
- Replace with new getbinboottime() / getnanoboottime() / getmicroboottime()
  functions (naming mirrors that of other time access functions in kern_tc.c).
  It returns the (maybe-converted) value of timebasebin, which also tracks
  our estimate of when the system was booted (i.e. the legacy "boottime" was
  redundant).

XXX There needs to be a lockless synchronization mechanism for reading
timebasebin, but this is a problem in kern_tc.c that pre-existed these
"boottime" changes.  At least now the problem is centralized in one location.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/compat/common/kern_info_43.c
cvs rdiff -u -r1.33 -r1.34 src/sys/compat/common/kern_time_50.c
cvs rdiff -u -r1.40 -r1.41 src/sys/compat/netbsd32/netbsd32_sysctl.c
cvs rdiff -u -r1.7 -r1.8 src/sys/external/bsd/drm2/include/linux/ktime.h
cvs rdiff -u -r1.2 -r1.3 src/sys/fs/nfs/common/nfs_lock.c
cvs rdiff -u -r1.516 -r1.517 src/sys/kern/init_main.c
cvs rdiff -u -r1.222 -r1.223 src/sys/kern/init_sysctl.c
cvs rdiff -u -r1.95 -r1.96 src/sys/kern/kern_rndq.c
cvs rdiff -u -r1.53 -r1.54 src/sys/kern/kern_tc.c
cvs rdiff -u -r1.202 -r1.203 src/sys/kern/kern_time.c
cvs rdiff -u -r1.130 -r1.131 src/sys/miscfs/fdesc/fdesc_vnops.c
cvs rdiff -u -r1.40 -r1.41 src/sys/miscfs/kernfs/kernfs.h
cvs rdiff -u -r1.161 -r1.162 src/sys/miscfs/kernfs/kernfs_vnops.c
cvs rdiff -u -r1.79 -r1.80 src/sys/miscfs/procfs/procfs_linux.c
cvs rdiff -u -r1.177 -r1.178 src/sys/nfs/nfs_serv.c
cvs rdiff -u -r1.8 -r1.9 src/sys/rump/librump/rumpkern/cons.c
cvs rdiff -u -r1.194 -r1.195 src/sys/rump/librump/rumpkern/emul.c
cvs rdiff -u -r1.338 -r1.339 src/sys/rump/librump/rumpkern/rump.c
cvs rdiff -u -r1.31 -r1.32 src/sys/sys/kernel.h
cvs rdiff -u -r1.39 -r1.40 src/sys/sys/timevar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index