summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MFC r320671:trasz2017-08-051-1/+1
| | | | Use more canonical .Dt for vt(4).
* MFC r319798:trasz2017-08-051-3/+3
| | | | | | Switch the example name for variables controlling loading memory images in /boot/defaults/loader.conf to something that's actually commonly used, "mdroot". It's arbitrary, but it's easier to find this way.
* MFC r319774:trasz2017-08-051-1/+1
| | | | Improve formatting by removing yet another case of '-width ".Pa'.
* MFC r319775:trasz2017-08-051-2/+0
| | | | /usr/share/doc/bind is gone since 20040925.
* MFC r319499:trasz2017-08-051-2/+2
| | | | Consistently use lowercase hex numbers in ascii(7).
* MFC r318444:trasz2017-08-051-1/+1
| | | | Fix typo.
* MFC r318182:trasz2017-08-051-5/+9
| | | | | | Improve build(7): add missing "buildkernel" and "installkernel" to the example, change the architectures to something more common, and improve description of defaults for TARGET.
* MFC r321685: Fix IORDY bits definition.mav2017-08-051-2/+2
| | | | | | | According to the ATA specs, IORDYDIS should be bit 10, IORDY -- bit 11. PR: 221049 Submitted by: aaron.styx@baesystems.com
* MFC r321921: Add compat shim part missed at r305197.mav2017-08-051-0/+3
| | | | | | | This fixes compatibility between old kernel and new ZFS tools. It seems to be tradition to forget it. PR: 221112
* MFH r321674:mm2017-08-042-3/+4
| | | | | | | | | Sync libarchive with vendor. Relevant vendor changes: PR #926: ensure ar strtab is null terminated PR: 220462
* MFC r321838:pfg2017-08-042-2/+3
| | | | | | | | sys/net8021: Add missing braces in setcurchan(). Also fix some indentation. Obtained from: DragonFlyBSD (git c69e37d6)
* MFC r321349:kib2017-08-041-18/+32
| | | | Improve publication of the newly allocated snapdata.
* MFC r321348:kib2017-08-041-1/+1
| | | | Unlock correct lock in ffs_snapblkfree().
* MFC r321347:kib2017-08-041-1/+5
| | | | | Account for lock recursion when transfering snaplock to the vnode lock in ffs_snapremove().
* MFC r321652:kib2017-08-041-12/+11
| | | | Simplify flow control.
* MFC r321605:cy2017-08-031-2/+2
| | | | | | | | | | | | | As in r315225, discard 3072 bytes of RC4 bytestream instead of 1024. (This implementation of arc4rand(9) is used by the userland ipftest utility as it approximates ipfilter kernelspace in userspace.) PR: 217920 Submitted by: codarren@hackers.mu Reviewed by: emaste, cem Approved by: so (implicit, in r315225) Differential Revision: D11747 Patterned after: r315225
* MFC r312983:hselasky2017-08-031-1/+1
| | | | | | | | Make "desc" pointer non-constant inside the mlx5_core_diagnostics_entry structure. This fixes compilation with amd64-xtoolchain-gcc. PR: 216588 Sponsored by: Mellanox Technologies
* MFC r312876:hselasky2017-08-032-50/+53
| | | | | | | Use ffs() to scan for first bit instead of using a for() loop. Minor code refactor while at it. Sponsored by: Mellanox Technologies
* MFC r312872:hselasky2017-08-037-1/+503
| | | | | | | | | | | | | | | | Add support for reading advanced diagnostic counters. By default reading the diagnostic counters is disabled. The firmware decides which counters are supported and only those supported show up in the dev.mce.X.diagnostics sysctl tree. To enable reading of diagnostic counters set one or more of the following sysctls to one: dev.mce.X.conf.diag_general_enable=1 dev.mce.X.conf.diag_pci_enable=1 Sponsored by: Mellanox Technologies
* MFC r312865:hselasky2017-08-031-2/+4
| | | | | | | | | Enforce reading the consumer and producer counters once to ensure consistent return values from the mlx5e_sq_has_room_for() function. The two counters are incremented by different threads under different locks. Sponsored by: Mellanox Technologies
* MFC r312537:hselasky2017-08-031-1/+0
| | | | | | Remove superfluous return statement. Sponsored by: Mellanox Technologies
* MFC r312536:hselasky2017-08-034-32/+99
| | | | | | | | | | | | | | | | | | Allow transmit packet bufring in software to be disabled. - Add new sysctl node to control the transmit packet bufring. - Add optimised version of the transmit routine which output packets directly to the DMA ring instead of using bufring in case the transmit lock is congested. This can reduce the number of taskswitches which in turn influence the overall system CPU usage, depending on the workload. - Add " TX" suffix to debug name for transmit mutexes to silence some witness warnings about aquiring duplicate locks having same name. Sponsored by: Mellanox Technologies Suggested by: gallatin @
* MFC r312528:hselasky2017-08-033-18/+56
| | | | | | | | | | | | | | | | | | | Make draining a sendqueue more robust. Add own state variable to track if a sendqueue is stopped or not. This will prevent traffic from entering the sendqueue while it is being destroyed. Update drain function to wait for traffic to be transmitted before returning when the link state is active. Add extra checks in transmit path for stopped SQ's. While at it: - Use likely() for a mbuf pointer check. - Remove redundant IFF_DRV_RUNNING check. Sponsored by: Mellanox Technologies
* MFC r312527:hselasky2017-08-034-6/+85
| | | | | | | | Add runtime support for modifying the SQ and RQ completion event moderation mode. The presence of this feature is indicated through the firmware capabilities. Sponsored by: Mellanox Technologies
* MFC r312526:hselasky2017-08-031-35/+168
| | | | | | | Update firmware interface structures and definitions adding support for new features and commands. Sponsored by: Mellanox Technologies
* MFC r320773:hselasky2017-08-031-2/+27
| | | | | | | | | | | | | Implement fix for BULK IN-token retry mechanism. When the hardware is programmed for infinite IN token retry after NAK, the SAF1761 hardware, however, does not retry the IN-token. This problem is described in the SAF1761 errata, section 18.1.1. While at it: - Add some minor chip specific initialization for RTEMS. - Add debug print for status registers in the interrupt filter. Submitted by: Christian Mauderer <christian.mauderer@embedded-brains.de>
* MFC r321722:hselasky2017-08-031-8/+16
| | | | | | | Properly range check length of parsed information elements in RSU driver. Found by: Ilja van Sprundel <ivansprundel@ioactive.com> Sponsored by: Mellanox Technologies
* MFC r321627:kib2017-08-031-1/+6
| | | | Make it possible to request nosys logging to console.
* MFC r321625:kib2017-08-032-12/+13
| | | | Make the number of children for pctrie node available outside subr_pctrie.c.
* MFC r321606: adaasync(): Set ADA_STATE_WCACHE based on ADA_FLAG_CAN_WCACHEmav2017-08-031-1/+1
| | | | | | | | | | | | The attached patch lets adaasync() set ADA_STATE_WCACHE based on ADA_FLAG_CAN_WCACHE instead of ADA_FLAG_CAN_RAHEAD. This fixes a regression introduced in r300207 which changed the flag names. PR: 220948 Submitted by: Fabian Keil <fk@fabiankeil.de> Obtained from: ElectroBSD
* MFC r321620: Fix singular/plural "users" output.mav2017-08-031-1/+1
| | | | | | | It was broken during libxo'fication. PR: 221039 Submitted by: timur@
* MFC r321622, r321623:ken2017-08-021-21/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r321622 | ken | 2017-07-27 09:33:57 -0600 (Thu, 27 Jul 2017) | 44 lines Fix probing FC targets with hard addressing turned on. This largely reverts FreeBSD SVN change 289937 from October 25th, 2015. The intent of that change was to keep loop IDs persistent across chip reinits. The problem is that the change turned on the PREVLOOP / PREV_ADDRESS bit (bit 7 in Firmware Options 2), which tells the Qlogic chip to not participate in the loop if it can't get the requested loop address. It also turned off soft addressing on 2400 (4Gb) and newer controllers. The isp(4) driver defaults to loop address 0, and the tape drives I have tested default to loop address 0 if hard addressing is turned on. So when hard loop addressing is turned on on the drive, the isp(4) driver just refuses to participate in the loop. The solution is to largely revert that change. I left some elements in place that are related to virtual ports, since they were new. This does work with IBM tape drives with hard and soft addressing turned on. I have tested it with 4Gb, 8Gb, and 16Gb controllers. sys/dev/isp.c: Largely revert FreeBSD SVN change 289937. I left the ispmbox.h changes in place. Don't use the PREV_ADDRESS bit on initialization. It tells the chip to not participate if it can't get the requested loop ID. Do use soft addressing on 2400 and newer chips. Use hard addressing when the user has requested a specific initiator ID. (hint.isp.X.iid=N in /boot/loader.conf) Leave some of the virtual port options from that change in place, but don't turn on the PREV_ADDRESS bit. Reviewed by: mav Sponsored by: Spectra Logic ------------------------------------------------------------------------ r321623 | ken | 2017-07-27 09:51:56 -0600 (Thu, 27 Jul 2017) | 6 lines Remove duplicate assignments from r321622. Submitted by: mav Sponsored by: Spectra Logic ------------------------------------------------------------------------
* Merge r316113,316184,316413 from head:gavin2017-08-021-114/+92
| | | | | | - Remove #define PCIS_SERIALBUS_SMBUS_PROGIF, unused since r200091 - Switch device_probe() from large case statement to a lookup table - Add several missing SMBus controllers
* MFC r320730: Report device descr in addition to ident.mav2017-08-021-0/+6
| | | | Serial number without device model is somewhat less useful.
* MFC r320683: Add naive benchmark for SSDs in ZFS SLOG role.mav2017-08-022-14/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZFS SLOGs have very specific access pattern with many cache flushes, which none of benchmarks I know can simulate. Since SSD vendors rarely specify cache flush time, this measurement can be useful to explain why some ZFS pools are slower then expected. This test writes data chunks of different size followed by cache flush, alike to what ZFS SLOG does, and measures average time. To illustrate, here is result for 6 years old SATA Intel 710 Series SSD: Synchronous random writes: 0.5 kbytes: 138.3 usec/IO = 3.5 Mbytes/s 1 kbytes: 137.7 usec/IO = 7.1 Mbytes/s 2 kbytes: 151.1 usec/IO = 12.9 Mbytes/s 4 kbytes: 158.2 usec/IO = 24.7 Mbytes/s 8 kbytes: 175.6 usec/IO = 44.5 Mbytes/s 16 kbytes: 210.1 usec/IO = 74.4 Mbytes/s 32 kbytes: 274.2 usec/IO = 114.0 Mbytes/s 64 kbytes: 416.5 usec/IO = 150.1 Mbytes/s 128 kbytes: 776.6 usec/IO = 161.0 Mbytes/s 256 kbytes: 1503.1 usec/IO = 166.3 Mbytes/s 512 kbytes: 2968.7 usec/IO = 168.4 Mbytes/s 1024 kbytes: 5866.8 usec/IO = 170.5 Mbytes/s 2048 kbytes: 11696.6 usec/IO = 171.0 Mbytes/s 4096 kbytes: 23329.6 usec/IO = 171.5 Mbytes/s 8192 kbytes: 46779.5 usec/IO = 171.0 Mbytes/s , and much newer and supposedly much faster NVMe Samsung 950 PRO SSD: Synchronous random writes: 0.5 kbytes: 2092.9 usec/IO = 0.2 Mbytes/s 1 kbytes: 2013.1 usec/IO = 0.5 Mbytes/s 2 kbytes: 2014.8 usec/IO = 1.0 Mbytes/s 4 kbytes: 2090.7 usec/IO = 1.9 Mbytes/s 8 kbytes: 2044.5 usec/IO = 3.8 Mbytes/s 16 kbytes: 2084.8 usec/IO = 7.5 Mbytes/s 32 kbytes: 2137.1 usec/IO = 14.6 Mbytes/s 64 kbytes: 2173.4 usec/IO = 28.8 Mbytes/s 128 kbytes: 2923.9 usec/IO = 42.8 Mbytes/s 256 kbytes: 3085.3 usec/IO = 81.0 Mbytes/s 512 kbytes: 3112.2 usec/IO = 160.7 Mbytes/s 1024 kbytes: 2430.6 usec/IO = 411.4 Mbytes/s 2048 kbytes: 3788.9 usec/IO = 527.9 Mbytes/s 4096 kbytes: 6198.0 usec/IO = 645.4 Mbytes/s 8192 kbytes: 10764.9 usec/IO = 743.2 Mbytes/s While the first one obviously has maximal throughput limitations, the second one has so high cache flush latency (about 2 millisecond), that it makes one almost useless in SLOG role, despite of its good throughput numbers. Power loss protection is out of scope of this test, but I suspect it can be related.
* MFC r320555, r320576 (by allanjude):mav2017-08-022-3/+53
| | | | | | | | | | | | | | Add -s (serial) and -p (physpath) to diskinfo Return the bare requested information, intended for scripting. The serial number of a SAS/SCSI device can be returned with 'camcontrol inquiry disk -S', but there is no similar switch for SATA. This provides a way to get this information from both SAS and SATA disks the -s and -p flags are mutually exclusive, and cannot be used with any other flags.
* MFC r321581:kib2017-08-024-9/+56
| | | | Mark pages after EOF as clean after pageout.
* MFC r321580:kib2017-08-021-4/+3
| | | | Move rtvals initialization out of the region protected by NFS node lock.
* MFC r321512:kib2017-08-021-1/+1
| | | | Mark name_PCTRIE_LOOKUP_LE() generated function unused.
* MFC r320761:delphij2017-08-021-6/+6
| | | | | - Use strlcat() instead of strncat(). - Use asprintf() and handle allocation errors.
* MFC r321713:delphij2017-08-021-1/+1
| | | | Bump copyright year.
* MFC r320359:trasz2017-08-011-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Add vfs.nfsd.nfsd_enable_uidtostring, which works just like vfs.nfsd.nfsd_enable_stringtouid, but in reverse - when set to 1, it forces the NFSv4 server to return numeric UIDs and GIDs instead of "user@domain" strings. This helps with clients that can't translate returned identifiers, eg when rerooting. The same can be achieved by just never running nfsuserd(8), but the sysctl is useful to toggle the behaviour back and forth without rebooting. MFC r320409: Revert part of r320359, as suggested by rmacklem@. That case is only used for nfsuserd -manage-gids and shouldn't depend on sysctl. MFC r321196: Rename vfs.nfsd.enable_uidtostring to vfs.nfs.enable_uidtostring. It applies to both NFS client and NFS server, and is useful for both. This is different from vfs.nfsd.enable_stringtouid, which is specific to server side. Sponsored by: DARPA, AFRL
* MFC r320495: Allow status aggregation for ramdisk reads.mav2017-08-011-0/+5
|
* MFC r320493: Unify INOT/ATIO setup.mav2017-08-011-6/+3
|
* MFC r320604, r320865:mav2017-08-017-80/+297
| | | | | | | | | | | | | | | | | | | | | | | | | Switch fabric scans from GID_FT to GID_PT+GFF_ID/GFT_ID. Instead of using GID_FT SNS request to get list of registered FCP ports, use GID_PT to get list of all Nx_Ports, and then use GFF_ID and/or GFT_ID requests to find whether they are FCP and target capable. The problem with old approach is that GID_FT does not report ports without FC-4 type registered. In particular it was impossible to boot OS from FreeBSD FC target using QLogic FC BIOS, since one does not register FC-4 type even on new cards and so ignored by old code as incompatible. As a side bonus this allows initiator to skip pointless logins to other initiators by fetching that information from SNS instead. In case some switches do not implement GFF_ID/GFT_ID correctly, add sysctls to disable that functionality. I handled broken GFF_ID of my Brocade 200E, but there may be other switches with different bugs. Linux also uses GID_PT, but GFF_ID is disabled by default there, and GFT_ID is not supported. Sponsored by: iXsystems, Inc.
* MFC r320575: Move comment respecting previous commit.mav2017-08-011-13/+13
|
* MFC r320574: Slightly unify SNS requests for post- and pre-24xx.mav2017-08-012-133/+94
|
* MFC r320492: Polish target_id/target_lun setting for ATIOs/INOTs.mav2017-08-011-3/+5
| | | | | | | | For ATIOs it is pointless to report isp_loopid to CAM, since in other places it operates with port database record IDs, not with loop IDs. For INOTs target_id/target_lun seems were never set, so wildcard INOTs probably were not working correctly when LUN IDs were important.
* MFC r320990, r321011:pfg2017-08-011-1/+1
| | | | | | libthr: Avoid checking for negative values in usigned count. Check for overflow instead.
* MFC r320941: Fix GRE over IPv6 tunnels with IPFWphilip2017-07-311-0/+7
| | | | | | | | Previously, GRE packets in IPv6 tunnels would be dropped by IPFW (unless net.inet6.ip6.fw.deny_unknown_exthdrs was unset). PR: 220640 Submitted by: Kun Xie <kxie@xiplink.com>
OpenPOWER on IntegriCloud