#
7c43148a |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
stand: 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.
Rem
stand: 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 ...
|
Revision tags: release/14.0.0 |
|
#
1d386b48 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
8ed8b420 |
| 13-Dec-2021 |
Emmanuel Vadot <manu@FreeBSD.org> |
loader: bcache: Fix debug printf
Use %j to it works on 64 and 32 bits system.
Reviewed by: imp, tsoome MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: http
loader: bcache: Fix debug printf
Use %j to it works on 64 and 32 bits system.
Reviewed by: imp, tsoome MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33430
show more ...
|
Revision tags: release/12.3.0 |
|
#
248682a5 |
| 03-Oct-2021 |
Colin Percival <cperciva@FreeBSD.org> |
loader bcache: Allow readahead up to 256 kB I/Os
Prior to this commit, the loader would perform readaheads of up to 128 kB; when booting on a UFS filesystem this resulted in a series of 160 kB reads
loader bcache: Allow readahead up to 256 kB I/Os
Prior to this commit, the loader would perform readaheads of up to 128 kB; when booting on a UFS filesystem this resulted in a series of 160 kB reads (32 kB request + 128 kB readahead).
This commit allows readaheads to be longer, subject to a total I/O size limit of 256 kB; i.e. 32 kB read requests will have added readaheads of up to 224 kB.
In my testing on an EC2 c5.xlarge instance, this change reduces the boot time by roughly 80 ms.
Reviewed by: tsoome MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D32251
show more ...
|
#
04b9b7c5 |
| 03-Oct-2021 |
Colin Percival <cperciva@FreeBSD.org> |
loader bcache: Track unconsumed readahead
The loader bcache attempts to determine whether readahead is useful, increasing or decreasing its readahead length based on whether a read could be serviced
loader bcache: Track unconsumed readahead
The loader bcache attempts to determine whether readahead is useful, increasing or decreasing its readahead length based on whether a read could be serviced out of the cache. This resulted in two unfortunate behaviours:
1. A series of consecutive 32 kB reads are requested and bcache performs 16 kB readaheads. For each read, bcache determines that, since only the first 16 kB is already in the cache, the readahead was not useful, and keeps the readahead at the minimum (16 kB) level.
2. A series of consecutive 32 kB reads are requested and bcache starts with a 32 kB readahead resulting in a 64 kB being read on the first request. The second 32 kB request can be serviced out of the cache, and bcache responds by doubling its readahead length to 64 kB. The third 32 kB request cannot be serviced out of the cache, and bcache reduces its readahead length back down to 32 kB.
The first syndrome converts a series of 32 kB reads into a series of (misaligned) 32 kB reads, while the second syndrome converts a series of 32 kB reads into a series of 64 kB reads; in both cases we do not increase the readahead length to its limit (currently 128 kB) no matter how many consecutive read requests are made.
This change avoids this problem by tracking the "unconsumed readahead" length; readahead is deemed to be useful (and the read-ahead length is potentially increased) not only if a request was completely serviced out of the cache, but also if *any* of the request was serviced out of the cache and that length matches the amount of unconsumed readahead. Conversely, we now only reduce the readahead length in cases where there was unconsumed readahead data.
In my testing on an EC2 c5.xlarge instance, this change reduces the boot time by roughly 120 ms.
Reviewed by: imp, tsoome MFC after: 1 week Sponsored by: https://patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D32250
show more ...
|
#
b841148b |
| 03-Oct-2021 |
Colin Percival <cperciva@FreeBSD.org> |
loader: Refactor readahead adjustment in bcache
While I'm here, add an explanatory comment.
No functional change intended.
Reviewed by: imp, tsoome (previous version) MFC after: 1 week Sponsored b
loader: Refactor readahead adjustment in bcache
While I'm here, add an explanatory comment.
No functional change intended.
Reviewed by: imp, tsoome (previous version) MFC after: 1 week Sponsored by: https://patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D32249
show more ...
|
#
5a01dea7 |
| 20-Sep-2021 |
Colin Percival <cperciva@FreeBSD.org> |
style: Fix leading whitespace in bcache.c
MFC after: 2 weeks X-MFC-with: Further bcache changes to come
|
#
0d13f534 |
| 20-Aug-2021 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Only trigger read-ahead if two adjacent blocks have been requested.
The change makes block caching algorithm to work better for remote media on low-BW/high-delay links.
This cuts boot time over IP
Only trigger read-ahead if two adjacent blocks have been requested.
The change makes block caching algorithm to work better for remote media on low-BW/high-delay links.
This cuts boot time over IP KVMs noticeably, since the initialization stage reads bunch of small 4th (and now lua) files that are not in the same cache stripe (usually), thus wasting lot of bandwidth and increasing latency even further.
The original regression came in 2017 with revision 87ed2b7f5. We've seen increase of time it takes for the loader to get to the kernel loading from under a minute to 10-15 minutes in many cases.
Reviewed by: tsoome MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D31623
show more ...
|
Revision tags: release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0 |
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
726f09bc |
| 07-May-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
command_bcache() does not use argv
Therefore mark argv __unused.
|
#
e3e96239 |
| 07-May-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
loader: bcache code does not need to check argument for free()
|
#
74772ef1 |
| 07-May-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
loader: use safer DPRINTF body for non-debug case
|
#
2aaf9152 |
| 18-Mar-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead@r345275
|
#
7325df02 |
| 12-Mar-2019 |
Kyle Evans <kevans@FreeBSD.org> |
stand: Improve some debugging experience
Some of these files using <FOO>_DEBUG defined a DEBUG() macro to serve as a debug-printf. -DDEBUG is useful to enable some debugging output across multiple E
stand: Improve some debugging experience
Some of these files using <FOO>_DEBUG defined a DEBUG() macro to serve as a debug-printf. -DDEBUG is useful to enable some debugging output across multiple ELF/common parts, so switch the DEBUG-as-printf macros over to something more like DPRINTF that is more commonly used for this kind of thing and less likely to conflict.
userboot/elf64_freebsd debugging also assumed %llx for uint64; use PRIx64 instead.
MFC after: 1 week
show more ...
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
13dcff6b |
| 29-Nov-2018 |
Toomas Soome <tsoome@FreeBSD.org> |
loader: command_bcache() should print unsigned values
All bcache counters are unsigned.
|
#
3d5db455 |
| 24-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340427 through r340868.
|
#
6c81fe16 |
| 23-Nov-2018 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Nuke out buffer overflow safety marker code, it duplicates similar code in the malloc()/free() as well as having potential of softening the handling in case error is detected down to a mere warning a
Nuke out buffer overflow safety marker code, it duplicates similar code in the malloc()/free() as well as having potential of softening the handling in case error is detected down to a mere warning as compared to hard panic in free().
Submitted by: tsoome Differential Revision: https://reviews.freebsd.org/D18299
show more ...
|
Revision tags: release/11.2.0 |
|
#
55b1c6e7 |
| 15-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325663 through r325841.
|
#
ca987d46 |
| 15-Nov-2017 |
Warner Losh <imp@FreeBSD.org> |
Move sys/boot to stand. Fix all references to new location
Sponsored by: Netflix
|