199822 Commits

Author SHA1 Message Date
gjb
cc688135d4 Document two post-release EN items as resolved.
Sponsored by:	The FreeBSD Foundation
2015-08-19 17:42:32 +00:00
mav
374a9ddfc6 MFC r286320: Issue all reads of single XCOPY segment simultaneously.
During vMotion and Clone VMware by default runs multiple sequential 4MB
XCOPY requests same time.  If CTL issues reads sequentially in 1MB chunks
for each XCOPY command, reads from different commands are not detected
as sequential by serseq option code and allowed to execute simultaneously.
Such read pattern confused ZFS prefetcher, causing suboptimal disk access.
Issuing all reads same time make serseq code work properly, serializing
reads both within each XCOPY command and between them.

My tests with ZFS pool of 14 disks in RAID10 shows prefetcher efficiency
improved from 37% to 99.7%, copying speed improved by 10-60%, average
read latency reduced twice on HDD layer and by five times on zvol layer.
2015-08-19 17:41:49 +00:00
gjb
4e7de07e7e Add 10.2-RELEASE to UPDATING, forgotten with prior related commits.
Submitted by:	junovitch
Sponsored by:	The FreeBSD Foundation
2015-08-19 00:26:54 +00:00
gjb
76e74d8323 Document SA-15:20, EN-15:11, EN-15:12, EN-15:13.
Sponsored by:	The FreeBSD Foundation
2015-08-18 20:27:03 +00:00
delphij
0d505bc40b Fix multiple integer overflows in expat.
Security:	CVE-2015-1283
Security:	FreeBSD-SA-15:20.expat
2015-08-18 19:30:05 +00:00
np
0f68d26edd MFC r271490:
cxgbe(4): add support for the SIOCGI2C ioctl.
2015-08-18 19:15:20 +00:00
np
b7bf1376b4 MFC r285648:
cxgbe(4): Ask the firmware for the start of the RSS slice for a port and
save it for later.  This enables direct manipulation of the indirection
tables (although the stock driver doesn't do that right now).
2015-08-18 19:04:55 +00:00
np
8886f3c63b MFC r285527 and r286338. This takes the firmware from 1.11.27.0 to 1.14.4.0.
r286338:
cxgbe(4):  Update T5 and T4 firmwares bundled with the driver to 1.14.4.0.  The
changes in the firmwares since 1.11.27.0 are listed here (straight copy-paste
from the "Release Notes.txt" accompanying the Chelsio Unified Wire 2.11.1.0
release on the website).

22.1. T5 Firmware
+++++++++++++++++++++++++++++++++

Version : 1.14.4.0
Date    : 08/05/2015
================================================================================

FIXES
-----

BASE:
- Fixes a potential data path hang by properly programming PMTX congestion
  threshold settings.
- Fixes a potential initialization error when accessing a configuration file
  stored on the flash.
- Fixes a regression where SGE resources can be miss-sized if iWARP is disabled.

ETH:
- Fixes a timing issue that would prevent CR4 links from coming up with some
  switches.

FOFCoE:
- Defers fcoe linkdown mailbox command handling till LOGO is sent.
- Updates vlan prio for all outstanding IOs during dcbx update.

ENHANCEMENTS
------------

BASE:
- Adds support for PAUSE OFF watchdog.
- Reports devlog access information in PCIE_FW_PF register 7.

ETH:
- Enhances segmentation offload to include VxLAN and Geneve.
- Adds PTP support.
- Adds new interface to allow the driver to query the VI rss table base
  addresses.
- Allows the driver to program the SGE ingrext contxt CongDrop field.

OFLD:
- Adds new interface for the driver to specify offloaded connections TCP snd
  and rcv scale factors.

iSCSI:
- Adds support for iscsi segmentatation offload (ISO).
- Adds support for iscsi t10-dif offload.

FOiSCSI:
- Sets FORCE_BIT for cut through processing for FOiSCSI.

FOFCoE:
- Adds support for FCoE BB6.
- Improves WRITE performance.

================================================================================
================================================================================

Version : 1.13.32.0
Date    : 03/25/2015
================================================================================

FIXES
-----

BASE:
- Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of
   negative)
- Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain
   adapter configurations)
- Fixes config file based PL_TIMEOUT register programming

ETH:
- Fixes a potential EO UDP SEG header corruption
- Fixes an issue where 1000Base-X was not enabled correctly when using QSA
   modules

OFLD:
- Fixes timeout issue with half-open connections
- Fixes FW_FLOWC_WR processing when state is set to finwait1

FOFCoE:
- Fixes fcoe xchg leaks in linkdown/peer down path
- Fixes cleanup in FCoE linkdown and fixed buf timer flowid abuse
- Fixes fw crash by clearing fcf flowc during bye

FOiSCSI:
- Don't create a new tcp socket if ERL0 attempt has timed out.

ENHANCEMENTS
------------

BASE:
- Adds support for VFs on PFs 4 to 7
- Adds support for QPs/CQs on any physical and virtual function

ETH:
- Stops sending LACP frames on loopback interface
- Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE
- Adds support for CR4 links (BEAN/AEC on 40G TwinAx cables)

OFLD:
- Improves default settings of LAN and CLUSTER TCP timer settings
- Sends Negative Advice CPLs to software

FOISCSI:
- Adds IPv6 support for foiscsi. Keeps backward compatibility with
   old foiscsi drivers which doesn't support ipv6.

FOFCoE:
- Added fcoe debug support in flowc dump

================================================================================
================================================================================

Version : 1.12.25.0
Date    : 10/22/2014
================================================================================

FIXES
-----

BASE:
- Improves precision of the Weight Round Robing Traffic Management Algorithm
- Fixes an issue where the link would intermittently fail to come up
- Fixes an issue where adapters with an external PHY couldn't run at 100Mbps
- Fixes an issue where active optical cables were not recognized
- Fixes link advertising issues on T520-BT (speed and pause frames) that would
  cause the link to negotiate unexpected settings
- Forces link restart when auto-negotiation is disabled
- Fix an issue where pause frames wouldn't be fully disabled even if requested

ETH:
- Fixes NVGRE Segmentation Offload network header generation.

DCBX:
- Fixes an issue where some settings were not being sent to the switch
  correctly
- Fixes an issue where back-to-back DCBX port updates could get overwritten by
  FW
- Fixes a firmware crash on DCBX APP information request before link up

FOiSCSI:
- Fixes abort task leak in tmf response handling
- Fixes TCP RST handling while in iSCSI ERL0
- Fixes a firmware crash on BYE without INIT

ENHANCEMENTS
-------------

BASE:
- Adds link partner settings reporting when available
- Adds QSA support (in conjunction with QSA VPD)
- Adds T520-BT LED support
- Reports NOTSUPPORTED for modules with an unhandled identifier

DCBX:
- Adds version reporting (indicating which version FW is trying to negotiate)
- Adds IEEE support
- Reports LLDP time outs

FOiSCSI:
- Add support for multiple iSCSI DDP client
- Sends DHCP renew request when lease expires

================================================================================

22.2. T4 Firmware
+++++++++++++++++

Version : 1.14.4.0
Date    : 08/05/2015
================================================================================

FIXES
-----

BASE:
- Fixes a potential initialization error when accessing a configuration file
  stored on the flash.
- Initialize PCIE_DBG_INDIR_REQ.Enable to 0, as hardware failed to do so and
  register dumps could result in errors.

ETH:
- Fixes an issue that sometimes prevented the link from coming up in CR adapters.

ENHANCEMENTS
------------

BASE:
- Adds support for PAUSE OFF watchdog.
- Reports devlog access information in PCIE_FW_PF register 7.

ETH:
- Adds new interface to allow the driver to query the VI rss table base
  addresses.

OFLD:
- Adds new interface for the driver to specify offloaded connections TCP snd
  and rcv scale factors.

================================================================================
================================================================================

Version : 1.13.32.0
Date    : 03/25/2015
================================================================================

FIXES
-----

BASE:
- Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of
    negative)
- Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain
    adapter configurations)
- Fixes config file based PL_TIMEOUT register programming

ETH:
- Fixes a potential EO UDP SEG header corruption

OFLD:
- Fixes timeout issue with half-open connections
- Fixes FW_FLOWC_WR processing when state is set to finwait1

FOiSCSI:
- Don't create a new tcp socket if ERL0 attempt has timed out.

ENHANCEMENTS
------------

ETH:
- Stops sending LACP frames on loopback interface
- Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE

OFLD:
- Improves default settings of LAN and CLUSTER TCP timer settings
- Sends Negative Advice CPLs to software

================================================================================
================================================================================

Version : 1.12.25.0
Date    : 10/22/2014
================================================================================

FIXES
-----

BASE:
- Improves precision of the Weight Round Robing Traffic Management Algorithm
- Forces link restart when auto-negotiation is disabled
- Fix an issue where pause frames wouldn't be fully disabled even if requested

DCBX:
- Fixes an issue where some settings were not being sent to the switch
  correctly
- Fixes an issue where back-to-back DCBX port updates could get overwritten by
  FW
- Fixes a firmware crash on DCBX APP information request before link up

FOiSCSI:
- Fixes abort task leak in tmf response handling
- Fixes TCP RST handling while in iSCSI ERL0
- Fixes a firmware crash on BYE without INIT

ENHANCEMENTS
------------

BASE:
- Adds link partner settings reporting when available
- Firmware now reports NOTSUPPORTED for modules with an unhandled identifier

DCBX:
- Adds version reporting (indicating which version FW is trying to negotiate)
- Adds IEEE support
- Reports LLDP time outs

FOiSCSI:
- Adds support for multiple iSCSI DDP clients
- Sends DHCP renew request when lease expires

================================================================================

Obtained from:	Chelsio Communications
Sponsored by:	Chelsio Communications
2015-08-18 18:54:45 +00:00
kib
c731ecde39 MFC r286288:
Give large kernel stack to the initial thread.
2015-08-18 09:09:39 +00:00
loos
47eb9e91e4 MFC r286260:
Remove the mtx_sleep() from the kqueue f_event filter.

  The filter is called from the network hot path and must not sleep.

  The filter runs with the descriptor lock held and does not manipulate the
  buffers, so it is not necessary sleep when the hold buffer is in use.

  Just ignore the hold buffer contents when it is being copied to user space
  (when hold buffer in use is set).

  This fix the "Sleeping thread owns a non-sleepable lock" panic when the
  userland thread is too busy reading the packets from bpf(4).

  PR:           200323
  Sponsored by: Rubicon Communications (Netgate)
2015-08-17 19:06:14 +00:00
loos
21e0cf5c4b MFC r286140:
Remove the sleep from the buffer allocation routine.

  The buffer must be allocated (or even changed) before the interface is set
  and thus, there is no need to verify if the buffer is in use.

MFC r286142:
  Remove two unnecessary sleeps from the hot path in bpf(4).

  The first one never triggers because bpf_canfreebuf() can only be true for
  zero-copy buffers and zero-copy buffers are not read with read(2).

  The second also never triggers, because we check the free buffer before
  calling ROTATE_BUFFERS().  If the hold buffer is in use the free buffer
  will be NULL and there is nothing else to do besides drop the packet.  If
  the free buffer isn't NULL the hold buffer _is_ free and it is safe to
  rotate the buffers.

  Update the comment in ROTATE_BUFFERS macro to match the logic described
  here.

  While here fix a few typos in comments.

MFC r286243:
  Add a KASSERT() to make sure we wont rotate the buffers twice (rotate the
  buffers while the hold buffer is in use).

  Sponsored by: Rubicon Communications (Netgate)
2015-08-17 18:43:39 +00:00
kib
e0546eb073 MFC r286777:
Comment only change, fix grammar and somewhat clarify the action.
2015-08-17 18:36:16 +00:00
kib
48dcd99f42 MFC r286582:
Pre-resolve symbols required for the deferred signal processing.
2015-08-17 18:34:54 +00:00
kib
70c41a2cb1 MFC r286228:
Clear the IA32_MISC_ENABLE MSR bit on APs.
2015-08-17 18:33:16 +00:00
loos
f69a7374f0 MFC r286139:
Do not allocate the buffers at opening of the descriptor, because once
  the buffer is allocated we are committed to a particular buffer method
  (BPF_BUFMODE_BUFFER in this case).

  If we are using zero-copy buffers, the userland program must register its
  buffers before set the interface.

  If we are using kernel memory buffers, we can allocate the buffer at the
  time that the interface is being set.

  This fix allows the usage of BIOCSETBUFMODE after r235746.

  Update the comments to reflect the recent changes.

  Sponsored by: Rubicon Communications (Netgate)
2015-08-17 18:21:18 +00:00
ed
77458f0d7c MFC r285715:
Add an API for easily creating userspace threads in kernelspace.

  This change refactors the existing create_thread() function to be more
  generic. It replaces almost all of its arguments by a callback that can
  be used to extract the thread ID and copy it out to the right place, but
  also to perform additional initialization steps, such as setting the
  trapframe. This also makes the difference between thr_new() and
  thr_create() more clear in my opinion.

  This function is going to be used by the CloudABI compatibility layer.

  It looks like the OpenSolaris compatibility framework already provides a
  function called thread_create(). Rename this function to
  do_thread_create() and use a macro to deal with the namespacing
  conflict. A similar approach is already used for thread_exit().
2015-08-17 12:51:46 +00:00
glebius
88549d1bce Merge r283612:
Add SIOCGI2C ioctl support to the driver. Would work only on ConnectX-3
  with fresh firmware. The low level code is based on code provided by
  Mellanox.

  Thanks to Mellanox and their distributor Must (http://mustcompany.ru)
  for providing hardware.

  In collaboration with:        Andre Melkoumian <andre mellanox.com>
  Reviewed by:          hselasky
  Sponsored by:         Netflix
  Sponsored by:         Nginx, Inc.
2015-08-17 10:03:23 +00:00
gjb
389d1321af Document an error in the release notes regarding revision r282199.
Submitted by:	amdmi3
Sponsored by:	The FreeBSD Foundation
2015-08-16 12:09:55 +00:00
mav
5d8801fc2e MFC r286719: Revert part of r280687, reporting "1" (true) for empty value.
For example, it made gpart partitions without label report "1" as label.
2015-08-16 00:37:47 +00:00
mav
a5ac236c6e MFC r286516: Document kern.cam.ctl.debug sysctl. 2015-08-16 00:36:48 +00:00
mav
d3f395bdba MFC r286514: Remove verbose CTL messages.
Reporting SCSI errors to console is often useless, pollutes logs and may
affect performance.  For debugging there is kern.cam.ctl.debug sysctl
2015-08-16 00:35:48 +00:00
jilles
aa479658a0 MFC r284779: sh: Fix some arithmetic undefined behaviour.
Fix shifts of possibly negative numbers found with ubsan and avoid signed
integer overflow when hashing an extremely long command name.
2015-08-15 19:58:00 +00:00
melifaro
a91e3ef58a MFC r270064,r270068,r270069,r270115,r270129,r270287,r270822,r271014,
r271524,r273541,r282967,r283009,r283364.

Add support for reading i2c SFP/SFP+ data from NIC driver and
presenting most interesting fields via ifconfig -v.
This version supports Intel ixgbe driver only.

Tested on:      Cisco,Intel,Mellanox,ModuleTech,Molex transceivers

* Add new net/sff8436.h containing constants used to access
  QSFP+ data via i2c inteface. These constants has been taken
  from SFF-8436 "QSFP+ 10 Gbs 4X PLUGGABLE TRANSCEIVER" standard
  rev 4.8.
* Add support for printing QSFP+ information from 40G NICs
  such as Chelsio T5.

Example:
cxl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,.....>
        ether 00:07:43:28:ad:08
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet 40Gbase-LR4 <full-duplex>
        status: active
        plugged: QSFP+ 40GBASE-LR4 (MPO Parallel Optic)
        vendor: OEM PN: OP-QSFP-40G-LR4 SN: 20140318001 DATE: 2014-03-18
        module temperature: 64.06 C voltage: 3.26 Volts
        lane 1: RX: 0.47 mW (-3.21 dBm) TX: 2.78 mW (4.46 dBm)
        lane 2: RX: 0.20 mW (-6.94 dBm) TX: 2.80 mW (4.47 dBm)
        lane 3: RX: 0.18 mW (-7.38 dBm) TX: 2.79 mW (4.47 dBm)
        lane 4: RX: 0.90 mW (-0.45 dBm) TX: 2.80 mW (4.48 dBm)

Tested on:      Chelsio T5
Tested on:      Mellanox/Huawei passive/active cables/transceivers.

Sponsored by:   Yandex LLC
2015-08-15 17:52:55 +00:00
mav
69ac9bf2f9 MFC r286456: Remove some code duplication. 2015-08-15 11:08:30 +00:00
mav
6807bfb720 MFC r286447:
Don't panic if disk lost TRIM support due to switching to PIO mode.
2015-08-15 11:05:44 +00:00
emaste
5264296ce4 MFC r285842: truss: follow pdfork()ed descendents with -f 2015-08-14 21:44:42 +00:00
kib
8c79292e68 MFC r286404:
The condition to use direct processing for the unmapped bio is reverted.

MFC r286405:
Minor style cleanup of the code surrounding r286404.
2015-08-14 12:23:20 +00:00
gjb
8445fe493e Call stable/10 STABLE again, now that 10.2-RELEASE is out.
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-14 12:08:20 +00:00
mav
700151794a MFC r286621, r286622: Fix couple minor typos. 2015-08-14 04:23:17 +00:00
pfg
2df02110dd MFC r286615:
Clean up some externally visible "more then" occurences
2015-08-14 02:45:22 +00:00
gjb
3152c1918c Prune the 10-STABLE release notes page after 10.2-RELEASE.
Sponsored by:	The FreeBSD Foundation
2015-08-14 00:19:09 +00:00
edwin
33f83ca610 MFC of 286750,tzdata10:
Update to tzdata2015f:

Changes affecting future time stamps

    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)
    The abbreviation remains "KST".  (Thanks to Robert Elz.)
    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen and Pablo Camargo.)
    Changes affecting past and future time stamps
    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC. (Thanks to Roman Tudos.)
2015-08-13 23:59:53 +00:00
gjb
3a6b75cfa3 MFC r262670 (marcel):
Use ${MAKE} so that we always use the same version/implementation
  of make(1).

PR:		202277
Submitted by:	John Hein
Sponsored by:	The FreeBSD Foundation
2015-08-13 22:29:26 +00:00
emaste
8021b61826 MFC r276282: Support ALT_BREAK_TO_DEBUGGER in vt(4)
PR:		196511
2015-08-13 19:48:19 +00:00
gjb
ed48261da8 Fix the gnome package name.
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 19:04:41 +00:00
gjb
1717104aa9 Document a known issue with the VirtualBox Vagrant provider failing
to boot on the first invocation of 'vagrant up'.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 18:50:54 +00:00
gjb
a99cffa12b Update the errata article.xml file for 10.2-RELEASE.
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 18:41:53 +00:00
gjb
dc8140f43b Prune Security Advisories and Errata Notices from the 10.2-RELEASE
errata page.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 18:40:32 +00:00
gjb
62b52ff329 Update FreeBSD version numbers in preparation of properly creating
the 10.2-RELEASE errata.html page.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 18:39:32 +00:00
pfg
c32f5a21dc MFC r286074:
GCC: Add a new option "-fstack-protector-strong"

This includes additional functions to be protected: those that
have local array definitions, or have references to local frame
addresses. This is a new option in GCC-4.9 that was relicensed
by Han Shen from Google under GPLv2.

Obtained from:	OpenBSD (2014-01-14)
2015-08-13 01:02:57 +00:00
sbruno
3e1f1ceab6 MFC r273081
brueffer: New sentence -> new line; use macros where appropriate.

MFC r276345
Mikhail <mp@lenta.ru
Correct naming of sysctl pmtud_blackhole_activated_min_mss.

Clarify some statements around PMTUD blackhole detection to make
the behavior more clear in the man page.
2015-08-12 22:51:08 +00:00
dim
3ab328cd1c MFC r286519:
In GNU as, avoid left-shifting negative integers, which is undefined.
2015-08-12 19:18:54 +00:00
dim
28229b8a83 MFC r286515:
In libm's exp2(3), avoid left-shifting a negative integer, which is
undefined.  Replace it with the intended value, in a defined way.

Reviewed by:	bde
2015-08-12 19:06:35 +00:00
imp
979769b37b Direct commit
When compiling on -current from r284356 to r285986, the host's
crunchgen can't be used because builds of rescue break when STRIP= was
used to prevent stripping of binaries.  Direct commit because -current
code is different. Building 10 on current is common enough to warrnat
a safety belt since this has been broken for two months. The offending
change was never in stable/10.
2015-08-12 16:53:37 +00:00
garga
9ba0264692 MFC r257077:
Cleanup empty directories

PR:		167133
Approved by:	loos
Sponsored by:	Netgate
2015-08-11 16:01:34 +00:00
garga
00312c6557 MFC 256710:
Add lot of missed files and dirs

Approved by:	loos
Sponsored by:	Netgate
2015-08-11 15:53:11 +00:00
garga
2f35582a54 MFC r286451:
Add missing files to sendmail obsolete files list

Approved by:	gshapiro
Sponsored by:	Netgate
Differential Revision:	https://reviews.freebsd.org/D3302
2015-08-11 15:25:08 +00:00
rodrigc
b07232430c Merge r285891:
Pass unsigned long argument to ioctl().

Eliminates "ioctl sign-extension" warnings.

PR:             200896
2015-08-11 01:51:38 +00:00
jilles
de78631dfc MFC r284649: fts_children: preserve errno after running close/fchdir
PR:		200942
Submitted by:	Conrad Meyer
2015-08-09 15:53:02 +00:00
rmacklem
83028e54ab MFC: r285260
Since the case where secflavor < 0 indicates the security flavor is
to be negotiated, it could be a Kerberized mount. As such, filling
in the "principal" argument using the canonized host name makes sense.
If it is negotiated as AUTH_SYS, the "principal" argument is meaningless
but harmless.
2015-08-08 22:06:07 +00:00