arybchik [Thu, 21 May 2015 09:21:05 +0000 (09:21 +0000)]
MFC: r283048
sfxge: fix overflow queue freeze
If TxQ lock is obtained, deferred packet list shold be serviced even if
the packet addition fails because of overflow.
Without the patch freeze happens if:
- queue is not blocked (i.e. completion does not trigger unblock and service)
- put-list overflow (1024 entries)
- sfxge_tx_packet_add() acquires TxQ lock just as it is released it in
sfxge_tx_qdpl_service() on the second CPU but before pending check
- sfxge_tx_packet_add() swizzles put-list to get-list, fails because of
non-tcp get-list overflow and returns without packet list service
- sfxge_tx_qdpl_service() on the second CPU checks that there are no
pending packets in the put-list and returns
Other possible solution is to guaranee that maximum length of the put-list
is less than maximum length of any get-list.
arybchik [Thu, 21 May 2015 09:15:19 +0000 (09:15 +0000)]
MFC: r283007
sfxge: avoid usage of ifm_data
The driver uses ifm_data to save capabilities mask calculated during
initialization when supported phy modes are discovered.
The patch simply calculates it when either media or options are changed.
arybchik [Thu, 21 May 2015 09:06:41 +0000 (09:06 +0000)]
MFC: r282941
sfxge: do not change CSUM_TSO when IFCAP_TSOx is changed
It is simply not required since the kernel checks corresponding
IFCAP_TSOx capability and CSUM_TSO in hw-assisted offloads.
Note that CSUM_TSO is two bits (CSUM_IP_TSO|CSUM_IP6_TSO) and both bits
are set in IPv4 and IPv6 mbufs.
ae [Thu, 21 May 2015 08:28:35 +0000 (08:28 +0000)]
MFC r282594:
m_dup() is supposed to give a writable copy of an mbuf chain. It uses
m_dup_pkthdr(), that uses M_COPYFLAGS mask to copy m_flags field.
If original mbuf chain has M_RDONLY flag, its copy also will have it.
Reset this flag explicitly.
hselasky [Thu, 21 May 2015 07:48:06 +0000 (07:48 +0000)]
MFC r282017:
Allow DSP basename cloning to be disabled or enabled at boot and
runtime. This is useful when implementing OSS sound stacks in
userspace via libcuse for example.
hselasky [Thu, 21 May 2015 07:34:08 +0000 (07:34 +0000)]
MFC r282645, r282646 and r282730:
* Prevent switching to NULL or own window in the "vt_proc_window_switch"
function. This fixes an issue where X11 keyboard input can appear
stuck. The cause of the problem is a duplicate TTY device window
switch IOCTL during boot, which leaves the "vt_switch_timer" running,
because the current window is already selected. While at it factor out
some NULL checks.
* The "SYSCTL_INT()" default value is only used for read only SYSCTLs
and is not applicable unless the integer pointer is NULL. Set it to
zero to avoid confusion. While at it remove extra semicolon at the end
of the "VT_SYSCTL_INT()" macro.
* Ensure the result from signed subtraction under modulus does not
become negative.
hselasky [Thu, 21 May 2015 06:56:35 +0000 (06:56 +0000)]
MFC r282817:
Apply proper locking when iterating the multicast addresses and add a
missing check for NULL from a non-blocking "kzalloc()" function call.
hselasky [Thu, 21 May 2015 06:30:44 +0000 (06:30 +0000)]
MFC r280495:
Implement a simple OID number garbage collector. Given the increasing
number of dynamically created and destroyed SYSCTLs during runtime it
is very likely that the current new OID number limit of 0x7fffffff can
be reached. Especially if dynamic OID creation and destruction results
from automatic tests. Additional changes:
- Optimize the typical use case by decrementing the next automatic OID
sequence number instead of incrementing it. This saves searching time
when inserting new OIDs into a fresh parent OID node.
- Add simple check for duplicate non-automatic OID numbers.
emaste [Thu, 21 May 2015 01:47:12 +0000 (01:47 +0000)]
MFC INDEX.keymaps fixes
r282898: Correct UTF-8 encoding in Británico
One á was ISO 8859-1 0xE1 instead of UTF-8 0xC3 0xA1.
r282902: Correct language code -- "Danish" is English
The menu entry "Danish ISO-8859-1 (macbook)" was first added to the
syscons(4) INDEX.keymaps in r241851 with no language code, and then in
r256367 incorrectly tagged with "da". It is a Danish keyboard map, but
the description is in English and therefore must be "en".
This error subsequently propagated into the vt(4) INDEX.keymaps.
r282905: Restore 'he' language code for Hebrew kbdmap(1) menu title
r282914: kbdmap(1): Correct menu title: keyboards have a layout, not a language
gjb [Wed, 20 May 2015 19:32:57 +0000 (19:32 +0000)]
MFC r282500, r282693:
r282500:
Add initial support for building RPI2 images.
In release.sh, allow overriding buildenv_setup() before
the handoff to arm/release.sh.
Copy arm/RPI-B.conf -> arm/RPI2.conf, set UBOOT_PORT and
the correct KERNEL, and add the buildenv_setup() override
to install the sysutils/u-boot-rpi2 port/package.
Copy tools/arm/crochet-RPI-B.conf -> tools/arm/crochet-RPI2.conf,
and set the correct entries for the RaspberryPi2 board.
r282693:
Merge ^/projects/release-arm-redux into ^/head.
Of note:
- This commit adds native FreeBSD/arm release build support without
requiring out-of-tree utilities.
- Part of this merge removes the WANDBOARD-{SOLO,DUAL,QUAD} kernel
configuration files, for which the IMX6 kernel configuration file
should be used instead.
- The resulting images have a 'freebsd' user (password 'freebsd'),
to allow ssh(1) access when console access is not available (VGA
or serial). The default 'root' user password is set to 'root'.
- The /etc/ttys file for arm images now enable both ttyv0 and ttyu0
by default.
Note: The RPI2 kernel configuration does not yet exist in stable/10,
however the merge conflicts needed to be properly resolved.
Additionally, SRCBRANCH has been set to base/stable/10 in the updated
arm configuration files as part of this commit.
delphij [Tue, 19 May 2015 08:00:39 +0000 (08:00 +0000)]
MFC r279819:
Fix CARP when in use in a HyperV environment:
- Bump link state when stopping or starting the interface;
- Don't handle SIOCGIFADDR specially, similar to r277103.
This change is based on a previous revision from Andy Zhang
(Microsoft) who did the diagnostic work and many thanks to
them for their help in supporting the HyperV work.
edwin [Mon, 18 May 2015 21:07:44 +0000 (21:07 +0000)]
MFC of 283079,tzdata10:
Update to tzdata2015d:
Release 2015d - 2015-04-24 08:09:46 -0700
Changes affecting future time stamps
Egypt will not observe DST in 2015 and will consider canceling it
permanently. For now, assume no DST indefinitely.
(Thanks to Ahmed Nazmy and Tim Parenti.)
Change affecting past and future time zone abbreviations
The abbreviations for Hawaii-Aleutian standard and daylight times
have been changed from HAST/HADT to HST/HDT, as per US Government
Printing Office style. This affects only America/Adak since 1983,
as America/Honolulu was already using the new style.
edwin [Mon, 18 May 2015 02:05:56 +0000 (02:05 +0000)]
MFC of 283042,tzdata10:
Update to tzdata2015c:
Release 2015c - 2015-04-11 08:55:55 -0700
Changes affecting future time stamps
Egypt's spring-forward transition is at 24:00 on April's last Thursday,
not 00:00 on April's last Friday. 2015's transition will therefore be on
Thursday, April 30 at 24:00, not Friday, April 24 at 00:00. Similar fixes
apply to 2026, 2037, 2043, etc. (Thanks to Steffen Thorsen.)
dim [Sun, 17 May 2015 20:38:01 +0000 (20:38 +0000)]
For clang 3.4.1, when using -fformat-extensions, and warning about the
FreeBSD-specific %D and %b printf format specifiers, avoid possible
argument overruns. Also reduce the differences with the version added
in r280031 (which has been sent upstream).
Direct commit to stable/10, since head already has clang 3.6.0.
dim [Sat, 16 May 2015 22:06:40 +0000 (22:06 +0000)]
Bring the contrib/llvm/patches directory up-to-date.
MFC r263892:
Add the llvm/clang patch for r263891.
MFC r264350:
Update the llvm/clang patch for r264345.
MFC r266675:
Add the clang patch for r266674.
MFC r275651:
Add llvm patch corresponding to r275633.
MFC r275747:
Update llvm patches for r274286 and r275633 so all the tests will pass.
MFC r275760:
Add clang patch corresponding to r275759.
MFC r275772:
Update clang patch for r275759 to use correct test cases.
Additionally:
* Remove the clang patch corresponding to r263619, as ARM EABI
hard-float support was never MFC'd.
* Add clang patch corresponding to r279302.
pfg [Sat, 16 May 2015 15:44:13 +0000 (15:44 +0000)]
MFC r282115, r282152, r282201
MFV r282150
libgomp: Update to version 4.3.5.
bring initial BSD support from upstream.
This was not meant to be MFC'd at first but the original OMP support
for FreeBSD was in very poor shape. The effect of this change should
be minimal as all ports are already using the version of libgomp that
comes with the gcc ports. The local libgomp is planned to be disabled
for platforms that are not using older gcc by default so this version
of libgomp will not be shipped in tier-1 platform releases.
julian [Fri, 15 May 2015 15:49:24 +0000 (15:49 +0000)]
MFH: r282485
Tweak seekdir, telldir and readdir so that when htere are deletes going on,
as seek to teh last location saved will still work. This is needed for Samba
to be able to correctly handle delete requests from windows. This does not
completely fix seekdir when deletes are present but fixes the worst of the
problems. The real solution must involve some changes to the API for eh VFS
and getdirentries(2).
Obtained from: Panzura inc
MFH: r282550 (jhb@)
A few style fixes and expand the comment a bit on what _fixtelldir() is
doing.
MFH: r282560 (jhb@)
Tweak the comment here some more. In particular, the previous opening
sentence was a bit confusing.
Noted by: kib
r281599:
Fix an old and well-documented use-after-free race condition in
TCP timers:
- Add a reference from tcpcb to its inpcb
- Defer tcpcb deletion until TCP timers have finished
Differential Revision: https://reviews.freebsd.org/D2079
Submitted by: jch, Marc De La Gueronniere <mdelagueronniere@verisign.com>
Reviewed by: imp, rrs, adrian, jhb, bz
Approved by: jhb
Sponsored by: Verisign, Inc.
trasz [Fri, 15 May 2015 11:10:01 +0000 (11:10 +0000)]
MFC r281265:
Add a hint that "device ctl" kind of depends on "device iscsi".
It actually doesn't - "device ctl" automatically pulls in ICL, which
would normally be a part of iscsi.ko. However, doing it that way makes
iscsi.ko unloadable, and building ctl.ko without iscsi.ko (using
MODULES_OVERRIDE) results in ctl.ko that is unloadable, due to missing
symbols that would be resolved to iscsi.ko. And since the symbols
are named "icl_whatever", it's not obvious that it's iscsi.ko that's
required.
trasz [Fri, 15 May 2015 11:06:10 +0000 (11:06 +0000)]
MFC r280321:
Make the autofs LDAP script cope with server returning entries with
ENTRY_ATTRIBUTE (eg cn) after the VALUE_ATTRIBUTE (eg automountInformation),
instead of before.
trasz [Fri, 15 May 2015 10:50:58 +0000 (10:50 +0000)]
MFC r278237:
Don't call callout_drain() with iscsi mutex held; this fixes a warning
that was introduced recently. While here, don't try to access is_terminating
without lock.
Update the list of known roff commands (both from NetBSD and heirloom doctools)
Improve memory checking
Remove limitation on input lines by using getline(3)
rmacklem [Thu, 14 May 2015 22:50:07 +0000 (22:50 +0000)]
MFC: r281960
MAXBSIZE defines both the largest UFS block size and the
largest size for a buffer in the buffer cache. This patch
defines a new constant MAXBCACHEBUF, which is the largest
size for a buffer in the buffer cache. Having a separate
constant allows MAXBCACHEBUF to be set larger than MAXBSIZE
on a per-architecture basis, so that NFS can do larger read/writes
for these architectures. It modifies sys/param.h so that BKVASIZE
can also be set on a per-architecture basis.
A couple of cases where NFS used MAXBSIZE instead of NFS_MAXBSIZE
is fixed as well.
jimharris [Thu, 14 May 2015 21:28:46 +0000 (21:28 +0000)]
MFC r281281, r281285:
nvme: create separate DMA tag for non-payload DMA buffers
Submission and completion queue memory need to use a
separate DMA tag for mappings than payload buffers,
to ensure mappings remain contiguous even with DMAR
enabled.
jimharris [Thu, 14 May 2015 21:27:31 +0000 (21:27 +0000)]
MFC r281280:
nvme: fall back to a smaller MSI-X vector allocation if necessary
Previously, if per-CPU MSI-X vectors could not be allocated,
nvme(4) would fall back to INTx with a single I/O queue pair.
This change will still fall back to a single I/O queue pair, but
allocate MSI-X vectors instead of reverting to INTx.
ae [Thu, 14 May 2015 11:47:18 +0000 (11:47 +0000)]
MFC r282578:
Mark data checksum as valid for multicast packets, that we send back
to myself via simloop.
Also remove duplicate check under #ifdef DIAGNOSTIC.
jilles [Thu, 14 May 2015 10:46:20 +0000 (10:46 +0000)]
MFC r282482: cp: Remove fts sorting.
In an attempt to improve performance, cp reordered directories first
(although the comment says directories last). This is not effective with new
UFS layout policies.
The sorting reorders multiple arguments passed to cp, which may be
undesirable.
Additionally, the comparison function does not induce a total order. Per
POSIX, this causes undefined behaviour in qsort().
NetBSD removed the sorting in 2009.
On filesystems that return directory entries in hash/btree order, sorting by
d_fileno before statting improves performance on large directories. However,
this can only be implemented in fts(3).
delphij [Wed, 13 May 2015 22:36:00 +0000 (22:36 +0000)]
MFC r279571,281563 (allanjude):
Add a new safetly belt to freebsd-update to prevent a user doing a minor
update (-pX) while having an unfinished major upgrade (9.x to 9.y)
Safetly belt can be disabled with the -F flag
Additionally, add the --not-running-from-cron flag they bypasses the TTY
requirement, and allows freebsd-update to be invoked by orchestration
frameworks, scripts, or otherwise.
PR: 196760
Relnotes: yes
Sponsored by: ScaleEngine Inc.
ae [Wed, 13 May 2015 14:05:53 +0000 (14:05 +0000)]
MFC r282465:
Add apple-boot, apple-hfs and apple-ufs aliases to MBR scheme.
Sort DOSPTYP_* entries in diskmbr.h by value.
Document these scheme-specific types in gpart(8).
ngie [Wed, 13 May 2015 12:13:18 +0000 (12:13 +0000)]
MFC r282211,r282244:
r282211:
ATF_REQUIRE_KERNEL_MODULE: use atf_skip, not ATF_REQUIRE_MSG so the testcase
no longer bombs out
PLAIN_REQUIRE_KERNEL_MODULE: use printf + _exit, no err so the testcase no
longer bombs out if it prints to stderr
r282244:
Fix typo. It should have been atf_tc_skip, not atf_skip
Integrate tools/regression/mqueue into the FreeBSD test suite as
tests/sys/mqueue
r282074:
Integrate tools/regression/aio/aiotest and tools/regression/aio/kqueue into the
FreeBSD test suite as tests/sys/aio
r282133:
Fill in the copyright boilerplate for the test program
r282134:
Add initial (unpolished) macros for interfacing with the FreeBSD test suite
This is very rough, but will be replaced/redesigned some time soon after I fix
the Jenkins breakage I introduced
r282135:
Use ATF_REQUIRE_KERNEL_MODULE instead of aio_available function
r282136:
- Use ATF_REQUIRE_KERNEL_MDOULE to require aio(4)
- Don't use /tmp as a basis for temporary files as it's outside of the ATF
sandbox
- Don't override MAX macro in sys/param.h
r282137:
Use PLAIN_REQUIRE_KERNEL_MODULE to require "mqueuefs"
ngie [Wed, 13 May 2015 10:53:16 +0000 (10:53 +0000)]
MFC r281618,r281823:
r281618:
Defeat race with MK_KERBEROS == yes introduced with bootstrap-tools
parallelization work done in r279197
- kerberos5/lib/libroken requires kerberos5/tools/make-roken to build
- kerberos5/tools/asn1_compile, kerberos5/tools/slc, and usr.bin/compile_et
require kerberos5/lib/libroken and kerberos5/lib/libvers
This race is incredibly evident when cross-building sparc64 on
ref10-amd64.freebsd.org
Pointyhat to: ngie
r281823:
Serialize all of _kerberos5_bootstrap_tools to avoid build failures involving
make bootstrap-tools
On the plus side, this also greatly reduces complexity
Pointyhat to: ngie
Reported by: Willem Jan Withagen <wjw@digiware.nl>
mav [Wed, 13 May 2015 10:35:34 +0000 (10:35 +0000)]
MFC r282364, r282429, r282524:
Implement BSY reporting and in-order execution of non-NCQ commands.
Block command queue on BSY or DRQ bits set or device error reported.
This can be a performance penalization for non-NCQ commands, but it is
required for proper error recovery and standard compliance.
ngie [Wed, 13 May 2015 10:29:02 +0000 (10:29 +0000)]
MFC r282073:
- Fix style(9) a bit
-- Fix whitespace
-- Use err/errx
-- Remove superfluous braces
- Be a bit more defensive with input from the end-user
- Don't throw a floating point exception by dividing by 0 when processing a
zero-byte file