aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Enable creation of static userspace probes in incremental builds.Mark Johnston2020-08-204-69/+89
| | | | | | | | | | | | | | | | | | To define USDT probes, dtrace -G makes use of relocations for undefined symbols: the target address is overwritten with NOPs and the location is recorded in the DOF section of the output object file. To avoid link errors, the original relocation is destroyed. However, this means that the same input object file cannot be processed multiple times, as happens during incremental rebuilds. Instead, only set the relocation type to NONE, so that all information required to reconstruct USDT probes is preserved. Reported by: bdrewery MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=364438
* Remove non-FreeBSD ifdefs from dt_link.c.Mark Johnston2020-08-201-250/+19
| | | | | | | | | | | | This file is too complicated as it is and has diverged a fair bit from illumos due to toolchain differences, so just drop unused code (including SPARC support). MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=364437
* Add ufm(4) to ObsoleteFiles.incNiclas Zeising2020-08-201-0/+3
| | | | | | | | | The ufm driver was removed in r364432, add the manual to ObsoleteFiles. OK by: imp Notes: svn path=/head/; revision=364436
* Bump kldxref's MAXSEGS to 16, to stop complaints about the kernelDimitry Andric2020-08-201-1/+1
| | | | | | | | | | | | supposedly having too many segments, when lld 11 links it. Such kernels should load just fine. Note that we may still do some tweaking of our kernel linker scripts, to lower the number of segments, although the exact benefit is not entirely clear. Notes: svn path=/head/; revision=364435
* Remove ufm.4 from the MakefileWarner Losh2020-08-201-1/+0
| | | | Notes: svn path=/head/; revision=364434
* Fix regression after r364379.Hans Petter Selasky2020-08-201-3/+1
| | | | | | | | | | | | | | | The AMD's Ryzen 3 3200g XHCI controllers apparently need the evaluate control endpoint context command, but we don't need to issue this command when the bMaxPacketSize is received after the read of the USB device descriptor, because this part should be handled automatically. PR: 248784 Tested by: emaste, hselasky MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=364433
* Remove the long obsolete ufm driver.Warner Losh2020-08-205-468/+1
| | | | | | | | | | | | | It was a driver for a USB FM tuner that was available in the market in 2002. I wrote the driver in 2003. I've not used it since 2005 or so, so it's time to retire this driver. No userland code ever interfaced to the special device it created. There's no user base: the last bug I received on this driver was in 2004. Relnotes: Yes Notes: svn path=/head/; revision=364432
* Tag pccard drivers with gone in 13.Warner Losh2020-08-2019-5/+53
| | | | | | | | | MFC After: 3 days Reviewed by: emaste, brooks, adrian (on twitter) Differential Revision: https://reviews.freebsd.org/D26095 Notes: svn path=/head/; revision=364430
* Move from TAILQ to STAILQ because the nodes are a bit smaller.Warner Losh2020-08-201-15/+15
| | | | Notes: svn path=/head/; revision=364429
* Move devctl_notify* to devctl.h.Warner Losh2020-08-202-12/+47
| | | | Notes: svn path=/head/; revision=364428
* Make devctl_queue_data_f and devctl_queue_data private.Warner Losh2020-08-202-6/+3
| | | | | | | | I thought we'd need them, but nobody is using them. Narrow the interface. This will facilitate changes in the future. Notes: svn path=/head/; revision=364427
* ipfw: style(9) fixesEd Maste2020-08-201-4/+4
| | | | | | | | | | Submitted by: Neel Chauhan <neel AT neelc DOT org> Reviewed by: emaste, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26126 Notes: svn path=/head/; revision=364426
* Use names suggested by kib@ in review D25969, move call for unmount to not callWarner Losh2020-08-201-10/+11
| | | | | | | | | | | | | with vnode locked, use NOWAIT alloc and only report when we don't overflow. These changes were accidentally omitted from r364402, except for the not reporting on overflow. They were lumped in with a debugging commit in my tree that I omitted w/o realizing this. Other issues from the review are pending some other changes I need to do first. Notes: svn path=/head/; revision=364425
* Fix function name in zone.9Warner Losh2020-08-201-3/+3
| | | | | | | | uma_zone_prealloc -> uma_prealloc. There's no uma_zone_prealloc defined and the docs for it describe uma_prealloc exactly. Notes: svn path=/head/; revision=364424
* dl_iterate_phdr(3): provide exclusive locking for callback when statically ↵Konstantin Belousov2020-08-201-2/+8
| | | | | | | | | | | | | | | linked. Apparently llvm unwinder depends on the external locking for callback. Reviewed by: cem, emaste Tested by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D26109 Notes: svn path=/head/; revision=364423
* libsa: smbios: Parse the chassis type and export it as smbios.chassis.typeEmmanuel Vadot2020-08-201-0/+85
| | | | | | | | | | | | It can be useful to know what type of machine we are running on for desktop related thing. It also allow us to support all the DMI variable that linux driver can fetch. MFC after: 1 week Sponsored by: Sponsored-by: The FreeBSD Foundation Notes: svn path=/head/; revision=364421
* cache: don't use cache_purge_negative when renamingMateusz Guzik2020-08-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It avoidably scans (and evicts) unrelated entries. Instead take advantage of passed componentname and perform a hash lookup for the exact one. Sample data from buildworld probed on cache_purge_negative extended to count both scanned and evicted entries on each call are below. At most it has to evict 1. evicted value ------------- Distribution ------------- count -1 | 0 0 |@@@@@@@@@@@@@@@ 19506 1 |@@@@@ 5820 2 |@@@@@@ 7751 4 |@@@@@ 6506 8 |@@@@@ 5996 16 |@@@ 4029 32 |@ 1489 64 | 193 128 | 109 256 | 56 512 | 16 1024 | 7 2048 | 3 4096 | 1 8192 | 1 16384 | 0 scanned value ------------- Distribution ------------- count -1 | 0 0 |@@ 2456 1 |@ 1496 2 |@@ 2728 4 |@@@ 4171 8 |@@@@ 5122 16 |@@@@ 5335 32 |@@@@@ 6279 64 |@@@@ 5671 128 |@@@@ 4558 256 |@@ 3123 512 |@@ 2790 1024 |@@ 2449 2048 |@@ 3021 4096 |@ 1398 8192 |@ 886 16384 | 0 Notes: svn path=/head/; revision=364420
* cache: add cache_rename, a dedicated helper to use for renamesMateusz Guzik2020-08-204-8/+21
| | | | | | | | | While here make both tmpfs and ufs use it. No fuctional changes. Notes: svn path=/head/; revision=364419
* cache: reimplement cache_lookup_nomakeentry as cache_remove_cnpMateusz Guzik2020-08-201-10/+15
| | | | | | | This in particular removes unused arguments. Notes: svn path=/head/; revision=364418
* usr.sbin/fstyp: Fix incorrect pfs_type test in ondisk inodePedro F. Giffuni2020-08-201-1/+1
| | | | | | | | | | "ipdata.meta.pfs_type & HAMMER2_PFSTYPE_SUPROOT" happened to have the same result (except HAMMER2_PFSTYPE_DUMMY could also match). Obtained from: Dragonfly (git 29e6489bbd4f8e237c9c17b300ac8b711f36770) Notes: svn path=/head/; revision=364417
* extfs: remove redundant little endian conversion.Pedro F. Giffuni2020-08-201-4/+4
| | | | | | | | | | | | | The XTIME_TO_NSEC macro already calls the htole32(), so there is no need to call it twice. This code does nothing on LE platforms and affects only nanosecond and birthtime fields so it's difficult to notice on regular use. Hinted by: DragonFlyBSD (git ae503f8f6f4b9a413932ffd68be029f20c38cab4) X-MFC with: r361136 Notes: svn path=/head/; revision=364416
* Add MSG_TLSAPPDATA to lib/libsysdecode/mktables.Rick Macklem2020-08-201-1/+1
| | | | | | | | | I have no idea what this does (and until now that it even existed), but apparently it needs this entry changed for the MSG_TLSAPPDATA, since it is kernel only. Notes: svn path=/head/; revision=364415
* zfs: fix EIO accessing dataset after resuming interrupted receiveAlan Somers2020-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | ZFS unmounts a dataset while receiving into it and remounts it afterwards. But if ZFS is resuming an incomplete receive, it screws up and ends up with a dataset that is mounted, but returns EIO for every access. This commit fixes that condition. While the vulnerable code also exists in OpenZFS, the problem is not reproducible there. Apparently OpenZFS doesn't unmount the destination dataset during receive, like FreeBSD does. PR: 248606 Reviewed by: mmacy MFC after: 2 weeks Sponsored by: Axcient Differential Revision: https://reviews.freebsd.org/D26034 Notes: svn path=/head/; revision=364412
* Use pmap_mapbios() to map ACPI tables on amd64 and i386.Mark Johnston2020-08-202-182/+38
| | | | | | | | | | | | | | | | | | | The ACPI table-mapping code used pmap_kenter_temporary() to create mappings, which in turn uses the fixed-size crashdump map. Moreover, the code was not verifying that the table fits in this map, so when mapping large tables we could clobber adjacent mappings. This use of pmap_kenter_temporary() appears to predate support in pmap_mapbios() for creating early mappings, but that restriction no longer applies. PR: 248746 Reviewed by: kib, mav Tested by: gallatin, Curtis Villamizar <curtis@ipv6.occnc.com> MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26125 Notes: svn path=/head/; revision=364411
* Remove an unused parameter from map_table().Mark Johnston2020-08-201-4/+4
| | | | | | | | MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=364410
* Add the MSG_TLSAPPDATA flag to indicate "return ENXIO" for non-application TLSRick Macklem2020-08-192-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | data records. The kernel RPC cannot process non-application data records when using TLS. It must to an upcall to a userspace daemon that will call SSL_read() to process them. This patch adds a new flag called MSG_TLSAPPDATA that the kernel RPC can use to tell sorecieve() to return ENXIO instead of a non-application data record, when that is what is at the top of the receive queue. I put the code in #ifdef KERN_TLS/#endif, although it will build without that, so that it is recognized as only useful when KERN_TLS is enabled. The alternative to doing this is to have the kernel RPC re-queue the non-application data message after receiving it, but that seems more complicated and might introduce message ordering issues when there are multiple non-application data records one after another. I do not know what, if any, changes will be required to support TLS1.3. Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D25923 Notes: svn path=/head/; revision=364409
* libsa: remove leftover whitespaceToomas Soome2020-08-191-1/+1
| | | | | | | Tiny cleanup, no functional changes. Notes: svn path=/head/; revision=364408
* Unify AcpiGetTable() KPI use in identify, probe and attach.Alexander Motin2020-08-191-7/+25
| | | | | | | | | | | While there, change probe order to not call AcpiGetTable() for every probed ACPI device. PR: 248746 MFC after: 3 days Notes: svn path=/head/; revision=364407
* Add a KCOV man page.Mark Johnston2020-08-192-0/+207
| | | | | | | | | Reviewed by: andrew, gbe, tuexen Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26108 Notes: svn path=/head/; revision=364406
* TCP: remove special treatment for hardware (ifnet) TLSAndrew Gallatin2020-08-193-301/+21
| | | | | | | | | | | | | | | | | | | | | | | | | Remove most special treatment for ifnet TLS in the TCP stack, except for code to avoid mixing handshakes and bulk data. This code made heroic efforts to send down entire TLS records to NICs. It was added to improve the PCIe bus efficiency of older TLS offload NICs which did not keep state per-session, and so would need to re-DMA the first part(s) of a TLS record if a TLS record was sent in multiple TCP packets or TSOs. Newer TLS offload NICs do not need this feature. At Netflix, we've run extensive QoE tests which show that this feature reduces client quality metrics, presumably because the effort to send TLS records atomically causes the server to both wait too long to send data (leading to buffers running dry), and to send too much data at once (leading to packet loss). Reviewed by: hselasky, jhb, rrs Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D26103 Notes: svn path=/head/; revision=364405
* ipfirewall(4): remove Cuseeme from supported listEd Maste2020-08-191-2/+2
| | | | | | | | | Submitted by: Dries Michiels MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D26075 Notes: svn path=/head/; revision=364404
* Document the VFS FS eventsWarner Losh2020-08-191-0/+14
| | | | | | | | | | | | | | | | | | | MOUNT notifies when a filesystem is mounted REMOUNT notifies when a filesystem is mounted again UNMOUNT notifies when a filesystem is unmounted These events are asynchronous to the actual state of the event (though the data is recorded at a time when it is stable). The mount event is reported after the filesystem is mounted. However, in the interim it may be unmounted by another agent. Likewise, umount is called just before the mountpoint is finished tearing down. It may be remounted (or maybe if the process scheduling is wonky and devd gets to run before the last few steps are complete). Sponsored by: Netflix Diffential Revision: https://reviews.freebsd.org/D25969 Notes: svn path=/head/; revision=364403
* Add VFS FS events for mount and unmount to devctl/devdWarner Losh2020-08-191-0/+74
| | | | | | | | | | | | | Report when a filesystem is mounted, remounted or unmounted via devd, along with details about the mount point and mount options. Discussed with: kib@ Reviewed by: kirk@ (prior version) Sponsored by: Netflix Diffential Revision: https://reviews.freebsd.org/D25969 Notes: svn path=/head/; revision=364402
* Move the mount name to bit mapping into sys/mount.h so it can be shared with theWarner Losh2020-08-192-31/+43
| | | | | | | | | | | | kernel. Discussed with: kib@ Reviewed by: kirk@ (prior version) Sponsored by: Netflix Diffential Revision: https://reviews.freebsd.org/D25969 Notes: svn path=/head/; revision=364401
* Fix the mips64 world build after r364284.Dimitry Andric2020-08-191-0/+5
| | | | | | | | | | | | | | | Linking the full version of clang 11 results in errors similar to: lld: error: /usr/src/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp:736:(.text._ZN5clang4ento22CreateAnalysisConsumerERNS_16CompilerInstanceE+0xE0): relocation R_MIPS_CALL16 out of range: 48920 is not in [-32768, 32767]; references operator new(unsigned long) Add -mxgot to the compilation flags for llvm libraries to work around this error. This may be too big of a hammer, but it can always be refined later. MFC after: 6 weeks Notes: svn path=/head/; revision=364400
* Remove some noisy ACPI tables messages from verbose dmesg.Alexander Motin2020-08-193-27/+3
| | | | | | | | | | | | Those messages were printed hundreds of times during boot, often multiple times for each table. We already print information about the tables in more organized form once to not duplicate it when random ACPI drivers are attaching. MFC after: 1 week Notes: svn path=/head/; revision=364399
* libsa: make env_discard() publicToomas Soome2020-08-192-3/+2
| | | | | | | Allow env_discard() to be used outside environment.c Notes: svn path=/head/; revision=364398
* libsa: cstyle cleanup for environment.cToomas Soome2020-08-191-119/+118
| | | | | | | No functional changes. Notes: svn path=/head/; revision=364397
* Unbreak `freebsd-update updatesready'.Michael Gmelin2020-08-191-1/+11
| | | | | | | | | | | | | The command would only work if PWD happened to be WORKDIR. Also, exit 1 in case WORKDIR exists, but isn't accessible by the current user. PR: 242709 Reported by: Max Fiedler MFC after: 1 week Notes: svn path=/head/; revision=364396
* cache: when adding an already existing entry assert on a complete matchMateusz Guzik2020-08-191-0/+9
| | | | Notes: svn path=/head/; revision=364395
* cache: tidy up the comment above cache_prehashMateusz Guzik2020-08-191-1/+1
| | | | Notes: svn path=/head/; revision=364394
* Mark COVERAGE and KCOV as part of KCSANAndrew Turner2020-08-192-0/+4
| | | | | | | | | | While not strictly true this stops them from trying to use the KCSAN atomic hooks and allows these to be compiled into the same kernel. Sponsored by: Innovate UK Notes: svn path=/head/; revision=364393
* Cross-reference development.7 and tests.7Mateusz Piotrowski2020-08-192-3/+5
| | | | | | | MFC after: 7 days Notes: svn path=/head/; revision=364387
* Avoid evaluating the XHCI control endpoint context.Hans Petter Selasky2020-08-192-15/+3
| | | | | | | | | | | | | | The XHCI specification says that the XHCI controller should detect reception of the USB device descriptors, and automatically update the max packet size in the control endpoint context. Differential Revision: https://reviews.freebsd.org/D26104 Reviewed by: kp@ MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=364379
* Fix the real shared libraries (lib*.so.X) from OLD_FILES to OLD_LIBS,Alexander Leidinger2020-08-191-18/+18
| | | | | | | as it is supposed to be. Notes: svn path=/head/; revision=364375
* Print current buffer latency in dmesg for the USB audio driver and not justHans Petter Selasky2020-08-191-4/+6
| | | | | | | | | | the maximum. MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=364374
* vfs: remove the always-curthread td argument from VOP_RECLAIMMateusz Guzik2020-08-199-11/+8
| | | | Notes: svn path=/head/; revision=364373
* vfs: drop the error parameter from vn_isdisk, introduce vn_isdisk_errorMateusz Guzik2020-08-1915-27/+35
| | | | | | | Most consumers pass NULL. Notes: svn path=/head/; revision=364372
* vfs: sanity check mount counters in vfs_op_enterMateusz Guzik2020-08-191-0/+3
| | | | Notes: svn path=/head/; revision=364371
* Three typos:Warner Losh2020-08-191-2/+2
| | | | | | | | | | | | Amiga is a proper noun Condition is traditionally spelled starting with 'c' Some, but not all, of the over/under-voltage instances were hyphenated. Since they are all adverb phrases, they all need to be hyphenated. Pointy hat: imp Notes: svn path=/head/; revision=364370