Make CPU children explicitly share parent unit numbers.Before this device unit number match was coincidental and broke if Idisabled some CPU device(s). Aside of cosmetics, for some drivers(may b
Make CPU children explicitly share parent unit numbers.Before this device unit number match was coincidental and broke if Idisabled some CPU device(s). Aside of cosmetics, for some drivers(may be considered broken) it caused talking to wrong CPUs.(cherry picked from commit d3a8f98acbf51e728411f10c5f179a30b9ca683c)
show more ...
coretemp: use x86_msr_op for thermal MSR access(cherry picked from commit 4cc6fe1e5b73ce540882753d918bc8208849e9e9)
coretemp(4): Switch to smp_rendezvous_cpus().Use of smp_rendezvous_cpus() instead of sched_bind() allows to notblock indefinitely if target CPU is running some thread with higherpriority, while a
coretemp(4): Switch to smp_rendezvous_cpus().Use of smp_rendezvous_cpus() instead of sched_bind() allows to notblock indefinitely if target CPU is running some thread with higherpriority, while all we need is single rdmsr/wrmsr instruction call.I guess it should also be much cheaper than full thread migration.MFC after: 2 weeksSponsored by: iXsystems, Inc.(cherry picked from commit 74f80bc1af2ffd56ec290f610c80e46f768731a0)
hwpmc: Always set pmc_cpuid to somethingpmc_cpuid was uninitialized for most AMD processor families. We can stillpopulate this string for unimplemented families.Also added a CPUID_TO_STEPPING m
hwpmc: Always set pmc_cpuid to somethingpmc_cpuid was uninitialized for most AMD processor families. We can stillpopulate this string for unimplemented families.Also added a CPUID_TO_STEPPING macro and converted existing code to use it.Reviewed by: mavMFC after: 2 weeksSponsored by: iXsystems, Inc.Differential Revision: https://reviews.freebsd.org/D25673
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that arestill not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that arestill not MPSAFE (or already are but aren’t properly marked).Use it in preparation for a general review of all nodes.This is non-functional change that adds annotations to SYSCTL_NODE andSYSCTL_PROC nodes using one of the soon-to-be-required flags.Mark all obvious cases as MPSAFE. All entries that haven't been markedas MPSAFE before are by default marked as NEEDGIANTApproved by: kib (mentor, blanket)Commented by: kib, gallatin, melifaroDifferential Revision: https://reviews.freebsd.org/D23718
Extract eventfilter declarations to sys/_eventfilter.hThis allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h"in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces hea
Extract eventfilter declarations to sys/_eventfilter.hThis allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h"in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces headerpollution substantially.EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .cfiles into appropriate headers (e.g., sys/proc.h, powernv/opal.h).As a side effect of reduced header pollution, many .c files and headers nolonger contain needed definitions. The remainder of the patch addressesadding appropriate includes to fix those files.LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required bysys/mutex.h since r326106 (but silently protected by header pollution priorto this change).No functional change (intended). Of course, any out of tree modules thatrelied on header pollution for sys/eventhandler.h, sys/lock.h, orsys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped.
Quiet coretemp probeOnly the first device will printcoretemp0: <CPU On-Die Thermal Sensors> numa-domain 0 on cpu0instead of all hyper threadsSubmitted by: kbowlingReviewed by: imp, sbrunoSpon
Quiet coretemp probeOnly the first device will printcoretemp0: <CPU On-Die Thermal Sensors> numa-domain 0 on cpu0instead of all hyper threadsSubmitted by: kbowlingReviewed by: imp, sbrunoSponsored by: Limelight NetworksDifferential Revision: https://reviews.freebsd.org/D15727
sys/dev: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - error
sys/dev: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.
Fix the deciKelvin to Celsius conversion in kernel.After r285994, sysctl(8) was fixed to use 273.15 instead of 273.20 as 0Creference and as result, the temperature read in sysctl(8) now exibits a
Fix the deciKelvin to Celsius conversion in kernel.After r285994, sysctl(8) was fixed to use 273.15 instead of 273.20 as 0Creference and as result, the temperature read in sysctl(8) now exibits a+0.1C difference.This commit fix the kernel references to match the reference value used insysctl(8) after r285994.Sponsored by: Rubicon Communications (Netgate)
Mark the coretemp(4) sysctls as MPSAFE, ensuring that Giant won't be heldunnecessarily by a user thread waiting to run on a specific CPU aftercalling sched_bind().Reviewed by: rstoneApproved by:
Mark the coretemp(4) sysctls as MPSAFE, ensuring that Giant won't be heldunnecessarily by a user thread waiting to run on a specific CPU aftercalling sched_bind().Reviewed by: rstoneApproved by: emaste (co-mentor)Sponsored by: Sandvine IncorporatedMFC after: 1 week
Use DEVMETHOD_END macro defined in sys/bus.h instead of {0, 0} sentinel on device_method_t arraysReviewed by: cognetApproved by: cognet
This isn't functionally identical. In some cases a hint to disableunit 0 would in fact disable all units.This reverts r241856Approved by: cperciva (implicit)
Now that device disabling is generic, remove extraneous code from thedevice drivers that used to provide this feature.Reviewed by: desApproved by: cpercivaMFC after: 1 week
#PROCHOT assertion is sticky after reading the MSR (accordingly withIntel manuals) it must be cleared by writing a 0.Fix that.Sponsored by: Sandvine IncorporatedReported by: rstoneReviewed by:
#PROCHOT assertion is sticky after reading the MSR (accordingly withIntel manuals) it must be cleared by writing a 0.Fix that.Sponsored by: Sandvine IncorporatedReported by: rstoneReviewed by: delphij, emaste, rstoneApproved by: re (kib)MFC after: 1 week
Expose more variables from coretemp(4) via sysctl: - tjmax - Tj(max) value from the CPU - delta - current delta reading - resolution - sensor resolution in Celsius - throttle_log - whether a #PR
Expose more variables from coretemp(4) via sysctl: - tjmax - Tj(max) value from the CPU - delta - current delta reading - resolution - sensor resolution in Celsius - throttle_log - whether a #PROCHOT was asserted since last resetSubmitted by: Mark Johnston <markjdb gmail.com> (mostly)MFC after: 1 monthApproved by: re (kib)
Bump the maximum coretemp limit (for CPU temperature) to 110. Severalcores with temp in the range 101-105 have been found in the past.Sponsored by: Sandvine IncorporatedReviewed by: delphij, emas
Bump the maximum coretemp limit (for CPU temperature) to 110. Severalcores with temp in the range 101-105 have been found in the past.Sponsored by: Sandvine IncorporatedReviewed by: delphij, emasteApproved by: re (kib)MFC after: 3 days
Detect and set Atom's Tj(max) to 90 if it's not the 45nm D400/D500/N400series.MFC after: 2 weeks
Correct a typo. According to Intel document 318914, the Tj(max) for Core 2Duo Mobile CPUs should be 105.Noticed by: Mark Johnston <markjdb gmail.com>MFC after: 3 days
Catch known CPUs before using IA32_TEMPERATURE_TARGET.This way we would have an opportunity to hide theTj(target) value doesn't seem right stuff if we knowit's not working there.Add temperature
Catch known CPUs before using IA32_TEMPERATURE_TARGET.This way we would have an opportunity to hide theTj(target) value doesn't seem right stuff if we knowit's not working there.Add temperature value for Core2 Duo Extreme Mobile thatI have access to.
Improve cputemp(4) driver wrt newer Intel processors, especiallyXeon 5500/5600 series: - Utilize IA32_TEMPERATURE_TARGET, a.k.a. Tj(target) in place of Tj(max) when a sane value is available, a
Improve cputemp(4) driver wrt newer Intel processors, especiallyXeon 5500/5600 series: - Utilize IA32_TEMPERATURE_TARGET, a.k.a. Tj(target) in place of Tj(max) when a sane value is available, as documented in Intel whitepaper "CPU Monitoring With DTS/PECI"; (By sane value we mean 70C - 100C for now); - Print the probe results when booting verbose; - Replace cpu_mask with cpu_stepping; - Use CPUID_* macros instead of rolling our own.Approved by: rpauloMFC after: 1 month
Change 'dev.cpu.N.temperature', sysctl I (degC) to IK (Kelvin).Approved by: re (rwatson)Reviewed by: rpauloSuggested by: umeMFC After: 3 days
Introduce cpu_vendor_id and replace a lot of strcmp(cpu_vendor, "...").Reviewed by: jhb, peter (early amd64 version)
style(9): remove FreeBSD CVS ID from the initial license comment.MFC after: 1 day
Change the check for cpu_high to actually match CPUID 0x06.Submitted by: Arthur Hartwig <arthur.hartwig at nokia.com>PR: 122878MFC after: 3 days
Don't attach to non Core CPUs. This is needed because on the PIII,querying the number of sensors returns > 0.PR: 120541Approved by: njl (mentor)
12