#
a5affc0c |
| 04-Jun-2024 |
Andrew Turner <andrew@FreeBSD.org> |
stats: Fix the build under gcc
Reviewed by: brooks, imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D45302
|
Revision tags: release/14.1.0 |
|
#
7eb92c50 |
| 02-Apr-2024 |
Lawrence Stewart <lstewart@FreeBSD.org> |
Reinstate returning EOVERFLOW from stats_v1_blob_clone()
a0993376ec5f (from D43179) subtly changed stats_v1_blob_clone() to stop returning EOVERFLOW in the case where the user buffer is not large en
Reinstate returning EOVERFLOW from stats_v1_blob_clone()
a0993376ec5f (from D43179) subtly changed stats_v1_blob_clone() to stop returning EOVERFLOW in the case where the user buffer is not large enough to receive the entire statsblob. This results in any consumers which are implemented to retry on receiving EOVERFLOW to instead give up after receiving an empty statsblob header.
Fix by latching any errors recorded prior to copyout.
Reviewed by: markj Obtained from: Netflix, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D44585 Fixes: a0993376ec5f ("stats: Check for errors from copyout()")
show more ...
|
Revision tags: release/13.3.0 |
|
#
a0993376 |
| 04-Jan-2024 |
Mark Johnston <markj@FreeBSD.org> |
stats: Check for errors from copyout()
This is in preparation for annotating copyin() and related functions with __result_use_check.
MFC after: 1 week Differential Revision: https://reviews.freebsd
stats: Check for errors from copyout()
This is in preparation for annotating copyin() and related functions with __result_use_check.
MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43179
show more ...
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
#
0a713948 |
| 22-Nov-2023 |
Alexander Motin <mav@FreeBSD.org> |
Replace random sbuf_printf() with cheaper cat/putc.
|
Revision tags: release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
d0354fa7 |
| 08-Sep-2022 |
Doug Moore <dougm@FreeBSD.org> |
rb_tree: reduce duplication in balancing code
Change RB_INSERT_COLOR and RB_REMOVE_COLOR so that the blocks of code that are identical except for left and right being exchanged are made only one blo
rb_tree: reduce duplication in balancing code
Change RB_INSERT_COLOR and RB_REMOVE_COLOR so that the blocks of code that are identical except for left and right being exchanged are made only one block with a variable to indicate left- or right-handedness.
Rename RB macros so that those not intended for external use begin with an underscore.
Add comments to the balancing code so that another might understand it.
Reviewed by: alc, kib MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D36393
show more ...
|
#
5d913868 |
| 29-Aug-2022 |
Doug Moore <dougm@FreeBSD.org> |
rb_tree: avoid extra reads in rebalancing
In RB_INSERT_COLOR and RB_REMOVE_COLOR, avoid reading a parent pointer from memory, and then reading the left-color bit from memory, and then reading the ri
rb_tree: avoid extra reads in rebalancing
In RB_INSERT_COLOR and RB_REMOVE_COLOR, avoid reading a parent pointer from memory, and then reading the left-color bit from memory, and then reading the right-color bit from memory, since they're all in the same field. The compiler can't infer that only the first read is really necessary, so write the code in a way so that it doesn't have to.
Drop RB_RED_LEFT and RB_RED_RIGHT macros that reach into memory to get those bits. Drop RB_COLOR, the only thing left using RB_RED_LEFT and RB_RED_RIGHT after the other changes, and go straight to DIAGNOSTIC code in subr_stats to implement RB_COLOR for its single, dubious use there.
Reviewed by: alc MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D36353
show more ...
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
1eb402e4 |
| 02-Apr-2021 |
Lawrence Stewart <lstewart@FreeBSD.org> |
stats(3): Improve t-digest merging of samples which result in mu adjustment underflow.
Allow the calculation of the mu adjustment factor to underflow instead of rejecting the VOI sample from the dig
stats(3): Improve t-digest merging of samples which result in mu adjustment underflow.
Allow the calculation of the mu adjustment factor to underflow instead of rejecting the VOI sample from the digest and logging an error. This trades off some (currently unquantified) additional centroid error in exchange for better fidelity of the distribution's density, which is the right trade off at the moment until follow up work to better handle and track accumulated error can be undertaken.
Obtained from: Netflix MFC after: immediately
show more ...
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
75dfc66c |
| 27-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358269 through r358399.
|
#
7029da5c |
| 26-Feb-2020 |
Pawel Biernacki <kaktus@FreeBSD.org> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still 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 are still 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 and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
#
59abbffa |
| 31-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357270 through r357349.
|
#
3ff65f71 |
| 30-Jan-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Remove duplicated empty lines from kern/*.c
No functional changes.
|
#
fbb9879c |
| 30-Jan-2020 |
John Baldwin <jhb@FreeBSD.org> |
Fix use of an uninitialized variable.
ctx (and thus ctx.flags) is stack garbage at the start of this function, so initialize ctx.flags to an explicit value instead of using binary operations on the
Fix use of an uninitialized variable.
ctx (and thus ctx.flags) is stack garbage at the start of this function, so initialize ctx.flags to an explicit value instead of using binary operations on the garbage.
Reported by: gcc9 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D23368
show more ...
|
#
425e5f9d |
| 26-Jan-2020 |
John Baldwin <jhb@FreeBSD.org> |
Revert accidental change from r357146.
|
#
c73222d0 |
| 26-Jan-2020 |
John Baldwin <jhb@FreeBSD.org> |
Fix some misleading indentation warnings reported by recent clang.
These should not be any functional change. While the change in emul10kx-pcm.c looks like a real bug fix (as opposed to inconsisten
Fix some misleading indentation warnings reported by recent clang.
These should not be any functional change. While the change in emul10kx-pcm.c looks like a real bug fix (as opposed to inconsistent whitespace), the extra statements were not harmful.
Reviewed by: kib Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D23363
show more ...
|
#
f3bae413 |
| 26-Dec-2019 |
Conrad Meyer <cem@FreeBSD.org> |
random(9): Deprecate random(9), remove meaningless srandom(9)
srandom(9) is meaningless on SMP systems or any system with, say, interrupts. One could never rely on random(9) to produce a reproducib
random(9): Deprecate random(9), remove meaningless srandom(9)
srandom(9) is meaningless on SMP systems or any system with, say, interrupts. One could never rely on random(9) to produce a reproducible sequence of outputs on the basis of a specific srandom() seed because the global state was shared by all kernel contexts. As such, removing it is literally indistinguishable to random(9) consumers (as compared with retaining it).
Mark random(9) as deprecated and slated for quick removal. This is not to say we intend to remove all fast, non-cryptographic PRNG(s) in the kernel. It/they just won't be random(9), as it exists today, in either name or implementation.
Before random(9) is removed, a replacement will be provided and in-tree consumers will be converted.
Note that despite the name, the random(9) interface does not bear any resemblance to random(3). Instead, it is the same crummy 1988 Park-Miller LCG used in libc rand(3).
show more ...
|
#
89f34d46 |
| 06-Nov-2019 |
Brooks Davis <brooks@FreeBSD.org> |
libstats: Improve ABI assertion.
On platforms where pointers are larger than 64-bits, struct statsblob may be harmlessly padded out such that opaque[] always has some included space. Make the asser
libstats: Improve ABI assertion.
On platforms where pointers are larger than 64-bits, struct statsblob may be harmlessly padded out such that opaque[] always has some included space. Make the assertion more general by comparing to the offset of opaque rather than the size of struct statsblob.
Discussed with: jhb, James Clarke Reviewed by: trasz, lstewart Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22188
show more ...
|
Revision tags: release/12.1.0 |
|
#
8b3bc70a |
| 08-Oct-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352764 through r353315.
|
#
1a13f2e6 |
| 07-Oct-2019 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Introduce stats(3), a flexible statistics gathering API.
This provides a framework to define a template describing a set of "variables of interest" and the intended way for the framework to maintain
Introduce stats(3), a flexible statistics gathering API.
This provides a framework to define a template describing a set of "variables of interest" and the intended way for the framework to maintain them (for example the maximum, sum, t-digest, or a combination thereof). Afterwards the user code feeds in the raw data, and the framework maintains these variables inside a user-provided, opaque stats blobs. The framework also provides a way to selectively extract the stats from the blobs. The stats(3) framework can be used in both userspace and the kernel.
See the stats(3) manual page for details.
This will be used by the upcoming TCP statistics gathering code, https://reviews.freebsd.org/D20655.
The stats(3) framework is disabled by default for now, except in the NOTES kernel (for QA); it is expected to be enabled in amd64 GENERIC after a cool down period.
Reviewed by: sef (earlier version) Obtained from: Netflix Relnotes: yes Sponsored by: Klara Inc, Netflix Differential Revision: https://reviews.freebsd.org/D20477
show more ...
|