aboutsummaryrefslogtreecommitdiff
path: root/share
Commit message (Collapse)AuthorAgeFilesLines
* Filter TCP connections to SO_REUSEPORT_LB listen sockets by NUMA domainAndrew Gallatin2020-12-191-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to efficiently serve web traffic on a NUMA machine, one must avoid as many NUMA domain crossings as possible. With SO_REUSEPORT_LB, a number of workers can share a listen socket. However, even if a worker sets affinity to a core or set of cores on a NUMA domain, it will receive connections associated with all NUMA domains in the system. This will lead to cross-domain traffic when the server writes to the socket or calls sendfile(), and memory is allocated on the server's local NUMA node, but transmitted on the NUMA node associated with the TCP connection. Similarly, when the server reads from the socket, he will likely be reading memory allocated on the NUMA domain associated with the TCP connection. This change provides a new socket ioctl, TCP_REUSPORT_LB_NUMA. A server can now tell the kernel to filter traffic so that only incoming connections associated with the desired NUMA domain are given to the server. (Of course, in the case where there are no servers sharing the listen socket on some domain, then as a fallback, traffic will be hashed as normal to all servers sharing the listen socket regardless of domain). This allows a server to deal only with traffic that is local to its NUMA domain, and avoids cross-domain traffic in most cases. This patch, and a corresponding small patch to nginx to use TCP_REUSPORT_LB_NUMA allows us to serve 190Gb/s of kTLS encrypted https media content from dual-socket Xeons with only 13% (as measured by pcm.x) cross domain traffic on the memory controller. Reviewed by: jhb, bz (earlier version), bcr (man page) Tested by: gonzo Sponsored by: Netfix Differential Revision: https://reviews.freebsd.org/D21636 Notes: svn path=/head/; revision=368819
* sysctl(9): Fix a few mandoc related issuesGordon Bergling2020-12-191-2/+2
| | | | | | | | | | - missing comma before name: Nm SYSCTL_UQUAD - bad NAME section content: text MFC after: 1 week Notes: svn path=/head/; revision=368798
* ofw_bus_status_okay(9): Fix a few mandoc related issuesGordon Bergling2020-12-191-3/+2
| | | | | | | | | | | - missing comma before name: Nm ofw_bus_status_okay - missing comma before name: Nm ofw_bus_node_status_okay - skipping paragraph macro: Pp after Sh MFC after: 1 week Notes: svn path=/head/; revision=368797
* ofw_bus_is_compatible(9): Fix a few mandoc related issuesGordon Bergling2020-12-191-4/+3
| | | | | | | | | | | | - missing comma before name: Nm ofw_bus_is_compatible_strict - missing comma before name: Nm ofw_bus_node_is_compatible - missing comma before name: Nm ofw_bus_search_compatible - skipping paragraph macro: Pp after Sh MFC after: 1 week Notes: svn path=/head/; revision=368796
* fail(9): Fix a few mandoc related issuesGordon Bergling2020-12-191-3/+9
| | | | | | | | | | - function name without markup: return() - function name without markup: print() MFC after: 1 week Notes: svn path=/head/; revision=368795
* driver(9): Fix a mandoc related issueGordon Bergling2020-12-191-5/+5
| | | | | | | | | - sections out of conventional order: Sh SEE ALSO MFC after: 1 week Notes: svn path=/head/; revision=368794
* bhnd_erom(9): Fix a few mandoc related issuesGordon Bergling2020-12-191-5/+2
| | | | | | | | | | | | | - skipping paragraph macro: Pp before Bl - skipping paragraph macro: Pp after Ss - skipping paragraph macro: Pp at the end of Ss - unusual Xr punctuation: none before bhnd_driver_get_erom_class(9) - unusual Xr punctuation: none before bus_space(9) MFC after: 1 week Notes: svn path=/head/; revision=368793
* bhnd(9): Fix a few mandoc related issuesGordon Bergling2020-12-191-18/+3
| | | | | | | | | | | | - skipping paragraph macro: Pp before Bl - skipping paragraph macro: Pp at the end of Ss - missing section argument: Xr device_set_desc - unusual Xr punctuation: none before bhnd_erom(9) MFC after: 1 week Notes: svn path=/head/; revision=368792
* disk(9): Fix a few mandoc related errorsGordon Bergling2020-12-191-6/+7
| | | | | | | | | | | | | | - function name without markup: g_io_deliver() - function name without markup: disk_gone() - sections out of conventional order: Sh SEE ALSO - referenced manual not found: Xr MAKE_DEV 9 Actually the man page of MAKE_DEV has never existed. MFC after: 3 days Notes: svn path=/head/; revision=368791
* accept_filter(9): Fix a mandoc related errorGordon Bergling2020-12-191-1/+1
| | | | | | | - no blank before trailing delimiter Notes: svn path=/head/; revision=368790
* VFS_QUOTACTL: Remove needless casts of argBrooks Davis2020-12-171-2/+2
| | | | | | | | | | | | | | | The argument is a void * so there's no need to cast it to caddr_t. Update documentation to match function decleration. Reviewed by: freqlabs Obtained from: CheriBSD MFC after: 1 week Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27093 Notes: svn path=/head/; revision=368744
* Fix f_pkt_into_t typo.Alexander Motin2020-12-171-2/+2
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=368742
* Complete steps 5 and 9 from Committer's guideJuraj Lutter2020-12-161-0/+3
| | | | | | | | | Reviewed by: osa (mentor) Approved by: osa (mentor) Differential Revision: https://reviews.freebsd.org/D27632 Notes: svn path=/head/; revision=368701
* src.conf.5: regen after r368667, GDB retirementEd Maste2020-12-161-6/+1
| | | | Notes: svn path=/head/; revision=368695
* Remove additional GDB leftovers missed in r368667Ed Maste2020-12-151-6/+0
| | | | Notes: svn path=/head/; revision=368669
* ndis(4): expand deprecation to the whole driverBrooks Davis2020-12-111-1/+1
| | | | | | | | | | | | | | | nids(4) was a clever idea in the early 2000's when the market was flooded with 10/100 NICs with Windows-only drivers, but that hasn't been the case for ages and the driver has had no meaningful maintenance in ages. It only supports Windows-XP era drivers. Reviewed by: imp, bcr MFC after: 3 days Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27527 Notes: svn path=/head/; revision=368561
* hme(4): Remove as previous announcedBrooks Davis2020-12-115-142/+0
| | | | | | | | | | | | The hme (Happy Meal Ethernet) driver was the onboard NIC in most supported sparc64 platforms. A few PCI NICs do exist, but we have seen no evidence of use on non-sparc systems. Reviewed by: imp, emaste, bcr Sponsored by: DARPA Notes: svn path=/head/; revision=368559
* vnet.9: Use correct location of vnet.h.Navdeep Parhar2020-12-111-2/+2
| | | | | | | | | MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D27557 Notes: svn path=/head/; revision=368557
* src.conf(5): regenerate after WITHOUT_GNU_GREP became defaultKyle Evans2020-12-111-3/+3
| | | | Notes: svn path=/head/; revision=368549
* Flip the GNU_GREP default to OFFKyle Evans2020-12-111-1/+1
| | | | | | | | bsdgrep was made the default in r368439. Stop building gnugrep entirely as the natural next step towards removal. Notes: svn path=/head/; revision=368548
* New Netgraph module ng_macfilter:Nick Hibma2020-12-082-0/+223
| | | | | | | | | | | | | | | Macfilter to route packets through different hooks based on sender MAC address. Based on ng_macfilter written by Pekka Nikander Sponsered by Retina b.v. Reviewed by: afedorov MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D27268 Notes: svn path=/head/; revision=368443
* regen src.conf.5 after r368441, WITHOUT_GDB defaultEd Maste2020-12-081-9/+0
| | | | Notes: svn path=/head/; revision=368442
* Default to WITHOUT_GDB (GDB 6.1.1) for FreeBSD 13Ed Maste2020-12-081-1/+1
| | | | | | | | | | | | | | | | | As discussed on -current, -stable, -toolchain, and with jhb@ and imp@, disable the obsolete in-tree GDB 6.1.1 by default. This was kept only to provide kgdb for the crashinfo tool, but is long-obsolete, does not support all architectures that FreeBSD does, and held back other work (such as forcing the use of DWARF2 for kernel debug). Crashinfo will use kgdb from the gdb package or devel/gdb port, and will privde a message referencing those if no kgdb is found. Relnotes: Yes Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=368441
* src.conf(5): regen after r368439 (WITH_BSD_GREP default)Kyle Evans2020-12-081-7/+3
| | | | Notes: svn path=/head/; revision=368440
* src.opts.mk: switch to bsdgrep as /usr/bin/grepKyle Evans2020-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This has been years in the making, and we all knew it was bound to happen some day. Switch to the BSDL grep implementation now that it's been a little more thoroughly tested and theoretically supports all of the extensions that gnugrep in base had with our libregex(3). Folks shouldn't really notice much from this update; bsdgrep is slower than gnugrep, but this is currently the price to pay for fewer bugs. Those dissatisfied with the speed of grep and in need of a faster implementation should check out what textproc/ripgrep and textproc/the_silver_searcher can do for them. I have some WIP to make bsdgrep faster, but do not consider it a blocker when compared to the pros of switching now (aforementioned bugs, licensing). PR: 228798 (exp-run) PR: 128645, 156704, 166842, 166862, 180937, 193835, 201650 PR: 232565, 242308, 246000, 251081, 191086, 194397 Relnotes: yes, please Notes: svn path=/head/; revision=368439
* Add missing refcount.9 MLINKSMark Johnston2020-12-071-1/+6
| | | | Notes: svn path=/head/; revision=368413
* Add deprecation notice to mn(4)Ed Maste2020-12-061-1/+7
| | | | | | | | | | | | | | | | | Sync serial (T1/E1) interfaces are largely irrelevant today and phk confirms this driver is unnecessary in review D23928. This leaves ce(4) and cp(4) in the tree. They're likely not relevant either, but glebius contacted the manufacturer and those devices are still available for purchase. At glebius' suggestion leave them in the tree as long as they do not impose a maintenace burden. Approved by: phk MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=368397
* epoch(9): Fix a few mandoc related issuesGordon Bergling2020-12-051-20/+19
| | | | | | | | | - sections out of conventional order: Sh EXAMPLES - sections out of conventional order: Sh SEE ALSO - skipping end of block that is not open: El Notes: svn path=/head/; revision=368368
* Retire GNU_GREP_COMPAT knobKyle Evans2020-12-051-1/+0
| | | | | | | | | | | | | This was introduced and then disabled by default primarily to avoid dealing with bugs in libgnuregex. rS363823 switched to using libregex for it, so let's just rip the option out now so we can make sure we're getting tested with libregex via bsdgrep. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D27476 Notes: svn path=/head/; revision=368355
* ossl: port to arm64Mitchell Horne2020-12-041-2/+4
| | | | | | | | | | | | | | Enable in-kernel acceleration of SHA1 and SHA2 operations on arm64 by adding support for the ossl(4) crypto driver. This uses OpenSSL's assembly routines under the hood, which will detect and use SHA intrinsics if they are supported by the CPU. Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27390 Notes: svn path=/head/; revision=368350
* Fix typo in kern_testfrwk.9.Navdeep Parhar2020-12-031-1/+1
| | | | Notes: svn path=/head/; revision=368310
* vt/fonts: fix typoToomas Soome2020-12-021-1/+1
| | | | | | | | | add missing 'is'. Reported by: bcr Notes: svn path=/head/; revision=368274
* add documentation that the rules need to be reloaded, and how to do it...John-Mark Gurney2020-12-011-2/+9
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=368267
* Fix a couple of typos.John Baldwin2020-12-011-3/+3
| | | | | | | Submitted by: rmacklem Notes: svn path=/head/; revision=368247
* security(7): fix copy/paste error and correct aslr oidsYuri Pankov2020-11-291-3/+3
| | | | | | | | Submitted by: Mina Galić <me_igalic.co> Differential Revision: https://reviews.freebsd.org/D27408 Notes: svn path=/head/; revision=368157
* Add watchdog(9) driver for the Fintek F81803 SuperIO chipPoul-Henning Kamp2020-11-282-0/+68
| | | | Notes: svn path=/head/; revision=368130
* bsd.lib.mk: Work around build system racinessAlex Richardson2020-11-261-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | We are seeing regular build failures due to libc.so being installed again and another parallel make job tries to read the partially written libc.so at the same time. When building with -j32 or higher this almost always happens on the first clean build (subsequent incremental builds always work fine). Using -S should "fix" the "section header table goes past the end of the file: e_shoff = 0x..." errors that have started to plague our builds. We originally thought this only affected CheriBSD, but I just got the same error while building the latest upstream FreeBSD. The real fix should be to not install libraries twice, but until then this workaround is needed. Original patch by jrtc27@, I only made some minor changes to the comment. Obtained from: CheriBSD (https://github.com/CTSRD-CHERI/cheribsd/commit/49837edd3efd5d02a1b120c47f00cfc2d59a9a8e) Reviewed By: markj, bdrewery Differential Revision: https://reviews.freebsd.org/D27102 Notes: svn path=/head/; revision=368071
* ping: fix some man pages and tests after r368045Alan Somers2020-11-261-2/+2
| | | | | | | MFC-with: r368045 Notes: svn path=/head/; revision=368046
* Add the firmware blob required to use the sdma hardware in the imx6Ian Lepore2020-11-263-0/+11
| | | | | | | | | | | | processor, and its associated license text (which is similar to a bsd-3-clause, but with a prohibition against decompiling). Install a copy of the license in /usr/share/doc/legal/imx, to comply with the license terms that requires a copy of the license to be delivered along with the firmware. Obtained from: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/imx/sdma/sdma-imx6q.bin https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/LICENSE.sdma_firmware Notes: svn path=/head/; revision=368042
* Add a manpage for kernel TLS.John Baldwin2020-11-253-76/+276
| | | | | | | | | | | | This subsumes some of the content from tcp(4) describing the socket options but also adds additional notes. Reviewed by: gallatin, hselasky Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D27272 Notes: svn path=/head/; revision=368040
* Remove a reference to CRIOGET missed in r368005.John Baldwin2020-11-251-5/+0
| | | | Notes: svn path=/head/; revision=368007
* Remove the cloned file descriptors for /dev/crypto.John Baldwin2020-11-251-22/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Crypto file descriptors were added in the original OCF import as a way to provide per-open data (specifically the list of symmetric sessions). However, this gives a bit of a confusing API where one has to open /dev/crypto and then invoke an ioctl to obtain a second file descriptor. This also does not match the API used with /dev/crypto on other BSDs or with Linux's /dev/crypto driver. Character devices have gained support for per-open data via cdevpriv since OCF was imported, so use cdevpriv to simplify the userland API by permitting ioctls directly on /dev/crypto descriptors. To provide backwards compatibility, CRIOGET now opens another /dev/crypto descriptor via kern_openat() rather than dup'ing the existing file descriptor. This preserves prior semantics in case CRIOGET is invoked multiple times on a single file descriptor. Reviewed by: markj Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D27302 Notes: svn path=/head/; revision=368005
* Update dirdeps.mk et al to latestSimon J. Gerraty2020-11-2415-205/+343
| | | | | | | | | | | Move some local tweaks to local.*.mk Reviewed by: bdrewery MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D27300 Notes: svn path=/head/; revision=367999
* Port rtsx(4) driver for Realtek SD card reader from OpenBSD.Jung-uk Kim2020-11-242-0/+122
| | | | | | | | | | | | | | | This driver provides support for Realtek PCI SD card readers. It attaches mmc(4) bus on card insertion and detaches it on card removal. It has been tested with RTS5209, RTS5227, RTS5229, RTS522A, RTS525A and RTL8411B. It should also work with RTS5249, RTL8402 and RTL8411. PR: 204521 Submitted by: Henri Hennebert (hlh at restart dot be) Reviewed by: imp, jkim Differential Revision: https://reviews.freebsd.org/D26435 Notes: svn path=/head/; revision=367998
* Assorted tweaks to hier(7): punctuation, some .Xr's, clarify wording.Edward Tomasz Napierala2020-11-231-13/+11
| | | | | | | | | | Reviewed by: 0mp, bcr, imp MFC after: 2 weeks Sponsored by: EPSRC Differential Revision: https://reviews.freebsd.org/D27248 Notes: svn path=/head/; revision=367954
* Add lists for customizing legacy and bootstrap-tools.Bryan Drewery2020-11-201-1/+11
| | | | | | | | | Reviewed by: arichardson Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D27200 Notes: svn path=/head/; revision=367910
* Remove parallel SCSI and 1/2Gb FC support from isp(4).Alexander Motin2020-11-202-54/+15
| | | | | | | | | | | | | | | | | | | | | This removes 288KB (36%) of the driver code and zillions of hacks and workarounds, making single driver uniformly support several different generations of hardware interfaces, not counting minor card variations. After years of the hopeless fight, I don't think it worth to continue support for hardware obsolete for 15-20 years. Instead much cleaner now code should allow to move forward toward better locking, multiple queues and other cool features. All the remaining Qlogic cards starting from 4Gb 24xx to 32Gb 27xx use the same hardware/firmware interface with minor incremental improvements, so it seems to be a good new starting point. Except one PCI-X model all all of them are PCIe and so still usable in modern systems. Discussed with: ken, scottl, jpaetzel, imp Relnotes: yes Notes: svn path=/head/; revision=367857
* Add an option for entering KDB on recursive panicsMitchell Horne2020-11-191-1/+11
| | | | | | | | | | | | | | | | | | | | There are many cases where one would choose avoid entering the debugger on a normal panic, opting instead to reboot and possibly save a kernel dump. However, recursive kernel panics are an unusual case that might warrant attention from a human, so provide a secondary tunable, debug.debugger_on_recursive_panic, to allow entering the debugger only when this occurs. For for simplicity in maintaining existing behaviour, the tunable defaults to zero. Reviewed by: cem, markj Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D27271 Notes: svn path=/head/; revision=367848
* Document disk ioctlWarner Losh2020-11-192-0/+211
| | | | | | | | | | | First stab at documenting the different disk ioctl commands defined in sys/disk.h. Reviewed by: phk (prior version) Differential Revision: https://reviews.freebsd.org/D26994 Notes: svn path=/head/; revision=367847
* intro.7: Add missing manual pageDaniel Ebdrup Jensen2020-11-191-1/+25
| | | | | | | | | | | | | Section 7 of the manual pages contain lots of very useful information, but finding the pages is not always obvious - to assist people in finding the information, add missing cross-references. Reviewed by: 0mp (mentor), mhorne, yuripv Approved by: 0mp (mentor Differential Revision: https://reviews.freebsd.org/D27284 Notes: svn path=/head/; revision=367846