History log of /src/sys/kern/subr_cpu.c |
Revision | | Date | Author | Comments |
1.23 |
| 23-Jun-2025 |
ad | Update a comment
|
1.22 |
| 05-Mar-2024 |
thorpej | branches: 1.22.2; Revert previous until I can diagnose a failure reported by gson.
|
1.21 |
| 05-Mar-2024 |
thorpej | Early in main(), assert that curcpu() evaluates as the primary CPU and stash away a pointer to it as the boot CPU for quick reference later.
|
1.20 |
| 04-Jan-2024 |
mlelstv | dump topology information with aprint_debug instead of requiring to build a DEBUG kernel.
|
1.19 |
| 08-Jul-2023 |
riastradh | curcpu_stable(9): New function for asserting curcpu() is stable.
|
1.18 |
| 24-Jan-2022 |
andvar | remove double "with" in comments and usage text. Also fix one typo.
|
1.17 |
| 04-Oct-2021 |
andvar | remove duplicate the article in comments.
|
1.16 |
| 23-Sep-2020 |
simonb | Don't dump the CPU topology in the uninspiring case of a single CPU.
|
1.15 |
| 11-Jun-2020 |
ad | Counter tweaks:
- Don't need to count anonpages+filepages any more; clean+unknown+dirty for each kind of page can be summed to get the totals.
- Track the number of free pages with a counter so that it's one less thing for the allocator to do, which opens up further options there.
- Remove cpu_count_sync_one(). It has no users and doesn't save a whole lot. For the cheap option, give cpu_count_sync() a boolean parameter indicating that a cached value is okay, and rate limit the updates for cached values to hz.
|
1.14 |
| 26-Mar-2020 |
ad | branches: 1.14.2; Don't overwrite ci_is_slow if it has explicitly been set. Changed for correctness, should have no impact.
|
1.13 |
| 15-Feb-2020 |
skrll | Remove the 'slow' argument from cpu_topology_set and create a new function cpu_topology_setspeed which sets the relative speed of the cpu.
This allows cpu_topology_set is be used at cpu hatch time. The relative speed is only known once all cpus have hatched/attached
OK ad@
|
1.12 |
| 09-Feb-2020 |
skrll | Trailing whitespace
|
1.11 |
| 13-Jan-2020 |
ad | Fix some more bugs in the topo stuff, that prevented it from working properly with fake topo info + MP.
|
1.10 |
| 13-Jan-2020 |
mrg | more diag for cpu topology debug kernels:
- print the slow/fast status of each cpu - if cpu topology is bogus, print info about the two CPUs that appear to have the same info.
|
1.9 |
| 13-Jan-2020 |
ad | Fix a loltastic typo.
|
1.8 |
| 12-Jan-2020 |
ad | cpu topology:
- Fix a stupid bug where it complained about non-existent SMT on assymetric systems.
- Give each CPU a pointer back to the first CPU in same package.
|
1.7 |
| 12-Jan-2020 |
mrg | provide some semblance of valid cpu topology for big.little systems.
while attaching cpus, if the FDT provides "capacity-dmips-mhz" track the fastest set, and call cpu_topology_set() with slow=true for any cpus that are not the fastest.
bug fix for cpu_topology_set(): actually set ci_is_slow for slow cpus.
with this change, and -current's recent scheduler changes, this means that long running processes run on the faster cores. on RK3399 based systems, i am seeing 20-50% speed ups for many tasks.
XXX: all this can be made common with armv7 big.little.
|
1.6 |
| 09-Jan-2020 |
ad | - Many small tweaks to the SMT awareness in the scheduler. It does a much better job now at keeping all physical CPUs busy, while using the extra threads to help out. In particular, during preempt() if we're using SMT, try to find a better CPU to run on and teleport curlwp there.
- Change the CPU topology stuff so it can work on asymmetric systems. This mainly entails rearranging one of the CPU lists so it makes sense in all configurations.
- Add a parameter to cpu_topology_set() to note that a CPU is "slow", for where there are fast CPUs and slow CPUs, like with the Rockwell RK3399. Extend the SMT awareness to try and handle that situation too (keep fast CPUs busy, use slow CPUs as helpers).
|
1.5 |
| 05-Jan-2020 |
ad | branches: 1.5.2; mi_cpu_init(): provide fake topology info for early boot.
|
1.4 |
| 02-Jan-2020 |
ad | mi_cpu_init: set ci_smt_primary early.
|
1.3 |
| 21-Dec-2019 |
ad | Fix build break (ci->ci_dev is not available on every port).
|
1.2 |
| 21-Dec-2019 |
ad | Fix build failure.
|
1.1 |
| 20-Dec-2019 |
ad | Split subr_cpu.c out of kern_cpu.c, to contain routines shared with rump.
|
1.5.2.2 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.5.2.1 |
| 17-Jan-2020 |
ad | Sync with head.
|
1.14.2.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.14.2.1 |
| 26-Mar-2020 |
martin | file subr_cpu.c was added on branch phil-wifi on 2020-04-08 14:08:52 +0000
|
1.22.2.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|