dim [Wed, 19 Nov 2014 07:24:43 +0000 (07:24 +0000)]
MFC r274442:
Pull in r221709 from upstream llvm trunk (by Frédéric Riss):
Totally forget deallocated SDNodes in SDDbgInfo.
What would happen before that commit is that the SDDbgValues associated with
a deallocated SDNode would be marked Invalidated, but SDDbgInfo would keep
a map entry keyed by the SDNode pointer pointing to this list of invalidated
SDDbgNodes. As the memory gets reused, the list might get wrongly associated
with another new SDNode. As the SDDbgValues are cloned when they are transfered,
this can lead to an exponential number of SDDbgValues being produced during
DAGCombine like in http://llvm.org/bugs/show_bug.cgi?id=20893
Note that the previous behavior wasn't really buggy as the invalidation made
sure that the SDDbgValues won't be used. This commit can be considered a
memory optimization and as such is really hard to validate in a unit-test.
This should fix abnormally large memory usage and resulting OOM crashes
when compiling certain ports with debug information.
edwin [Sun, 16 Nov 2014 04:11:37 +0000 (04:11 +0000)]
MFC of 274559,tzdata9:
Release 2014j - 2014-11-10 17:37:11 -0800
Changes affecting current and future time stamps
Turks & Caicos' switch from US eastern time to UTC-4 year-round
did not occur on 2014-11-02 at 02:00. It's currently scheduled
for 2015-11-01 at 02:00. (Thanks to Chris Walton.)
Changes affecting past time stamps
Many pre-1989 time stamps have been corrected for Asia/Seoul and
Asia/Pyongyang, based on sources for the Korean-language Wikipedia
entry for time in Korea. (Thanks to Sanghyuk Jung.) Also, no
longer guess that Pyongyang mimicked Seoul time after World War II,
as this is politically implausible.
Some more zones have been turned into links, when they differed
from existing zones only for older time stamps. As usual,
these changes affect UTC offsets in pre-1970 time stamps only.
Their old contents have been moved to the 'backzone' file.
The affected zones are: Africa/Addis_Ababa, Africa/Asmara,
Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Kampala,
Africa/Mogadishu, Indian/Antananarivo, Indian/Comoro, and
Indian/Mayotte.
Changes affecting commentary
The commentary is less enthusiastic about Shanks as a source,
and is more careful to distinguish UT from UTC.
ngie [Sat, 15 Nov 2014 05:35:24 +0000 (05:35 +0000)]
MFC r273627,r273628:
r273627:
- Print out "Bail out!" in die(..) so prove terminates immediately
- Handle the output from newer versions of openssl md5, similar to what
pjd@ did in r248304
Sponsored by: EMC / Isilon Storage Division
r273628:
Move the redirection to stderr out of the cmd variable assignment
Putting 2>/dev/null in cmd= escapes the redirection operation, which causes
mdconfig to think it's a filename
MFC r273855:
Fix mbuf leak in IPv6 multicast code.
When multicast capable interface goes away, it leaves multicast groups,
this leads to generate MLD reports, but MLD code does deffered send and
MLD reports are queued in the in6_multi's in6m_scq ifq. The problem is
that in6_multi structures are freed when interface leaves multicast groups
and thread that does deffered send will not take these queued packets.
markj [Thu, 6 Nov 2014 01:30:15 +0000 (01:30 +0000)]
MFC r273236:
Use pmc_destroy_pmc_descriptor() to actually free the pmc, which is
consistent with pmc_destroy_owner_descriptor(). Also be sure to destroy
PMCs if a process exits or execs without explicitly releasing them.
rmacklem [Wed, 5 Nov 2014 23:57:33 +0000 (23:57 +0000)]
MFC: r273486
Clip the settings for the NFS rsize, wsize mount options
to a power of 2. For non-power of 2 settings, intermittent
page faults have been reported. Although the bug that causes
these page faults/crashes has not been identified, it does
not appear to occur when rsize, wsize is a power of 2.
lwhsu [Wed, 5 Nov 2014 16:26:23 +0000 (16:26 +0000)]
MFC r271992
Reflect the chanages in sleepqueue.h and subr_sleepqueue.c
- Priority argument is introduced to sleepq_*wait* in r177085
- sleepq_calc_signal_retval is removed from implementation
- sleepq_catch_signals is internal now
hselasky [Mon, 3 Nov 2014 12:38:41 +0000 (12:38 +0000)]
MFC r271946 and r272595:
Improve transmit sending offload, TSO, algorithm in general. This
change allows all HCAs from Mellanox Technologies to function properly
when TSO is enabled. See r271946 and r272595 for more details about
this commit.
jhb [Mon, 3 Nov 2014 00:13:20 +0000 (00:13 +0000)]
MFC 273834:
Rework the EXAMPLES section to be a bit clearer.
- Add an example of using etcupdate diff.
- Create a subsection on bootstrapping that is below the simple
examples. This should make it clearer that 'etcupdate extract' is
a one-time operation and not part of the common workflow. It also
adds more suggestions on when bootstrapping is needed and additional
steps to make future merges simpler.
jhb [Sun, 2 Nov 2014 23:22:22 +0000 (23:22 +0000)]
MFC 273644,273738:
Clarify that pthread_cleanup_push()/pop() are implemented as macros that
create a new code block and thus must be balanced at the same lexical
scope. (This is also a requirement in POSIX.)
dim [Sat, 1 Nov 2014 13:45:01 +0000 (13:45 +0000)]
MFC r273837:
Fix a clang 3.5 warning about abs(3) being given an argument of type
quad_t in setusercontext(). While here, sanitize the clamping of the
priority value, and use the correct type for the return value of
login_getcapnum().
hselasky [Fri, 31 Oct 2014 18:53:16 +0000 (18:53 +0000)]
MFC r273733, r273740 and r273773:
The SYSCTL data pointers can come from userspace and must not be
directly accessed. Although this will work on some platforms, it can
throw an exception if the pointer is invalid and then panic the kernel.
hselasky [Fri, 31 Oct 2014 18:42:56 +0000 (18:42 +0000)]
MFC r271975:
Improvements to asmc(4):
1. changed the code so that 2**16 keys are supported
2. changed the number of possible fans in a system from 2 to 6
3. added write support for some fan sysctls
4. added a new sysctl which shows the ID of the fan
5. added four more apple models with their temperature keys
6. changed the maxnumber of temperature keys from 36 to 80
7. replaced several fixed buf sizes to sizeof buf
hselasky [Fri, 31 Oct 2014 08:12:04 +0000 (08:12 +0000)]
MFC r269575, r269576 and r269578:
- Add a second Huawei SCSI eject command as USB mode switch config files
sometimes use one or the other. Maybe newer Huawei modems switched.
- Return USB_ERR_INVAL if the eject method is not known.
hselasky [Thu, 30 Oct 2014 17:05:32 +0000 (17:05 +0000)]
MFC r273135 and r273867:
Update the OFED Linux compatibility layer and
Mellanox hardware driver(s):
- Properly name an inclusion guard.
- Fix compile warnings regarding unsigned enums.
- Fix compile warning regarding unused variable.
- Add two new sysctl nodes.
- Remove all empty linux header files.
- Make an error printout more verbose.
- Use "mod_delayed_work()" instead of
cancelling and starting a timeout.
- Implement more Linux scatterlist
functions.
- Don't forget to add "options OFED" to
the kernel configuration file before
using infiniband.
ae [Thu, 30 Oct 2014 13:59:28 +0000 (13:59 +0000)]
MFC r272770 (modified version):
When tunneling interface is going to insert mbuf into netisr queue after stripping
outer header, consider it as new packet and clear the protocols flags.
This fixes problems when IPSEC traffic goes through various tunnels and router
doesn't send ICMP/ICMPv6 errors.
dteske [Tue, 21 Oct 2014 18:31:08 +0000 (18:31 +0000)]
MFC revisions 253175, 268999, 269027, 269351-269352, 269354, 269460,
270283, 270505, 270954, 270989, 273067, and 273068:
r253175: Introduce f_which() to common.subr
r268999: Add new bsdconfig example scripts; remove obsolete ones
r269027: Update bsdconfig dot module; fixes and enhancements
r269351: Add setvar() for non-FreeBSD platforms using bash as /bin/sh
r269352: Fix syntax error when run under bash
r269354: Update setvar() function introduced in r269351
r269460: Update f_xdialog_info() in bsdconfig's dialog.subr include
r270283: Add `-A' flag to pkg-install(8) when installing dependencies
r270505: Optimize f_which() to be slightly faster still (common.subr)
r270954: Update f_dialog_init() for safer getopts usage (dialog.subr)
r270989: Fix for previously mentioned r270954
r273067: Fix awk(1) asorti() implementation to work when called in a loop
r273068: Rename awk(1) asorti() to prevent conflict with GNU awk(1)
yongari [Tue, 21 Oct 2014 04:50:07 +0000 (04:50 +0000)]
MFC r272730,273018:
Add support for QAC AR816x/AR817x Gigabit/Fast Ethernet controllers.
These controllers seem to have the same feature of AR813x/AR815x and
improved RSS support(4 TX queues and 8 RX queues). alc(4) supports
all hardware features except RSS. I didn't implement RX checksum
offloading for AR816x/AR817x just because I couldn't get
confirmation from the Vendor whether AR816x/AR817x corrected its
predecessor's RX checksum offloading bug on fragmented packets.
This change adds supports for the following controllers.
o AR8161 PCIe Gigabit Ethernet controller
o AR8162 PCIe Fast Ethernet controller
o AR8171 PCIe Gigabit Ethernet controller
o AR8172 PCIe Fast Ethernet controller
o Killer E2200 Gigabit Ethernet controller
yongari [Tue, 21 Oct 2014 01:49:07 +0000 (01:49 +0000)]
MFC r272729,272732:
Add new quirk PCI_QUIRK_MSI_INTX_BUG to pci(4).
QAC AR816x/E2200 controller has a silicon bug that MSI interrupt
does not assert if PCIM_CMD_INTxDIS bit of command register is set.
yongari [Tue, 21 Oct 2014 01:15:43 +0000 (01:15 +0000)]
MFC r272721:
Fix a long standing bug in MAC statistics register access. One
additional register was erroneously added in the MAC register set
such that 7 TX statistics counters were wrong.
yongari [Mon, 20 Oct 2014 07:27:34 +0000 (07:27 +0000)]
MFC r271073:
Do not blindly announce 1000baseT half-duplex capability in
autonegotiation. Some controllers like cgem(4) do not support
half-duplex at gigabit speeds.
jhb [Fri, 17 Oct 2014 19:55:12 +0000 (19:55 +0000)]
MFC 272668:
Properly set the timeout in a query_state. The global query_timeout
configuration value is an integer count of seconds, it is not a timeval.
Using memcpy() to copy a timeval from it put garbage into the tv_usec
field.
jhb [Fri, 17 Oct 2014 15:29:47 +0000 (15:29 +0000)]
MFC 272182:
Don't panic if a resource is allocated twice. Instead, print a warning and
fail the allocation request. Allocations of "reserved" resources such as
PCI BARs already fail the request instead of panic'ing in this case.
MFC r238273 (by hrs):
Remove "prefer_source" address selection option. FreeBSD has had an
implementation of RFC 3484 for this purpose for a long time and "prefer_source"
was never implemented actually. ND6_IFF_PREFER_SOURCE macro is left intact.
MFC r271307:
Add the ability to set `prefer_source' flag to an IPv6 address.
It affects the IPv6 source address selection algorithm (RFC 6724)
and allows override the last rule ("longest matching prefix") for
choosing among equivalent addresses. The address with `prefer_source'
will be preferred source address.
pfg [Wed, 8 Oct 2014 16:32:01 +0000 (16:32 +0000)]
MFC r272273, r272387, r272443, r272533 :
Add strptime(3) support for %U and %W
Add support for the missing POSIX-2001 %U and %W features: the
existing FreeBSD strptime code recognizes both directives and
validates that the week number lies in the permitted range,
but then simply discards the value.
Initial support for the feature was written by Paul Green.
David Carlier added the initial handling of tm_wday/tm_yday.
Major credit goes to Andrey Chernov for detecting much of the
brokenness and rewriting/cleaning most of the code, making it
much more robust.
Tested independently with the strptime test from the GNU C
library.
PR: 137307
Relnotes: yes
MFC r272441 :
strptime: %s format fix.
Almost never needed in real life because %s is tends to be
only one format spec.
1) Return code of gmtime_r() is checked.
2) All flags are set.
bryanv [Wed, 8 Oct 2014 04:11:05 +0000 (04:11 +0000)]
MFC 272550:
Remove stray uma_mtx lock/unlock in zone_drain_wait()
Callers of zone_drain_wait(M_WAITOK) do not need to hold (and were not)
the uma_mtx, but we would attempt to unlock and relock the mutex if we
had to sleep because the zone was already draining. The M_NOWAIT callers
may hold the uma_mtx, but we do not sleep in that case.
asomers [Tue, 7 Oct 2014 15:21:20 +0000 (15:21 +0000)]
MFC r265232
Fix a panic caused by doing "ifconfig -am" while a lagg is being destroyed.
The thread that is destroying the lagg has already set sc->sc_psc=NULL when
the "ifconfig -am" thread gets to lacp_req(). It tries to dereference
sc->sc_psc and panics. The solution is for lacp_req() to check the value of
sc->sc_psc. If NULL, harmlessly return an lacp_opreq structure full of
zeros. Full details in GNATS.
araujo [Tue, 7 Oct 2014 06:00:32 +0000 (06:00 +0000)]
Make external NFS clients know when files have their attributes changed and
avoid cache the file's state indefinitely. The va_filerev is what is sent
to the client as the "change" attribute, the client is periodically fetching
the attributes and without this option the attribute remains as some garbage
value.
Phabric: D905
Reported by: Kevin Buhr <buhr@asaurus.net>
Reviewed by: rmacklem, delphij
Approved by: delphij
Obtained from: r272467
Sponsored by: QNAP Systems Inc.
kib [Mon, 6 Oct 2014 18:15:13 +0000 (18:15 +0000)]
Account for the mapped pages in the kernel_pmap on x86 in
pmap_mapdev(). The pmap_unmapdev() on stable/9 calls pmap_remove() to
clear the range, which decrements kernel_pmap.pm_stats.resident_count.
Misaccounting causes miscellaneous failures, since pmap_remove() tests
the counter for zero and does nothing.
This is direct commit to stable/9, since HEAD and stable/10 use vmem
and do not utilize pmap_remove() etc.
Based on the submission by: Kohji Okuno <okuno.kohji at jp.panasonic.com>
hselasky [Mon, 6 Oct 2014 05:58:16 +0000 (05:58 +0000)]
MFC r272349, r272422 and r272479:
- Fix XHCI driver for devices which have more than 15 physical root HUB
ports. The current bitmap array was too small to hold more than 16
bits and would at some point toggle the context size, which then would
trigger an enumeration fault and cause a fallback to the EHCI
companion controller, if any.
- Make sure we always set the maximum number of valid contexts.
- Set default cycle state in case of early interrupts.
bdrewery [Mon, 6 Oct 2014 00:31:31 +0000 (00:31 +0000)]
MFC r271424,r272579:
- Add $netif_ipexpand_max to specify the upper limit for the number of
addresses generated by an address range specification. The default value
is 2048. This can be increased by setting $netif_ipexpand_max in
rc.conf.
- Bump .Dd missed in r271424
delphij [Thu, 2 Oct 2014 18:32:17 +0000 (18:32 +0000)]
MFC r272288,272289:
When setting environment variables in the atrun script, use the
"export foo=bar" form instead of "foo=bar; export foo" since the
former allows the shell to catch variable names that are not valid
shell identifiers. This will cause /bin/sh to exit with an error
(which gets mailed to the at user) and it will not run the script.