freebsd kernel with SKQ
Go to file
Andriy Gapon 93132b76cd MFV r350898: 8423 8199 7432 Implement large_dnode pool feature
8423 8199 7432 Implement large_dnode pool feature

8423 Implement large_dnode pool feature
8199 multi-threaded dmu_object_alloc()
7432 Large dnode pool feature

llumos/illumos-gate@54811da5ac
54811da5ac
https://www.illumos.org/issues/8423
https://www.illumos.org/issues/8199
https://www.illumos.org/issues/7432

  ZoL issues:
  Improved dnode allocation #6564
  Clean up large dnode code #6262
  Fix dnode_hold() freeing dnode behavior #8172
  Fix dnode allocation race #6414, #6439
  Partial: Raw sends must be able to decrease nlevels #6821, #6864
  Remove unnecessary txg syncs from receive_object() Closes #7197

This updates FreeBSD large_dnode code (that was imported from ZoL) to a version
that was committed to illumos.  It has some cleanups, improvements and fixes
comparing to what we have in FreeBSD now.  I think that the most significant
update is 8199 multi-threaded dmu_object_alloc().

Obtained from:	illumos
MFC after:	3 weeks
2019-08-15 14:57:27 +00:00
bin Now that we have MK_LS_COLORS, we don't need RELEASE_CRUNCH check here. 2019-07-15 07:35:46 +00:00
cddl MFV r350898: 8423 8199 7432 Implement large_dnode pool feature 2019-08-15 14:57:27 +00:00
contrib telnet: remove 3rd clause from Berkeley copyrights 2019-08-15 13:27:57 +00:00
crypto Complete LOCAL_PEERCRED support. Cache pid of the remote process in the 2019-05-30 14:24:26 +00:00
etc fusefs: merge from projects/fuse2 2019-08-07 00:38:26 +00:00
gnu as: add deprecation notice to the man page 2019-08-01 19:01:27 +00:00
include Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
kerberos5 Fix generation of krb5-config with LC_CTYPE=*.UTF-8 2019-07-01 11:47:45 +00:00
lib compiler-rt: enable __bswapsi2/__bswapdi2 for RISC-V 2019-08-14 18:41:28 +00:00
libexec [PPC64] Fix rtld direct exec mode 2019-08-05 13:22:02 +00:00
release motd: Generate from template to /var/run 2019-07-20 20:56:31 +00:00
rescue Remove unused defines since r147075 2019-07-12 04:44:50 +00:00
sbin swap_pager.c reserves 2 blocks for a bsd label. Change that 2 to the 2019-08-15 02:30:44 +00:00
secure Merge OpenSSL 1.1.1c. 2019-05-28 21:54:12 +00:00
share do not enable userland retpoline if not supported by compiler/linker 2019-08-15 12:48:17 +00:00
stand stand: remove CLANG_NO_IAS from boot2 2019-08-15 14:54:18 +00:00
sys MFV r350898: 8423 8199 7432 Implement large_dnode pool feature 2019-08-15 14:57:27 +00:00
targets Remove cap_random(3). 2019-07-24 22:50:43 +00:00
tests pf tests: Fix accidental duplication of content 2019-08-15 12:00:59 +00:00
tools Remove rlogin/rsh references from src.conf(5) WITHOUT_BLACKLIST_SUPPORT 2019-08-13 14:51:16 +00:00
usr.bin geom_uzip(4), mkuzip(8): Add Zstd image mode 2019-08-13 23:32:56 +00:00
usr.sbin Remove deprecated GEOM classes 2019-08-13 20:06:55 +00:00
.arcconfig callsign isn't required anymore 2016-09-29 06:19:45 +00:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml cirrus.yml: stop fetching OVMF.fd now that we're using the pkg 2019-07-30 16:40:33 +00:00
.clang-format Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitattributes Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitignore .gitignore: Add LINT kernel configurations generated into SRCDIR 2019-08-10 18:22:22 +00:00
COPYRIGHT Happy New Year 2019! 2019-01-01 00:25:25 +00:00
LOCKS LOCKS: update current locks 2018-06-09 03:08:04 +00:00
MAINTAINERS [skip ci] Add me to MAINTAINERS for fusefs 2019-07-28 15:20:47 +00:00
Makefile Vendor import bzip2 -- upgrade to version 1.0.8. 2019-08-11 06:22:06 +00:00
Makefile.inc1 Add head(1) to native-xtools so that it can be used in qemu-user jails 2019-06-20 13:24:58 +00:00
Makefile.libcompat libsysdecode: use the proper include directory 2019-07-25 17:10:17 +00:00
Makefile.sys.inc AUTO_OBJ: For all top-level targets enforce using an OBJDIR. 2017-12-05 21:29:47 +00:00
ObsoleteFiles.inc Remove obsolete header file. 2019-08-05 06:01:29 +00:00
README Vendor import bzip2 -- upgrade to version 1.0.8. 2019-08-11 06:22:06 +00:00
README.md README: add generic notes about GENERIC and NOTES 2018-06-17 19:44:24 +00:00
RELNOTES Update RELNOTES for the fusefs rewrite 2019-08-07 16:42:34 +00:00
UPDATING MFHead @r350386 2019-07-28 04:02:22 +00:00

FreeBSD Source:

This is the top level of the FreeBSD source directory. This file was last revised on: FreeBSD

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html, and https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html for more information, including setting make(1) variables.

Source Roadmap:

bin		System/user commands.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

stand		Boot loader sources.

sys		Kernel sources.

sys/<arch>/conf Kernel configuration files. GENERIC is the configuration
		used in release builds. NOTES contains documentation of
		all possible entries.

tests		Regression tests which can be run by Kyua.  See tests/README
		for additional information.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html