jhb [Tue, 10 Feb 2015 21:41:56 +0000 (21:41 +0000)]
MFC 277709:
Use an sbuf to generate the output of the net.inet.tcp.hostcache.list
sysctl to avoid a possible buffer overflow if the cache grows while the
text is being generated.
hselasky [Tue, 10 Feb 2015 13:36:37 +0000 (13:36 +0000)]
MFC r278103:
The flowid and hashtype should be copied from the originating packet
when fragmenting IP packets to preserve the order of the packets in a
stream. Else the resulting fragments can be sent out of order when the
hardware supports multiple transmit rings.
hselasky [Tue, 10 Feb 2015 13:18:48 +0000 (13:18 +0000)]
MFC r278071:
Section 3.2.9 in the XHCI specification about control transfers says
that we should use a normal-TRB if there are more TRBs extending the
data-stage TRB. Add a dedicated state bit to the internal USB transfer
flags to handle this case.
marius [Sun, 8 Feb 2015 21:41:26 +0000 (21:41 +0000)]
MFC: r266744, r267712, r276351, r277043
- Add PCI ID for AMT based serial interface found on the Lenovo T61.
- add support for MosChip MCS9922... This is found on an ExpressCard.. [1]
- Add PCI ID for the Oxford Semiconductor OXPCIe952 device.
marius [Sun, 8 Feb 2015 20:44:50 +0000 (20:44 +0000)]
MFC: r276299
- Make PCI_QUIRK_MSI_INTX_BUG work by using the ID of the actual PCI device
for the lookup.
- For devices affected by PCI_QUIRK_MSI_INTX_BUG, ensure PCIM_CMD_INTxDIS
is cleared when using MSI/MSI-X.
- Employ PCI_QUIRK_MSI_INTX_BUG for BCM5714(S)/BCM5715(S)/BCM5780(S) rather
than clearing PCIM_CMD_INTxDIS unconditionally for all devices in bge(4).
jhb [Fri, 6 Feb 2015 18:41:57 +0000 (18:41 +0000)]
MFC 276065:
Explicitly treat timeouts when waiting for IBF or OBF to change state as an
error. This fixes occasional hangs in the IPMI kcs thread when using
ipmitool locally.
jhb [Fri, 6 Feb 2015 18:13:29 +0000 (18:13 +0000)]
MFC 277714:
natd(8) will work with an unconfigured interface and effectively not do
anything until the interface is assigned an address. This fixes
ipfw_nat to do the same by using an IP of INADDR_ANY instead of
aborting the nat setup if the requested interface is not yet configured.
hselasky [Thu, 5 Feb 2015 21:37:59 +0000 (21:37 +0000)]
MFC r277136:
Resolve a special case deadlock: When two or more threads are
simultaneously detaching kernel drivers on the same USB device we can
get stuck in the "usb_wait_pending_ref_locked()" function because the
conditions needed for allowing detach are not met.
While at it ensure that "flag_iserror" is only written when "priv_mtx"
is locked, which is protecting it.
hselasky [Thu, 5 Feb 2015 21:25:11 +0000 (21:25 +0000)]
MFC r277179, r277199 and r277391:
Add a kernel function to delist our kernel character devices, so that
the device name can be re-used right away in case we are destroying
the character devices in the background.
gjb [Thu, 5 Feb 2015 17:46:13 +0000 (17:46 +0000)]
Apply r278265 from head:
Security Advisory information is included on several
pages in the release notes. Rather than duplicating
the information between various files, add two new
files to include in all pages that currently display
the information.
mav [Tue, 3 Feb 2015 08:06:59 +0000 (08:06 +0000)]
MFC r277419:
Allow skipping dmu_buf_will_dirty() call in dsl_dir_transfer_space().
dsl_dir_transfer_space() is mostly called after dsl_dir_diduse_space(),
which already calls dmu_buf_will_dirty() for the same dbuf and tx, so
its duplicate call in those cases will change nothing, only spend time.
Skipping this call by four times reduces time spent in dbuf_write_done()
and descendants, updating dataset statistics with several congested lock
acquisitions. When rewriting 8K zvol blocks at 1GB/s rate, this reduces
CPU time spent inside dbuf_write_done(), according to profiling, from 45%
of 683K samples to 18% of 422K.
ngie [Mon, 2 Feb 2015 08:04:38 +0000 (08:04 +0000)]
MFC r228099,r245171,r277939:
r228099:
- Create links to the xz and lzma versions even if BSD grep is not the
default. Nor GNU nor liblzma in base provides such functionality so
it may be useful.
r245171:
Following r226271, allow disabling lzma support with "WITHOUT_LZMA_SUPPORT".
Correct r226271 which should have used WITHOUT_BZIP2_SUPPORT per r166255.
Obtained from: Juniper Networks
r277939:
Create MANLINKS for lzgrep, etc when MK_LZMA_SUPPORT != no
dim [Sun, 1 Feb 2015 01:42:38 +0000 (01:42 +0000)]
MFC r273434 (by bapt):
Do not define bad_array_new_length::bad_array_new_length in libc++ anymore
when used in combinaison with libcxxrt since it is now defined there already.
This fixes building world
mav [Thu, 29 Jan 2015 16:16:20 +0000 (16:16 +0000)]
MFC r276983: When aggregating TRIM segments, move the new one to the end.
New segment at the list head may block all TRIM requests until txg of that
segment can be processed. On my random I/O tests this change reduce peak
TRIM list length from 650 to 450 segments. Hopefully it should reduce TRIM
burstiness when list processing is unblocked.
hselasky [Tue, 20 Jan 2015 05:02:35 +0000 (05:02 +0000)]
MFC r276825 and r277372:
Allow a block size of zero to mean 512 bytes, which is the most common
block size for USB disks. This fixes support for "Action Cam SJ4000".
hselasky [Mon, 19 Jan 2015 07:03:40 +0000 (07:03 +0000)]
MFC r277044:
Increase the maximum number of dynamic USB quirks. USB memory stick
devices which don't support the synchronize cache SCSI command are
likely to also not support the prevent-allow medium removal SCSI
command.
np [Sun, 18 Jan 2015 20:39:24 +0000 (20:39 +0000)]
MFC r276959:
cxgb: replace r273280 with a more comprehensive fix.
Poll for link state when the link is down, even for interrupt capable
PHYs.
Allow PHYs to report a dubious "partial" link. If this state is seen 3
consecutive times (each check is ~1s apart) then reset the PHY. This is
a workaround for a situation where repeatedly toggling the link from the
peer gets the AEL2005 PHY into a state where it never establishes a PCS
block lock even when everything is in order.
dim [Sat, 17 Jan 2015 12:54:02 +0000 (12:54 +0000)]
MFC r276517:
Pull in r200010 from upstream libc++ trunk (by Marshall Clow):
Rename some internal templates to avoid conflict with complier
intrinsics. __is_constructible --> __libcpp_is_constructible,
__is_nothrow_constructible --> __libcpp_is_nothrow_constructible, and
__is_nothrow_assignable --> __libcpp_is_nothrow_assignable. No
functionality change.
Pull in r206805 from upstream libc++ trunk (by Marshall Clow):
Use compiler intrinsic __is_constructible if available
This should fix building parts of world with -std=c++11 enabled.
Reported by: Oliver Hartmann <ohartman@zedat.fu-berlin.de>
dim [Sat, 17 Jan 2015 11:41:04 +0000 (11:41 +0000)]
MFC r277147:
Since the merge of file 5.21 in r276415 and r276416, stable/9 and
stable/10 cannot be built from FreeBSD 8.x. This is because the
build-tools stage requires libmagic, but lib/libmagic/config.h was
generated on head, and it now enables using the xlocale.h APIs, which
are not supported on 8.x (and on 9.x before __FreeBSD_version 900506).
See also the start of this thread on -stable:
https://lists.freebsd.org/pipermail/freebsd-stable/2015-January/081521.html
To fix this, conditionalize the use of xlocale.h APIs to make
bootstrapping from older FreeBSD versions work correctly.
hselasky [Tue, 13 Jan 2015 17:16:06 +0000 (17:16 +0000)]
MFC r276749:
Fixes and updates for the Linux compatibility layer:
- Remove unsupported "bus" field from "struct pci_dev".
- Fix logic inside "pci_enable_msix()" when the number of allocated
interrupts are less than the number of available interrupts.
- Update header files included from "list.h".
- Ensure that "idr_destroy()" removes all entries before destroying
the IDR root node(s).
- Set the "device->release" function so that we don't leak memory at
device destruction.
- Use FreeBSD's "log()" function for certain debug printouts.
- Put parenthesis around arguments inside the min, max, min_t and max_t macros.
- Make sure we don't leak file descriptors by dropping the extra file
reference counts done by the FreeBSD kernel when calling falloc()
and fget_unlocked().
emaste [Mon, 12 Jan 2015 18:19:07 +0000 (18:19 +0000)]
Avoid ./ in zoneinfo entries in METALOG
Use of "find ." resulted in METALOG entries with an extra ./ -- e.g.,
./usr/share/zoneinfo/./America/Toronto. Avoid this by using globbing
via "find *" instead.
ngie [Sun, 11 Jan 2015 20:22:12 +0000 (20:22 +0000)]
MFC r276991:
MFC r275687,r275692:
Relnotes: yes
r275687:
Remove termcap entry reordering; install the file verbatim instead
termcap entry reordering requires ex (which is available via usr.bin/vi), which
breaks on build hosts where installworld is run with MK_VI == no (or when
make delete-old is run on ^/projects/building-blocks as vi, et al, are
removed on the branch when the knob is tweaked to => "no")
Reordering termcap was believed to improve performance, but the file is now
accessed via /etc/termcap.db, so /etc/termcap (and /usr/share/misc/termcap by
proxy) access is less preferred.
Reordering the file broke the historical comment <-> entry mapping as well,
which could muddle the purpose of entries in the file, so it could be
potentially harmful to readers in its reordered state.
Discussion took place on hackers@ here:
https://lists.freebsd.org/pipermail/freebsd-hackers/2014-December/046657.html
Fix building termcap.db when make obj is run beforehand from a clean tree by
using make variables for the filenames, which helps resolve pathing
appropriately when running cap_mkdb
nwhitehorn [Sun, 11 Jan 2015 17:18:14 +0000 (17:18 +0000)]
MFC r265329:
Disable ACPI and P4TCC throttling by default, following discussion on
freebsd-current. These CPU speed control techniques are usually unhelpful
at best. For now, continue building the relevant code into GENERIC so that
it can trivially be re-enabled at runtime if anyone wants it.