History log of /dragonfly/sys/kern/kern_cputimer.c (Results 1 – 16 of 16)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2
# 8fbc264d 09-Jun-2020 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Refactor sysclock_t from 32 to 64 bits

* Refactor the core cpu timer API, changing sysclock_t from 32
to 64 bits. Provide a full 64-bit count from all sources.

* Implement muldivu64() u

kernel - Refactor sysclock_t from 32 to 64 bits

* Refactor the core cpu timer API, changing sysclock_t from 32
to 64 bits. Provide a full 64-bit count from all sources.

* Implement muldivu64() using gcc's 128-bit integer type. This
functions takes three 64-bit valus, performs (a * b) / d
using a 128-bit intermediate calculation, and returns a 64-bit
result.

Change all timer scaling functions to use this function which
effectively gives systimers the capability of handling any
timeout that fits 64 bits for the timer's resolution.

* Remove TSC frequency scaling, it is no longer needed. The
TSC timer is now used at its full resolution.

* Use atomic_fcmpset_long() instead of a clock spinlock when
updating the msb bits for hardware timer sources less than
64 bits wide.

* Properly recalculate existing systimers when the clock source
is changed. Existing systimers were not being recalculated,
leading to the system failing to boot when time sources had
radically different clock frequencies.

show more ...


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2
# fcf6efef 02-Mar-2019 Sascha Wildner <saw@online.de>

kernel: Remove numerous #include <sys/thread2.h>.

Most of them were added when we converted spl*() calls to
crit_enter()/crit_exit(), almost 14 years ago. We can now
remove a good chunk of them agai

kernel: Remove numerous #include <sys/thread2.h>.

Most of them were added when we converted spl*() calls to
crit_enter()/crit_exit(), almost 14 years ago. We can now
remove a good chunk of them again for where crit_*() are
no longer used.

I had to adjust some files that were relying on thread2.h
or headers that it includes coming in via other headers
that it was removed from.

show more ...


Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc
# 6b91ee43 14-Feb-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

kern: Add cpucounter which returns 64bit monotonic counter.

It will be used to:
- Simplify per-cpu raw time extraction.
- ALTQ machclk.
- Per packet timestamp for CoDel.

As of this commit, dummy cp

kern: Add cpucounter which returns 64bit monotonic counter.

It will be used to:
- Simplify per-cpu raw time extraction.
- ALTQ machclk.
- Per packet timestamp for CoDel.

As of this commit, dummy cpucounter, which falls back to cputimer,
and TSC cpucounter are implemented.

show more ...


# 0087561d 24-Jan-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

cputimer: Initialize explicitly.


Revision tags: v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0
# 42098fc3 14-Jun-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

cputimer: Add per-cpu handler and private data for interrupt cputimer.


Revision tags: v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5
# f3f3eadb 12-Mar-2015 Sascha Wildner <saw@online.de>

kernel: Move semicolon from the definition of SYSINIT() to its invocations.

This affected around 70 of our (more or less) 270 SYSINIT() calls.

style(9) advocates the terminating semicolon to be sup

kernel: Move semicolon from the definition of SYSINIT() to its invocations.

This affected around 70 of our (more or less) 270 SYSINIT() calls.

style(9) advocates the terminating semicolon to be supplied by the
invocation too, because it can make life easier for editors and other
source code parsing programs.

show more ...


Revision tags: v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1
# e80ea409 01-Feb-2014 Sepherosa Ziehau <sephe@dragonflybsd.org>

cputimer/intr: Move powersaving intr cputimer switching to kern_cputimer.c

While I'm here fix several bugs:
- Don't take ERESTART as error
- Use serializer to protect the number of power saving requ

cputimer/intr: Move powersaving intr cputimer switching to kern_cputimer.c

While I'm here fix several bugs:
- Don't take ERESTART as error
- Use serializer to protect the number of power saving request. Using
atomic_fetchadd_int is not enough here:
The first power saving request could fail. However, before its failure,
other power saving request could be successful, since the intr cputimer
switch is skipped.

show more ...


# 3b24650b 10-Jan-2014 Sepherosa Ziehau <sephe@dragonflybsd.org>

cputimer/intr: Restart only if the intr cputimer is changed


Revision tags: v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3
# e2addb3d 19-Jun-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

cputimer: The freq should be sysclock_t

This prepares for 64bit sysclock_t


Revision tags: v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2
# ef612539 17-May-2009 Sepherosa Ziehau <sephe@dragonflybsd.org>

Add interrupt cputimer interface.

- Better abstraction
- Easier to extend, e.g. add another interrupt cputimer
- No lapic timer pollution in isa/clock.c


Revision tags: v2.3.1, v2.2.1, v2.2.0, v2.3.0, v2.1.1, v2.0.1
# 3641b7ca 05-Jun-2008 Sascha Wildner <swildner@dragonflybsd.org>

* Fix some cases where NULL was used but 0 was meant (and vice versa).

* Remove some bogus casts of NULL to (void *).


# d8fdd978 09-Jun-2005 Eirik Nygaard <eirikn@dragonflybsd.org>

Replace the hand rolled linked list with a SLIST.


# 1636ba19 01-Jun-2005 Matthew Dillon <dillon@dragonflybsd.org>

Add a simple API tha allows the interrupt timer to efficiently convert
system hardware ticks (e.g. ACPI at 3x the frequency) to interrupt timer
ticks (e.g. 8254 timer 0).

Remove the sysctl code that

Add a simple API tha allows the interrupt timer to efficiently convert
system hardware ticks (e.g. ACPI at 3x the frequency) to interrupt timer
ticks (e.g. 8254 timer 0).

Remove the sysctl code that allows the system hardware timer to be selected
after boot.

show more ...


# dd6bed11 01-Jun-2005 Matthew Dillon <dillon@dragonflybsd.org>

Disable the ability to change the system clock with a sysctl. More
work is needed before this will work (if we ever want to make it work,
that is). The system clock selected at boot time is the one

Disable the ability to change the system clock with a sysctl. More
work is needed before this will work (if we ever want to make it work,
that is). The system clock selected at boot time is the one that will
be used.

show more ...


# 5ee041ae 01-Jun-2005 Matthew Dillon <dillon@dragonflybsd.org>

More cleanups, add the API implementation to select the system clock.