History log of /openbsd-src/sys/kern/kern_clock.c (Results 76 – 100 of 124)
Revision Date Author Comments
# b1748765 04-Aug-2004 art <art@openbsd.org>

hardclock detects if ITIMER_VIRTUAL and ITIMER_PROF have expired and
sends SIGVTALRM and SIGPROF to the process if they had. There is a big
problem with calling psignal from hardclock on MULTIPROCESS

hardclock detects if ITIMER_VIRTUAL and ITIMER_PROF have expired and
sends SIGVTALRM and SIGPROF to the process if they had. There is a big
problem with calling psignal from hardclock on MULTIPROCESSOR machines
though. It means we need to protect all signal state in the process
with a lock because hardclock doesn't obtain KERNEL_LOCK. Trying to
track down all the tentacles of this quickly becomes very messy. What
saves us at the moment is that SCHED_LOCK (which is used to protect
parts of the signal state, but not all) happens to be recursive and
forgives small and big errors. That's about to change.

So instead of trying to hunt down all the locking problems here, just
make hardclock not send signals. Instead hardclock schedules a timeout
that will send the signal later. There are many reasons why this works
just as good as the previous code, all explained in a comment written
in big, friendly letters in kern_clock.

miod@ ok noone else dared to ok this, but noone screamed in agony either.

show more ...


# acbb641d 04-Aug-2004 art <art@openbsd.org>

Even when we have timecounters we still have to do the check for secondary
cpus calling hardclock and the statclock emulation. Move some ifdef
__HAVE_TIMECOUNTER code.


# 3751347e 28-Jul-2004 tholo <tholo@openbsd.org>

This touches only MI code, and adds new time keeping code. The
code is all conditionalized on __HAVE_TIMECOUNTER, and not
enabled on any platforms.

adjtime(2) support exists, courtesy of nordin@, s

This touches only MI code, and adds new time keeping code. The
code is all conditionalized on __HAVE_TIMECOUNTER, and not
enabled on any platforms.

adjtime(2) support exists, courtesy of nordin@, sysctl(2) support
and a concept of quality for each time source attached exists.

High quality time sources exists for PIIX4 ACPI timer as well as
some AMD power management chips. This will have to be redone
once we actually add ACPI support (at that time we need to use
the ACPI interfaces to get at these clocks).

ok art@ ken@ miod@ jmc@ and many more

show more ...


# c2475275 24-Jun-2004 tholo <tholo@openbsd.org>

This moves access to wall and uptime variables in MI code,
encapsulating all such access into wall-defined functions
that makes sure locking is done as needed.

It also cleans up some uses of wall ti

This moves access to wall and uptime variables in MI code,
encapsulating all such access into wall-defined functions
that makes sure locking is done as needed.

It also cleans up some uses of wall time vs. uptime some
places, but there is sure to be more of these needed as
well, particularily in MD code. Also, many current calls
to microtime() should probably be changed to getmicrotime(),
or to the {,get}microuptime() versions.

ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others
"Oh, that is not your problem!" from miod@

show more ...


# 3212dc31 21-Jun-2004 tholo <tholo@openbsd.org>

First step towards more sane time handling in the kernel -- this changes
things such that code that only need a second-resolution uptime or wall
time, and used to get that from time.tv_secs or mono_t

First step towards more sane time handling in the kernel -- this changes
things such that code that only need a second-resolution uptime or wall
time, and used to get that from time.tv_secs or mono_time.tv_secs now get
this from separate time_t globals time_second and time_uptime.

ok art@ niklas@ nordin@

show more ...


# 012ea299 13-Jun-2004 niklas <niklas@openbsd.org>

debranch SMP, have fun


# c46fd98e 09-Jun-2004 art <art@openbsd.org>

Merge in a piece of the SMP branch into HEAD.

Introduce the cpu_info structure, p_cpu field in struct proc and global
scheduling context and various changed code to deal with this. At the
moment no

Merge in a piece of the SMP branch into HEAD.

Introduce the cpu_info structure, p_cpu field in struct proc and global
scheduling context and various changed code to deal with this. At the
moment no architecture uses this stuff yet, but it will allow us slow and
controlled migration to the new APIs.

All new code is ifdef:ed out.

ok deraadt@ niklas@

show more ...


# 29295d1c 02-Jun-2003 millert <millert@openbsd.org>

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


# f2cca587 13-May-2003 miod <miod@openbsd.org>

Force "struct timeval time" variable to be aligned to an 8-bit boundary.
This is at least necessary for the sparc microtime() function, and was
only working before by goat luck. The recent commons re

Force "struct timeval time" variable to be aligned to an 8-bit boundary.
This is at least necessary for the sparc microtime() function, and was
only working before by goat luck. The recent commons removal triggered it.

__atribute__ syntax borrowed from NetBSD.

show more ...


# 87175e28 24-Sep-2002 nordin <nordin@openbsd.org>

Restore pentium_microtime, testing by henning@, millert@. ok deraadt@


# c20ce3c5 06-Jul-2002 nordin <nordin@openbsd.org>

Remove kernel support for NTP. ok deraadt@ and tholo@


# 4c366c49 03-Jul-2002 miod <miod@openbsd.org>

Change all variables definitions (int foo) in sys/sys/*.h to variable
declarations (extern int foo), and compensate in the appropriate locations.


# b6beb9d7 07-Jun-2002 art <art@openbsd.org>

Change addupc_intr to not use fuswintr and suswintr to update the profiling
info. Since we only use it to profile processes in user mode and there
is no way to get back user mode without going past t

Change addupc_intr to not use fuswintr and suswintr to update the profiling
info. Since we only use it to profile processes in user mode and there
is no way to get back user mode without going past the AST that will
write out the profiling info in a context where copyout works.

Sitting in my tree for ages.
Reviewed and with some suggestions from nordin@

show more ...


# 12581b04 07-Jun-2002 nordin <nordin@openbsd.org>

Simplify so that we can remove CLKF_BASEPRI() and spllowersoftclock()
infrastructure. ok art@ and miod@


# 5733d2de 24-Apr-2002 espie <espie@openbsd.org>

Introduce a new file, machine/internal_types.h, to hold that specific arch
type characteristics.

internal_types.h will contain only settings invisible from standard C, e.g.,
in the __* or _[A-Z]* na

Introduce a new file, machine/internal_types.h, to hold that specific arch
type characteristics.

internal_types.h will contain only settings invisible from standard C, e.g.,
in the __* or _[A-Z]* namespace, and be reused by files like limits.h.

This allows us to shorten machine/limits.h greatly, as all the common defines
are now in sys/limits.h, plus a small stub in internal_types.h.

Tested on all arches as far as I know.
Approved after discussion with art, millert, deraadt, and others.

show more ...


# 39dc96a3 18-Feb-2002 nordin <nordin@openbsd.org>

Don't do unnecessary normalization. ok art@


# 049d13e1 15-Feb-2002 nordin <nordin@openbsd.org>

Improve comment. ok art@


# d860be06 15-Feb-2002 art <art@openbsd.org>

Add a tvtohz function. Like hzto, but doesn't subtract the current time.


# 02d935cf 02-Jan-2002 nordin <nordin@openbsd.org>

Remove reference to timeout table. deraadt@ ok


# 0114c2c5 14-Dec-2001 nate <nate@openbsd.org>

New hz value needed by AlphaServer 1200 and a couple other machines


# 489e49f9 06-Nov-2001 miod <miod@openbsd.org>

Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.
(Look ma, I might have broken the tree)


# 24beee7e 19-Aug-2001 art <art@openbsd.org>

generic soft interrupts for softclock.
From NetBSD.


# d0bc02a1 23-Aug-2000 art <art@openbsd.org>

Move the updating of timeout queues to after ticks is incremented.
The older code actually ensured that no timeout would be too early, but
it violated the principle of least surprise by making it see

Move the updating of timeout queues to after ticks is incremented.
The older code actually ensured that no timeout would be too early, but
it violated the principle of least surprise by making it seem (when you
looked at the time variable) that every timeout was one tick late.
Also periodic timeouts (that readd themselves in the timeout function),
will now happen with the frequency you expect.

show more ...


# b4dd1317 07-Jul-2000 art <art@openbsd.org>

Make hzto return 0 for timeouts that should happen now or in the past.


# c17885f6 06-Jul-2000 ho <ho@openbsd.org>

Change splsoftclock() to spllowersoftclock(). (art@ ok)


12345