#
337034 |
|
01-Aug-2018 |
hselasky |
MFC r330349 and r330362:
Allow pause_sbt() to catch signals during sleep by passing C_CATCH flag. Define pause_sig() function macro helper similarly to other kernel functions which catch signals. Update outdated function description.
Document pause_sig(9) and update prototypes for existing pause(9) and pause_sbt(9) functions.
Discussed with: kib@ Suggested by: cem@ Sponsored by: Mellanox Technologies
|
#
303433 |
|
28-Jul-2016 |
kib |
MFC r303151: Provide counter_warning(9) KPI.
MFC r303155: Hide counted_warning(9) under #ifdef _KERNEL braces.
|
#
289032 |
|
08-Oct-2015 |
cperciva |
MFC r288446: Disable suspend during shutdown.
|
#
288766 |
|
05-Oct-2015 |
mav |
MFC r279433 (by rstone): Implement asprintf in libkern
|
#
284199 |
|
10-Jun-2015 |
kib |
MFC r283600: Perform SU cleanup in the AST handler. Do not sleep waiting for SU cleanup while owning vnode lock.
On MFC, for KBI stability, td_su member was moved to the end of the struct thread.
|
#
283676 |
|
29-May-2015 |
markj |
MFC r281915: Make vpanic() externally visible.
MFC r281916: Fix DTrace's panic() action.
|
#
281538 |
|
14-Apr-2015 |
jhb |
MFC 278474,278476,280279: Expand the bitcount*() API and use it to implement CPU_COUNT for cpusets.
278474: Use __builtin_popcnt() to implement a BIT_COUNT() operation for bitsets and use this to implement CPU_COUNT() to count the number of CPUs in a cpuset.
278476: Use __builtin_popcountl() instead of __builtin_popcount().
280279: Expand the bitcount* API to support 64-bit integers, plain ints and longs and create a "hidden" API that can be used in other system headers without adding namespace pollution. - If the POPCNT instruction is enabled at compile time, use __builtin_popcount*() to implement __bitcount*(), otherwise fall back to software implementations. - Use the existing bitcount16() and bitcount32() from <sys/systm.h> to implement the non-POPCNT __bitcount16() and __bitcount32() in <sys/types.h>. - For the non-POPCNT __bitcount64(), use a similar SWAR method on 64-bit systems. For 32-bit systems, use two __bitcount32() operations on the two halves. - Use __bitcount32() to provide a __bitcount() that operates on plain ints. - Use either __bitcount32() or __bitcount64() to provide a __bitcountl() that operates on longs. - Add public bitcount*() wrappers for __bitcount*() for use in the kernel in <sys/libkern.h>. - Use __bitcountl() instead of __builtin_popcountl() in BIT_COUNT().
|
#
280973 |
|
01-Apr-2015 |
jhb |
MFC 276724: On some Intel CPUs with a P-state but not C-state invariant TSC the TSC may also halt in C2 and not just C3 (it seems that in some cases the BIOS advertises its C3 state as a C2 state in _CST). Just play it safe and disable both C2 and C3 states if a user forces the use of the TSC as the timecounter on such CPUs.
PR: 192316
|
#
278522 |
|
10-Feb-2015 |
jhb |
MFC 273800: Rework virtual machine hypervisor detection. - Move the existing code to x86/x86/identcpu.c since it is x86-specific. - If the CPUID2_HV flag is set, assume a hypervisor is present and query the 0x40000000 leaf to determine the hypervisor vendor ID. Export the vendor ID and the highest supported hypervisor CPUID leaf via hv_vendor[] and hv_high variables, respectively. The hv_vendor[] array is also exported via the hw.hv_vendor sysctl. - Merge the VMWare detection code from tsc.c into the new probe in identcpu.c. Add a VM_GUEST_VMWARE to identify vmware and use that in the TSC code to identify VMWare.
|
#
274648 |
|
18-Nov-2014 |
kib |
Merge the fueword(9) and casueword(9). In particular,
MFC r273783: Add fueword(9) and casueword(9) functions. MFC note: ia64 is handled like arm, with NO_FUEWORD define.
MFC r273784: Replace some calls to fuword() by fueword() with proper error checking.
MFC r273785: Convert kern_umtx.c to use fueword() and casueword(). MFC note: the sys__umtx_lock and sys__umtx_unlock syscalls are not converted, they are removed from HEAD, and not used. The do_sem2*() family is not yet merged to stable/10, corresponding chunk will be merged after do_sem2* are committed.
MFC r273788 (by jkim): Actually install casuword(9) to fix build.
MFC r273911: Add type qualifier volatile to the base (userspace) address argument of fuword(9) and suword(9).
|
#
272946 |
|
11-Oct-2014 |
kib |
MFC r272536: Add kernel option KSTACK_USAGE_PROF.
|
#
266347 |
|
17-May-2014 |
ian |
MFC 264019, 264041, 264048, 264049, 264050, 264051
Add support for event timers whose clock frequency can change while running.
Apparently all ARM configs build kern_et.c, but only a few of them also build kern_clocksource.c, un-break the build by not referencing functions in kern_clocksource if NO_EVENTTIMERS is defined.
Add variable-frequency support to the arm mpcore eventtimer driver.
mpcore_timer: Disable the timer and clear any pending bit, then setup the new counter register values, then restart the timer. Also re-nest the parens properly for casting the result of converting time and frequency to a count.
|
#
266197 |
|
15-May-2014 |
ian |
MFC r261786, r261789
Rework the EARLY_PRINTF mechanism. Instead of defining a special eprintf() routine, now a platform can provide a pointer to an early_putc() routine which is used instead of cn_putc(). Control can be handed off from early printf support to standard console support by NULLing out the pointer during standard console init.
Convert two while(1); statements into proper panics.
|
#
266094 |
|
14-May-2014 |
ian |
MFC r261038, r261039, r261040, r261041
Implement generic support for early printf.
|
#
258127 |
|
14-Nov-2013 |
pluknet |
Merge r257996,r258001,r258069 from head: fixes for HyperV guest.
- Set description string for VM_GUEST_HV (HyperV guest). - Add a brief comment about VM_GUEST and vm_guest_sysctl_names relationship. - CTASSERT that vm_guest range is covered by vm_guest_sysctl_names.
Approved by: re (glebius)
|
#
257122 |
|
25-Oct-2013 |
kib |
MFC r256502: Similar to debug.iosize_max_clamp sysctl, introduce devfs_iosize_max_clamp sysctl, which allows/disables SSIZE_MAX-sized i/o requests on the devfs files.
Approved by: re (glebius)
|
#
256758 |
|
18-Oct-2013 |
gibbs |
MFC r256425:
Centralize the detection logic for the Hyper-V hypervisor.
Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D Reviewed by: gibbs, grehan Approved by: re (gjb)
sys/sys/systm.h: * Add a new VM_GUEST type, VM_GUEST_HV (HyperV guest).
sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c: sys/dev/hyperv/vmbus/hv_hv.c: sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c: * Set vm_guest to VM_GUEST_HV and use that on other HyperV related devices instead of cloning the cpuid hypervisor check. * Cleanup the vmbus_identify function. ------------------------------------------------------------------------
|
#
284199 |
|
10-Jun-2015 |
kib |
MFC r283600: Perform SU cleanup in the AST handler. Do not sleep waiting for SU cleanup while owning vnode lock.
On MFC, for KBI stability, td_su member was moved to the end of the struct thread.
|
#
283676 |
|
29-May-2015 |
markj |
MFC r281915: Make vpanic() externally visible.
MFC r281916: Fix DTrace's panic() action.
|
#
281538 |
|
14-Apr-2015 |
jhb |
MFC 278474,278476,280279: Expand the bitcount*() API and use it to implement CPU_COUNT for cpusets.
278474: Use __builtin_popcnt() to implement a BIT_COUNT() operation for bitsets and use this to implement CPU_COUNT() to count the number of CPUs in a cpuset.
278476: Use __builtin_popcountl() instead of __builtin_popcount().
280279: Expand the bitcount* API to support 64-bit integers, plain ints and longs and create a "hidden" API that can be used in other system headers without adding namespace pollution. - If the POPCNT instruction is enabled at compile time, use __builtin_popcount*() to implement __bitcount*(), otherwise fall back to software implementations. - Use the existing bitcount16() and bitcount32() from <sys/systm.h> to implement the non-POPCNT __bitcount16() and __bitcount32() in <sys/types.h>. - For the non-POPCNT __bitcount64(), use a similar SWAR method on 64-bit systems. For 32-bit systems, use two __bitcount32() operations on the two halves. - Use __bitcount32() to provide a __bitcount() that operates on plain ints. - Use either __bitcount32() or __bitcount64() to provide a __bitcountl() that operates on longs. - Add public bitcount*() wrappers for __bitcount*() for use in the kernel in <sys/libkern.h>. - Use __bitcountl() instead of __builtin_popcountl() in BIT_COUNT().
|
#
280973 |
|
01-Apr-2015 |
jhb |
MFC 276724: On some Intel CPUs with a P-state but not C-state invariant TSC the TSC may also halt in C2 and not just C3 (it seems that in some cases the BIOS advertises its C3 state as a C2 state in _CST). Just play it safe and disable both C2 and C3 states if a user forces the use of the TSC as the timecounter on such CPUs.
PR: 192316
|
#
278522 |
|
10-Feb-2015 |
jhb |
MFC 273800: Rework virtual machine hypervisor detection. - Move the existing code to x86/x86/identcpu.c since it is x86-specific. - If the CPUID2_HV flag is set, assume a hypervisor is present and query the 0x40000000 leaf to determine the hypervisor vendor ID. Export the vendor ID and the highest supported hypervisor CPUID leaf via hv_vendor[] and hv_high variables, respectively. The hv_vendor[] array is also exported via the hw.hv_vendor sysctl. - Merge the VMWare detection code from tsc.c into the new probe in identcpu.c. Add a VM_GUEST_VMWARE to identify vmware and use that in the TSC code to identify VMWare.
|
#
274648 |
|
18-Nov-2014 |
kib |
Merge the fueword(9) and casueword(9). In particular,
MFC r273783: Add fueword(9) and casueword(9) functions. MFC note: ia64 is handled like arm, with NO_FUEWORD define.
MFC r273784: Replace some calls to fuword() by fueword() with proper error checking.
MFC r273785: Convert kern_umtx.c to use fueword() and casueword(). MFC note: the sys__umtx_lock and sys__umtx_unlock syscalls are not converted, they are removed from HEAD, and not used. The do_sem2*() family is not yet merged to stable/10, corresponding chunk will be merged after do_sem2* are committed.
MFC r273788 (by jkim): Actually install casuword(9) to fix build.
MFC r273911: Add type qualifier volatile to the base (userspace) address argument of fuword(9) and suword(9).
|
#
272946 |
|
11-Oct-2014 |
kib |
MFC r272536: Add kernel option KSTACK_USAGE_PROF.
|
#
266347 |
|
17-May-2014 |
ian |
MFC 264019, 264041, 264048, 264049, 264050, 264051
Add support for event timers whose clock frequency can change while running.
Apparently all ARM configs build kern_et.c, but only a few of them also build kern_clocksource.c, un-break the build by not referencing functions in kern_clocksource if NO_EVENTTIMERS is defined.
Add variable-frequency support to the arm mpcore eventtimer driver.
mpcore_timer: Disable the timer and clear any pending bit, then setup the new counter register values, then restart the timer. Also re-nest the parens properly for casting the result of converting time and frequency to a count.
|
#
266197 |
|
15-May-2014 |
ian |
MFC r261786, r261789
Rework the EARLY_PRINTF mechanism. Instead of defining a special eprintf() routine, now a platform can provide a pointer to an early_putc() routine which is used instead of cn_putc(). Control can be handed off from early printf support to standard console support by NULLing out the pointer during standard console init.
Convert two while(1); statements into proper panics.
|
#
266094 |
|
14-May-2014 |
ian |
MFC r261038, r261039, r261040, r261041
Implement generic support for early printf.
|
#
258127 |
|
14-Nov-2013 |
pluknet |
Merge r257996,r258001,r258069 from head: fixes for HyperV guest.
- Set description string for VM_GUEST_HV (HyperV guest). - Add a brief comment about VM_GUEST and vm_guest_sysctl_names relationship. - CTASSERT that vm_guest range is covered by vm_guest_sysctl_names.
Approved by: re (glebius)
|
#
257122 |
|
25-Oct-2013 |
kib |
MFC r256502: Similar to debug.iosize_max_clamp sysctl, introduce devfs_iosize_max_clamp sysctl, which allows/disables SSIZE_MAX-sized i/o requests on the devfs files.
Approved by: re (glebius)
|
#
256758 |
|
18-Oct-2013 |
gibbs |
MFC r256425:
Centralize the detection logic for the Hyper-V hypervisor.
Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D Reviewed by: gibbs, grehan Approved by: re (gjb)
sys/sys/systm.h: * Add a new VM_GUEST type, VM_GUEST_HV (HyperV guest).
sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c: sys/dev/hyperv/vmbus/hv_hv.c: sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c: * Set vm_guest to VM_GUEST_HV and use that on other HyperV related devices instead of cloning the cpuid hypervisor check. * Cleanup the vmbus_identify function. ------------------------------------------------------------------------
|