- 12 Mar, 2021 3 commits
-
-
Warner Losh authored
-
Warner Losh authored
Update the style to one sentence per line, as is currently used in the FreeBSD document project. Make the links to the handbook clickable.
-
Warner Losh authored
Complete the transition to README.md I started 3 years ago. Remove the now-redundant README file. It's currently just README.md w/o the light markup and adds no real value. This also allows us to use additional MarkDown markup as we see fit w/o worrying about keeping things in sync.
-
- 11 Mar, 2021 13 commits
-
-
Warner Losh authored
-
Mark Johnston authored
We can't call malloc(M_WAITOK) in a callout handler. Reviewed by: imp Reported by: pho Tested by: pho MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29223
-
Edward Tomasz Napierala authored
Reviewed By: debdrup, imp (earlier version) Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D28939
-
Warner Losh authored
The NIC no longer provides a host database, and hasn't for quite some time. Remove that paragraph, it's not been relevant for many years. Also, hosts appeared in 4.1c, not 4.2, so correct that too. Noticed by: Henry Bent
-
Warner Losh authored
nvme drives are configured early in boot. However, a number of the configuration steps takes which take a while, so we defer those to a config intrhook that runs before the root filesystem is mounted. At the same time, the PCI hot plug wakes up and tests the status of the card. It may decide that the card has gone away and deletes the child. As part of that process nvme_detach is called. If this call happens after the config_intrhook starts to run, but before it is finished, there's a race where we can tear down the device's soft state while the config_intrhook is still using it. Use the new config_intrhook_drain to disestablish the hook. Either it will be removed w/o running, or the routine will wait for it to finish. This closes the race and allows safe hotplug at any time, even very early in boot. Sponsored by: Netflix, Inc Reviewed by: jhb, mav Differential Revision: https://reviews.freebsd.org/D29006
-
Warner Losh authored
config_intrhook_drain will remove the hook from the list as config_intrhook_disestablish does if the hook hasn't been called. If it has, config_intrhook_drain will wait for the hook to be disestablished in the normal course (or expedited, it's up to the driver to decide how and when to call config_intrhook_disestablish). This is intended for removable devices that use config_intrhook and might be attached early in boot, but that may be removed before the kernel can call the config_intrhook or before it ends. To prevent all races, the detach routine will need to call config_intrhook_train. Sponsored by: Netflix, Inc Reviewed by: jhb, mav, gde (in D29006 for man page) Differential Revision: https://reviews.freebsd.org/D29005
-
Edward Tomasz Napierala authored
This looks like a no-op, but it prevents udevadm(8) with failing loudly, which in turn unbreaks installation of libfprint-2-2, which in Focal is a dependency for make-4.2.1-1.2. One might wonder why installing a build utility involves messing with device handling... Sponsored By: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29133
-
Mark Johnston authored
The per-domain partpop queue is locked by the combination of the per-domain lock and individual reservation mutexes. vm_reserv_reclaim_contig() scans the queue looking for partially populated reservations that can be reclaimed in order to satisfy the caller's allocation. During the scan, we drop the per-domain lock. At this point, the rvn pointer may be invalidated. Take care to load rvn after re-acquiring the per-domain lock. While here, simplify the condition used to check whether a reservation was dequeued while the per-domain lock was dropped. Reviewed by: alc, kib Reported by: gallatin MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29203
-
Warner Losh authored
Format 300 baud like all the others here. No functional change.
-
Kristof Provost authored
pf_kkif_free() already checks for NULL, so we don't have to check before we call it. Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29195
-
Kristof Provost authored
Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29194
-
Oskar Holmund authored
The pwm utility cant set the only flag defined (PWM_POLARITY_INVERTED) so this patch add the option -I (capital letter i) to send it to the drivers. None of existing PWM driver have implemented support for flags. But soon:ish I will put up an review of a pwm driver using TI OMAP DMTimer. Differential Revision: https://reviews.freebsd.org/D29137 MFC after: 2 weeks
-
Oskar Holmund authored
Fix the types of period and duty in share/man/man9/pwmbus.9 to match the one in sys/dev/pmw/pwmbus.c. Reviewed By: rpokala Differential Revision: https://reviews.freebsd.org/D29139 MFC after: 3 days
-
- 10 Mar, 2021 12 commits
-
-
Greg V authored
Clang 12 no longer supports -Wno-error-..., only the -Wno-error=... style (which is already used everywhere else in the tree). Differential Revision: https://reviews.freebsd.org/D29157
-
Alexander V. Chernikov authored
Summary: This fixes rtentry leak for the cloned interfaces created inside the VNET. PR: 253998 Reported by: rashey at superbox.pl MFC after: 3 days Loopback teardown order is `SI_SUB_INIT_IF`, which happens after `SI_SUB_PROTO_DOMAIN` (route table teardown). Thus, any route table operations are too late to schedule. As the intent of the vnet teardown procedures to minimise the amount of effort by doing global cleanups instead of per-interface ones, address this by adding a relatively light-weight routing table cleanup function, `rib_flush_routes()`. It removes all remaining routes from the routing table and schedules the deletion, which will happen later, when `rtables_destroy()` waits for the current epoch to finish. Test Plan: ``` set_skip:set_skip_group_lo -> passed [0.053s] tail -n 200 /var/log/messages | grep rtentry ``` Reviewers: #network, kp, bz Reviewed By: kp Subscribers: imp, ae Differential Revision: https://reviews.freebsd.org/D29116
-
John Baldwin authored
Copy the iovec for the trailer from the proper place. This is the same fix for CBC encryption from ff6a7e4b. Reported by: gallatin Reviewed by: gallatin, markj Fixes: 49f6925c Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D29177
-
Alexander Motin authored
We don't need the result before next sleep time, so no reason to additionally increase interrupt latency. While there, remove extra PM ticks to microseconds conversion, making C2/C3 sleep times look 4 times smaller than really. The conversion is already done by AcpiGetTimerDuration(). Now I see reported sleep times up to 0.5s, just as expected for planned 2 wakeups per second. MFC after: 1 month
-
Olivier Houchard authored
The ENTRY() macro was modified by commit 28d94520 to add an optional NOP instruction at the beginning of the function. It is of course an arm64 instruction, so unsuitable for the 32bits sigcode. So just use EENTRY() instead for aarch32_sigcode. This should fix receiving signals when running 32bits binaries on FreeBSD/arm64. MFC After: 1 week
-
Dag-Erling Smørgrav authored
Reported by: phk@ MFC after: 1 week
-
Dag-Erling Smørgrav authored
PR: 250984 MFC after: 1 week
-
Mitchell Horne authored
It has been observed that some systems are often unable to resume from ddb after entering with debug.kdb.enter=1. Checking the status further shows the terminal is blocked waiting in tty_drain(), but it never makes progress in clearing the output queue, because sc->sc_txbusy is high. I noticed that when entering polling mode for the debugger, IER_TXRDY is set in the failure case. Since this bit is never tracked by the softc, it will not be restored by ns8250_bus_ungrab(). This creates a race in which a TX interrupt can be lost, creating the hang described above. Ensuring that this bit is restored is enough to prevent this, and resume from ddb as expected. The solution is to track this bit in the sc->ier field, for the same lifetime that TX interrupts are enabled. PR: 223917, 240122 Reviewed by: imp, manu Tested by: bz MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D29130
-
Alex Richardson authored
I noticed that many of the math-related tests were failing on AArch64. After a lot of debugging, I noticed that the floating point exception flags were not being reset when starting a new process. This change resets the VFP inside exec_setregs() to ensure no VFP register state is leaked from parent processes to children. This commit also moves the clearing of fpcr that was added in 65618fdd from fork() to execve() since that makes more sense: fork() can retain current register values, but execve() should result in a well-defined clean state. Reviewed By: andrew MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D29060
-
Hans Petter Selasky authored
must be done using the M_NOWAIT flag after 1ae20f7c . MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
-
Hans Petter Selasky authored
user-space Linux compatibility support. No functional change. MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
-
Hans Petter Selasky authored
done using the M_NOWAIT flag after 1ae20f7c . MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
-
- 09 Mar, 2021 12 commits
-
-
Kyle Evans authored
MFC after: 3 days Fixes: b3dac391
-
Hans Petter Selasky authored
in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D29077 Reviewed by: markj@ and kib@ MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
-
Kyle Evans authored
The names are self-explanatory; these are currently only used by the wg(8) tool, but they are handy data points to have. Reviewed by: grehan MFC after: 3 days Discussed with: decke Differential Revision: https://reviews.freebsd.org/D29143
-
Kyle Evans authored
If we hit an error during init, then we'll unwind our state and attempt to detach the device -- don't block it. This was discovered by creating a wg0 with missing parameters; said failure ended up leaving this orphaned device in place and ended up panicking the system upon enumeration of the dev.* sysctl space. Reviewed by: gallatin, markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29145
-
Kyle Evans authored
We have no use for the udphdr or this hlen local, just spell out the addition inline. MFC after: 3 days Reviewed by: grehan, markj Differential Revision: https://reviews.freebsd.org/D29142
-
Jason A. Harmening authored
This change converts most of the counters in the amd64 pmap from global atomics to scalable counter(9) counters. Per discussion with kib@, it also removes the handrolled per-CPU PCID save count as it isn't considered generally useful. The bulk of these counters remain guarded by PV_STATS, as it seems unlikely that they will be useful outside of very specific debugging scenarios. However, this change does add two new counters that are available without PV_STATS. pt_page_count and pv_page_count track the number of active physical-to-virtual list pages and page table pages, respectively. These will be useful in evaluating the memory footprint of pmap structures under various workloads, which will help to guide future changes in this area. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D28923
-
Leandro Lupori authored
Some framebuffer properties obtained from the device tree were not being properly converted to host endian. Replace OF_getprop calls by OF_getencprop where needed to fix this. This fixes boot on PowerPC64 LE, when using ofwfb as the system console. Reviewed by: bdragon Sponsored by: Eldorado Research Institute (eldorado.org.br) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D27475
-
Baptiste Daroussin authored
This is not ready yet for prime time This reverts commit 763db589. This reverts commit f1ab7999. This reverts commit 6e822e99. This reverts commit 77e1ccbe.
-
Kyle Evans authored
The kernel-side already accepted a persistent-keepalive-interval, so just add a verb to ifconfig(8) for it and start exporting it so that ifconfig(8) can view it. PR: 253790 MFC after: 3 days Discussed with: decke
-
Kyle Evans authored
The way that wireguard is designed does not actually require all peers to have endpoints. In an architecture that might mimic a traditional VPN server <-> client, the wg interface on a server would have a number of peers without set endpoints -- the expectation is that the "clients" will connect to the "server" peer, which will authenticate the connection as a known peer and learn the endpoint from there. MFC after: 3 days Discussed with: decke, grehan (independently)
-
Kyle Evans authored
Simple condition flip; we wanted to panic here after epoch_trace_list(). Reviewed by: glebius, markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29125
-
Kyle Evans authored
No sleeping allowed here, so avoid it. Collect the subset of data we want inside of the epoch, as we'll need extra allocations when we add items to the nvlist. Reviewed by: grehan (earlier version), markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29124
-