- 15 Jan, 2022 7 commits
-
-
Colin Percival authored
Some VM systems announce the frequency of the local APIC via the CPUID leaf 0x40000010. Using this allows us to boot slightly faster by avoiding the need for timer calibration. Reviewed by: markj Sponsored by: https://www.patreon.com/cperciva
-
Colin Percival authored
While this CPUID leaf was originally only used by VMWare, other hypervisors now also use it to announce the TSC frequency to guests. This speeds up the boot process by 100 ms in EC2 and other systems, by allowing the early calibration DELAY to be skipped. Reviewed by: markj Sponsored by: https://www.patreon.com/cperciva
-
Colin Percival authored
This allows us to set tsc_is_invariant and select appropriately fenced versions of RDTSC based on the CPU type. Reviewed by: markj Sponsored by: https://www.patreon.com/cperciva
-
Navdeep Parhar authored
The default sysctl context setup by newbus for a device is eventually freed by device_sysctl_fini, which runs after the device driver's detach routine. sysctl nodes associated with this context must not use any resources (like driver locks, hardware access, counters, etc.) that are released by driver detach. There are a lot of sysctl nodes like this in cxgbe(4) and the fix is to hang them off a context that is explicitly freed by the driver before it releases any resource that might be used by a sysctl. This fixes panics when running "sysctl dev.t6nex dev.cc" in a tight loop and loading/unloading the driver in parallel. Reported by: Suhas Lokesha MFC after: 1 week Sponsored by: Chelsio Communications
-
Ed Maste authored
Fixes: ef790cc7 ("hdaa: update pin patch configurations") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33900
-
Warner Losh authored
Since both scsi_xpt and ata_xpt use the same name for the softc, this can lead to problems in gdb. Avoid the issue by renaming the ata probe_softc to aprobe_softc as has been done for the aprobe in 0f280cbd. This was overlooked at the time. Sponsored by: Netflix MFC After: 2 weeks
-
Simon J. Gerraty authored
VM's have little control over CPU speed, don't make matters worse by constantly spaming console. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D33902
-
- 14 Jan, 2022 27 commits
-
-
Alexander Motin authored
Before this change on every open da(4) driver read all mode pages to use only one bit. It was done so to not depend on the list of pages supported by the disk. But I've found that at least for SATL of LSI/ Broadcom HBAs with WD HDDs Power Condition mode page reading may take significant amount of time, much more than any other mode page, that visibly increased disk retaste time by GEOM. Address that by using data returned by the first MODE SENSE request to limit the following ones to only one (the first for now) mode page. With the change simultaneous retaste of 39 SATA disks takes about 2.5s instead of more than 4s before, and I no longer see "dareprobe" status on GEOM event thread. MFC after: 2 weeks Sponsored by: iXsystems, Inc.
-
Eric van Gyzen authored
Allow projects based on the FreeBSD tree to append to _PRIVATELIBS and _INTERNALLIBS by simply maintaining their own lists of LOCAL_PRIVATELIBS and LOCAL_INTERNALLIBS, respectively. Reviewed by: bdrewery MFC after: 1 week Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D33901
-
Vincenzo Maffione authored
In iflib_device_register(), the CTX_LOCK is acquired first and then IFNET_WLOCK is acquired by ether_ifattach(). However, in netmap_hw_reg() we do the opposite: IFNET_RLOCK is acquired first, and then CTX_LOCK is acquired by iflib_netmap_register(). Fix this LOR issue by wrapping the CTX_LOCK/UNLOCK calls in iflib_device_register with an additional IFNET_WLOCK. This is safe since the IFNET_WLOCK is recursive. MFC after: 1 month
-
Daniel Ebdrup Jensen authored
This tiny change to the example makes devd capable of reacting to carp status change events on VLAN interfaces. Reported by: Thomas Steen Rasmussen (tykling) <thomas at gibfest.dk>
-
Mark Johnston authored
Buckets in an SMR-enabled zone can legitimately be tagged with SMR_SEQ_INVALID. This effectively means that the zone destructor (if any) was invoked on all items in the bucket, and the contained memory is safe to reuse. If the first bucket in the full bucket list was tagged this way, UMA would unnecessarily poll per-CPU state before attempting to fetch a full bucket from the list. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
-
Mark Johnston authored
Previously we'd always print "out of swap space." This can be misleading, as there are other reasons an OOM kill can be triggered. In particular, it's entirely possible to trigger an OOM kill on a system with plenty of free swap space. Reviewed by: kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33810
-
Mark Johnston authored
These configuration options were removed in commit dfe13344. Some forthcoming work will update the UMA man page to describe its current behaviour on NUMA systems. MFC after: 1 week Sponsored by: The FreeBSD Foundation
-
Mark Johnston authored
The test tries to connect a socket to a closed port at 127.0.0.1. It sets O_NONBLOCK on the socket first and expects to get EINPROGRESS from connect(2), but this is not guaranteed, ECONNREFUSED is possible. Handle both cases, and re-enable the test. PR: 240621 MFC after: 1 week Sponsored by: The FreeBSD Foundation
-
Mark Johnston authored
The stack gap implementation is disabled by default now, so the test passes. This reverts commit dad71022. PR: 259969 MFC after: 1 week Sponsored by: The FreeBSD Foundation
-
Corvin Köhne authored
If an emulation uses those functions instead of set_config_value_node or set_config_value, it allows the config values to get overwritten. Introducing new functions is much more readable than if else statements in the emulation code. Reviewed by: khng MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33770
-
Corvin Köhne authored
Some guests or driver might depend on MTRR to work properly. E.g. the nvidia gpu driver won't work without MTRR. Reviewed by: markj MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33333
-
Li-Wen Hsu authored
Fixes: b5d227b0 powerpc: Add atomic_testand_{set,clear}_{int,long}
-
Emmanuel Vadot authored
It isn't needed and will cause problem when upgrading to a newer release. Reviewed by: emaste MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33878
-
Kristof Provost authored
The roundrobin pool stores its state in the rule, which could potentially lead to invalid addresses being returned. For example, thread A just executed PF_AINC(&rpool->counter) and immediately afterwards thread B executes PF_ACPY(naddr, &rpool->counter) (i.e. after the pf_match_addr() check of rpool->counter). Lock the rpool with its own mutex to prevent these races. The performance impact of this is expected to be low, as each rule has its own lock, and the lock is also only relevant when state is being created (so only for the initial packets of a connection, not for all traffic). See also: https://redmine.pfsense.org/issues/12660 Reviewed by: glebius MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D33874
-
Wei Hu authored
RX fencing allows the driver to know that any prior change to the RQs has finished, e.g. when the RQs are disabled/enabled or the hashkey/indirection table are changed, RX fencing is required. Remove the previous 'sleep' workaround and add the real support for RX fencing as the PF driver supports the MANA_FENCE_RQ request now (any old PF driver not supporting the request won't be used in production). MFC after: 2 weeks Sponsored by: Microsoft
-
Justin Hibbits authored
powerpc64le requires at minimum POWER8 hardware, so ISA 2.06 atomic instructions are always available. This isn't so for powerpc64 (BE), so isn't enabled by default there.
-
Justin Hibbits authored
Add machine-optimized implementations for the following: * atomic_testandset_int * atomic_testandclear_int * atomic_testandset_long * atomic_testandclear_long This fixes the build with ISA_206_ATOMICS enabled. Add the associated atomic_testandset_32, atomic_testandclear_32, so that ice(4) can potentially build.
-
Alexander Motin authored
It is a global element index, so it may need more than one byte. For now it is only a cosmetics, since the field is never read. MFC after: 2 weeks
-
John Baldwin authored
Requested by: kib
-
John Baldwin authored
Fixes: bd7630ef ia32: Sync signal context type names with i386.
-
John Baldwin authored
IVs are not the size of keys as a general case. Most often they are the size of a single block. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33885
-
John Baldwin authored
- Use AES_XTS_IV_LEN instead of the key length as the IV length. - Use G_ELI_IVKEYLEN as the size of the zeroed iv[] array in g_eli_crypto_cipher() to match geli_io(). PR: 261172 Reported by: Malcolm Matalka <mmatalka@gmail.com>, mikael Reviewed by: markj Sponsored by: FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33884
-
John Baldwin authored
Requested by: kib Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33886
-
John Baldwin authored
- Use ia32_freebsd4_* instead of ia32_*4. - Use ia32_o* instead of ia32_*3. Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33882
-
John Baldwin authored
Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33881
-
John Baldwin authored
This matches the recent renaming of struct freebsd4_ucontext. Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33880
-
Piotr Kubaj authored
Differential review: https://reviews.freebsd.org/D33875 Approved by: dim, imp
-
- 13 Jan, 2022 6 commits
-
-
Austin Zhang authored
The ACPI spec describes the FADT->Century field as: The RTC CMOS RAM index to the century of data value (hundred and thousand year decimals). If this field contains a zero, then the RTC centenary feature is not supported. If this field has a non-zero value, then this field contains an index into RTC RAM space that OSPM can use to program the centenary field. Use this field to decide whether to program the CENTURY register of the CMOS RTC device. Reviewed by: akumar3@isilon.com, dab, vangyzen MFC after: 1 week Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D33667 MFC after: 1 week Sponsored by: Dell EMC Isilon
-
John Baldwin authored
GNU's libssp installed this (in addition to libssp_nonshared.a), but the libc-based libssp does not. Reviewed by: kevans, emaste Fixes: cd0d51ba Provide libssp based on libc Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33852
-
John Baldwin authored
Reviewed by: imp, emaste Fixes: eb61f7bd Stop building libl and liby Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33851
-
John Baldwin authored
Reviewed by: emaste Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33850
-
Warner Losh authored
If the last matching device entry partially matched in camperiphunit, but then hit a continue case, we'd mistakenly think we had a match on that entry. This lead to a number of problems downstream (usually a belief that we had a duplicate wiring hint because unit = 0 is the default). Fix this by using a for loop that does the assignment before the loop termination test. Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D33873
-
Stefan Eßer authored
This tool can be used to detect install conflicts (ports/packages that conflict with each other because of identically named files). MFC after: 3 days
-