summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | More the arm64 early page tables and stack to .bssAndrew Turner2020-12-232-6/+13
| | | | | | | | | | | | | | This removes 806k from the kernel ELF file that is only needed while the kernel is running, not in the static file. Sponsored by: Innovate UK
* | tools/tools/locale: skip control character widthsYuri Pankov2020-12-232-65/+4
| | | | | | | | | | | | | | | | Do not explicitly encode control characters widths as 0 allowing wcwidth() to return the proper implicit value for non-printable characters (-1). Reported by: naddy
* | pf: Use counter(9) for pf_state byte/packet trackingKristof Provost2020-12-234-14/+47
| | | | | | | | | | | | | | | | | | | | | | | | This improves cache behaviour by not writing to the same variable from multiple cores simultaneously. pf_state is only used in the kernel, so can be safely modified. Reviewed by: Lutz Donnerhacke, philip MFC after: 1 week Sponsed by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D27661
* | pf tests: Verify (tcp) checksum modification on unaligned optionsKristof Provost2020-12-233-4/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | It turns out pf incorrectly updates the TCP checksum if the TCP option we're modifying is not 2-byte algined with respect to the start of the packet. Create a TCP packet with such an option and throw it through a scrub rule, which will update timestamps and modify the packet. PR: 240416 MFC after: 1 week Differential revision: https://reviews.freebsd.org/D27688
* | pf tests: Sort Makefile entriesKristof Provost2020-12-231-10/+10
| | | | | | | | MFC after: 1 week
* | pf: Fix unaligned checksum updatesKristof Provost2020-12-233-20/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The algorithm we use to update checksums only works correctly if the updated data is aligned on 16-bit boundaries (relative to the start of the packet). Import the OpenBSD fix for this issue. PR: 240416 Obtained from: OpenBSD MFC after: 1 week Reviewed by: tuexen (previous version) Differential Revision: https://reviews.freebsd.org/D27696
* | No need to stop XHCI endpoints in disabled state.Hans Petter Selasky2020-12-231-0/+2
| | | | | | | | | | | | | | | | | | | | Some AMD XHCI implementations apparently assert a permanent internal failure if this happens. Submitted by: ali.abdallah@suse.com PR: 251503 MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
* | Remove not needed variable initialization.Hans Petter Selasky2020-12-231-2/+2
| | | | | | | | | | | | | | | | | | And switch from int to bool while at it. Reviewed by: melifaro@ Differential Revision: https://reviews.freebsd.org/D27725 MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
* | x86: stop punishing VMs with low priority for TSC timecounterKonstantin Belousov2020-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I suspect that virtualization techniques improved from the time when we have to effectively disable TSC use in VM. For instance, it was reported (complained) in https://github.com/JuliaLang/julia/issues/38877 that FreeBSD is groundlessly slow on AWS with some loads. Remove the check and start watching for complaints. Reviewed by: emaste, grehan Discussed with: cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27629
* | vxlan: stop checking CSUM_ENCAP_VXLAN when converting inner CSUM flags into ↵Konstantin Belousov2020-12-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | normal, for decapsulation. The packet, if processed at this point, was already parsed to be UDP directed to a vxlan port. Connect-X 4+ does not provide easy method to infer which parser processed the packet, so driver cannot set the flag without a lot of efforts which are only to satisfy the formal requirements. Reviewed by: bryanv, np Sponsored by: Mellanox Technologies/NVidia Networking Differential revision: https://reviews.freebsd.org/D27449 MFC after: 1 week
* | psm(4): Always initialize Synaptics touchpad report range with defaultsVladimir Kondratyev2020-12-231-14/+9
| | | | | | | | | | | | | | | | | | | | Otherwise libinput refuses to recoginize some Synaptics touchpads with "kernel bug: device has min == max on ABS_X" message in Xorg.log. PR: 251149 Reported-by: Jens Grassel <freebsd-ports@jan0sch.de> Tested-by: Jens Grassel <freebsd-ports@jan0sch.de> MFC-after: 2 weeks
* | acpi_wmi(4): Allow attachment to ACPI node if EC is not foundVladimir Kondratyev2020-12-231-1/+3
| | | | | | | | | | | | | | | | | | | | Conducted tests showed that Embedded Controller is not mandatory for WMI extensions to work. Reported-by: yuripv Reviewed-by: avg MFC-after: 2 weeks Differential-Revision: https://reviews.freebsd.org/D27653
* | cyapa(4): Add support for evdev protocolVladimir Kondratyev2020-12-232-1/+91
| | | | | | | | | | Tested-by: Matthias Apitz <guru@unixarea.de> MFC-after: 2 weeks
* | cyapa(4): Make button detection matching ChromeOS driverVladimir Kondratyev2020-12-231-4/+5
| | | | | | | | | | Tested-by: Matthias Apitz <guru@unixarea.de> MFC-after: 2 weeks
* | Improve address generation in the early arm64 bootAndrew Turner2020-12-231-11/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | The adr instruction allows for an address of +-1M from the instruction. If we replace these with an adrp and an add instruction we can generate an address +-4G. The adrp will get an address of the 4k page the label is within, and the add uses the :lo12: prefix to add just the low bits to this address. This will allow us to move things around with fewer issues than if we needed to keep them within the +-1MB range. Sponsored by: Innovate UK
* | cache: fix up cache_hold_vnode commentMateusz Guzik2020-12-231-3/+2
| |
* | netgraph: Fix ng_ether's shutdown handingMark Johnston2020-12-232-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When tearing down a VNET, netgraph sends shutdown messages to all of the nodes before detaching interfaces (SI_SUB_NETGRAPH comes before SI_SUB_INIT_IF in teardown order). ng_ether nodes handle this by destroying themselves without detaching from the parent ifnet. Then, when ifnets go away they detach their ng_ether nodes again, triggering a use-after-free. Handle this by modifying ng_ether_shutdown() to detach from the ifnet. If the shutdown was triggered by an ifnet being destroyed, we will clear priv->ifp in the ng_ether detach callback, so priv->ifp may be NULL. Also get rid of the printf in vnet_netgraph_uninit(). It can be triggered trivially by ng_ether since ng_ether_shutdown() persists the node unless NG_REALLY_DIE is set. PR: 233622 Reviewed by: afedorov, kp, Lutz Donnerhacke MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27662
* | Remove unused includes.Xin LI2020-12-232-4/+0
| |
* | newvers.sh: fix sense of git dirty checkEd Maste2020-12-231-1/+1
| | | | | | | | | | | | | | | | Previously we reported -dirty for an unmodified tree, and no -dirty if there were changes. PR: 252028 Reported by: John Kennedy
* | Mark the repository has been converted to GitLi-Wen Hsu2020-12-232-4/+0
| | | | | | | | | | | | This is the first Git commit to src. Sponsored by: The FreeBSD Foundation
* | Mark the repository as being converted to Git.Li-Wen Hsu2020-12-202-0/+4
| | | | | | | | | | | | | | | | | | This is the last Subversion commit to src. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=368820
* | Filter TCP connections to SO_REUSEPORT_LB listen sockets by NUMA domainAndrew Gallatin2020-12-197-35/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Optionally bind ktls threads to NUMA domainsAndrew Gallatin2020-12-191-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When ktls_bind_thread is 2, we pick a ktls worker thread that is bound to the same domain as the TCP connection associated with the socket. We use roughly the same code as netinet/tcp_hpts.c to do this. This allows crypto to run on the same domain as the TCP connection is associated with. Assuming TCP_REUSPORT_LB_NUMA (D21636) is in place & in use, this ensures that the crypto source and destination buffers are local to the same NUMA domain as we're running crypto on. This change (when TCP_REUSPORT_LB_NUMA, D21636, is used) reduces cross-domain traffic from over 37% down to about 13% as measured by pcm.x on a dual-socket Xeon using nginx and a Netflix workload. Reviewed by: jhb Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D21648 Notes: svn path=/head/; revision=368818
* | libc: Fix most issues reported by mandocGordon Bergling2020-12-1920-65/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - varios "new sentence, new line" warnings - varios "sections out of conventional order" warnings - varios "unusual Xr order" warnings - varios "missing section argument" warnings - varios "no blank before trailing delimiter" warnings - varios "normalizing date format" warnings MFC after: 1 month Notes: svn path=/head/; revision=368817
* | trim(8): Fix a few issues reported by mandocGordon Bergling2020-12-191-5/+7
| | | | | | | | | | | | | | | | | | | | | | - new sentence, new line - unusual Xr order: ioctl(2) after da(4) - unusual Xr order: sysexits(3) after nda(4) MFC after: 1 week Notes: svn path=/head/; revision=368816
* | zonectl(8): Fix a few issues reported by mandocGordon Bergling2020-12-191-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | - Add missing quotation mark for a comment above the .Dd - inserting missing end of block: Sh breaks Bd - skipping paragraph macro: Pp before Bl - skipping paragraph macro: Pp before Bd - empty block: Bd MFC after: 1 week Notes: svn path=/head/; revision=368815
* | nfsv4(4): Fix a few issues reported by mandocGordon Bergling2020-12-191-5/+7
| | | | | | | | | | | | | | | | | | | | | | - new sentence, new line - function name without markup: rtalloc() - function name without markup: VOP_RECLAIM() MFC after: 1 week Notes: svn path=/head/; revision=368814
* | bluetooth: Fix a mandoc related issuesGordon Bergling2020-12-194-24/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - new sentence, new line - sections out of conventional order: Sh FILES - unusual Xr order: bthost(1) after bthidd(8) - no blank before trailing delimiter - whitespace at end of input line - sections out of conventional order: Sh EXIT STATUS MFC after: 1 week Notes: svn path=/head/; revision=368813
* | mpsutil(8): Remove trailing whitespaceGordon Bergling2020-12-191-1/+1
| | | | | | | | | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=368812
* | bhyvectl(8): Normalize the man page dateGordon Bergling2020-12-191-1/+1
| | | | | | | | | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=368811
* | camdd(8): Fix the man page dateGordon Bergling2020-12-191-1/+1
| | | | | | | | | | | | | | | | | | | | The comment before the .Dd macro was missing a quotation mark, so that the date of the man page was always today. MFC after: 3 days Notes: svn path=/head/; revision=368810
* | config: Fix a few mandoc related errorsGordon Bergling2020-12-192-10/+11
| | | | | | | | | | | | | | | | | | | | - new sentence, new line - no blank before trailing delimiter MFC after: 1 week Notes: svn path=/head/; revision=368809
* | devctl(8): Correct "sections out of conventional order" errorGordon Bergling2020-12-191-5/+5
| | | | | | | | | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=368808
* | patch(1): Fix a few mandoc related issuesGordon Bergling2020-12-191-6/+6
| | | | | | | | | | | | | | | | | | - no blank before trailing delimiter MFC after: 1 week Notes: svn path=/head/; revision=368807
* | uname(1): Fix a typo in the man page dateGordon Bergling2020-12-191-1/+1
| | | | | | | | | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=368806
* | ident(1): Normalizing date formatGordon Bergling2020-12-191-1/+1
| | | | | | | | | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=368805
* | ipfw(8): Fix a few mandoc related issuesGordon Bergling2020-12-191-48/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - no blank before trailing delimiter - missing section argument: Xr inet_pton - skipping paragraph macro: Pp before Ss - unusual Xr order: syslogd after sysrc - tab in filled text There were a few multiline NAT examples which used the .Dl macro with tabs. I converted them to .Bd, which is a more suitable macro for that case. MFC after: 1 week Notes: svn path=/head/; revision=368804
* | ping(8): Fix a mandoc related issueGordon Bergling2020-12-191-1/+1
| | | | | | | | | | | | | | - unusual Xr punctuation: none before traceroute6(8) Notes: svn path=/head/; revision=368803
* | nvmecontrol(8): Fix a few mandoc related issues and add a SEE ALSO sectionGordon Bergling2020-12-191-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - inserting missing end of block: Ss breaks Bl - skipping paragraph macro: Pp before Ss - referenced manual not found: Xr nvme 4 (2 times) - unknown standard specifier: St The The macro .St can only be used for standards known by mdoc(7). So add a SEE ALSO section and add a reference to the NVM Express Base Specification. MFC after: 2 weeks Notes: svn path=/head/; revision=368802
* | Ensure a minimum packet length before creating a mbuf in if_ure.Hans Petter Selasky2020-12-191-1/+1
| | | | | | | | | | | | | | Sponsored by: Mellanox Technologies // NVIDIA Networking Notes: svn path=/head/; revision=368801
* | devd.conf(5): Fix a mandoc related issueGordon Bergling2020-12-191-3/+3
| | | | | | | | | | | | | | | | | | - sections out of conventional order: Sh SEE ALSO MFC after: 1 week Notes: svn path=/head/; revision=368800
* | Move SYSCTL_ADD_PROC() to unlocked context in if_ure to avoid lock order ↵Hans Petter Selasky2020-12-191-9/+9
| | | | | | | | | | | | | | | | | | | | | | reversal. MFC after: 1 week Reported by: Mark Millard <marklmi@yahoo.com> Sponsored by: Mellanox Technologies // NVIDIA Networking Notes: svn path=/head/; revision=368799
* | 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