197221 Commits

Author SHA1 Message Date
jhb
44cc4e9f20 MFC 271721:
Explicitly specify MAP_SHARED when mapping the stats file descriptor.
2014-10-15 19:27:14 +00:00
kib
92c5a45b89 MFC r272761:
Add an argument to the x86 pmap_invalidate_cache_range() to request
forced invalidation of the cache range regardless of the presence of
self-snoop feature.

MFC r272943:
MFi386 r272761.
2014-10-15 14:07:24 +00:00
kib
c4d948e445 MFC r272070:
Expand the libthr(3) manpage to document knobs accepted by libthr.so
and explain some internal working of the library, neccessary to
understand the knobs effects.

MFC r272153 (by pluknet):
Fix description of mutex acquisition.
2014-10-15 13:39:00 +00:00
kib
6dfd0e1c93 MFC r272069:
Switch the defaults to not split the RLIMIT_STACK-sized initial thread
stack into the stacks of the created threads.  Add knob
LIBPTHREAD_SPLITSTACK_MAIN to restore the older behaviour.
2014-10-15 13:36:01 +00:00
mav
3c28f63ca3 MFC r272756: Properly report 12Gbps connection rate.
Reviewed by:	kadesai, slm
2014-10-15 08:03:12 +00:00
ae
1dfece27ff MFC r272749:
Fix comment.
2014-10-15 04:34:07 +00:00
pfg
ca6df600d4 MFC r267851:
Continue the crusade towards a dev_clone()-free kernel, removing its
usage from dtrace. The dtrace code already uses cdevpriv(9) since FreeBSD
8, so this change is quite harmless.

Originally by:	davide
Reviewed by:	markj
2014-10-14 23:16:52 +00:00
mjg
6eb4db1c33 MFC r269023,r272503,r272505,r272523,r272567,r272569,r272574
Prepare fget_unlocked for reading fd table only once.

Some capsicum functions accept fdp + fd and lookup fde based on that.
Add variants which accept fde.

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

Add sequence counters with memory barriers.

Current implementation is somewhat simplistic and hackish,
will be improved later after possible memory barrier overhaul.

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

Plug capability races.

fp and appropriate capability lookups were not atomic, which could result in
improper capabilities being checked.

This could result either in protection bypass or in a spurious ENOTCAPABLE.

Make fp + capability check atomic with the help of sequence counters.

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

Put and #ifdef _KERNEL around the #include for opt_capsicum.h to
hopefully allow the build to finish after r272505.

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

filedesc: fix up breakage introduced in 272505

Include sequence counter supports incoditionally [1]. This fixes reprted build
problems with e.g. nvidia driver due to missing opt_capsicum.h.

Replace fishy looking sizeof with offsetof. Make fde_seq the last member in
order to simplify calculations.

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

Keep struct filedescent comments within 80-char limit.

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

seq_t needs to be visible to userspace
2014-10-14 21:19:23 +00:00
skreuzer
d384077778 MFC r269627:
Mention tmpfs(5)

PR:             192389
Submitted by:   yaneurabeya@gmail.com
Approved by:    hrs (mentor)
2014-10-14 19:21:04 +00:00
gjb
bf64761c21 Revert r273084:
In the stable/ branches, release.prev intentionally points to the
  previous version, in addition to a number of intentional version
  mappings for the errata.html page, that this commit breaks.

Reported by:	hrs
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2014-10-14 16:44:15 +00:00
gjb
d8c07bdc2c Clean up the stable/10 errata document now that releng/10.1
has precedence over releng/10.0.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2014-10-14 13:06:13 +00:00
gjb
209cc41052 Update the FreeBSD versions in the stable/10 errata documentation
to reflect reality.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2014-10-14 13:03:11 +00:00
gjb
dcfed64a2e MFC r272414:
Merge the following revisions from ^/projects/release-vmimage:

  r272234, r272236, r272262, r272264, r272269, r272271, r272272,
  r272277, r272279, r272376, r272380, r272381, r272392, r272234,
  r272412:

  r272234:
    Initial commit to include virtual machine images as part
    of the FreeBSD release builds.

    This adds a make(1) environment variable requirement,
    WITH_VMIMAGES, which triggers the virtual machine image
    targets when not defined to an empty value.

    Relevant user-driven variables include:

     o VMFORMATS:	The virtual machine image formats to create.
       Valid formats are provided by running 'mkimg --formats'

     o VMSIZE:	The size of the resulting virtual machine
       image.  Typical compression is roughly 140Mb, regardless
       of the target size (10GB, 15GB, 20GB, 40GB sizes have been
       tested with the same result).

     o VMBASE:	The prefix of the virtual machine disk images.
       The VMBASE make(1) environment variable is suffixed with
       each format in VMFORMATS for each individual disk image, as
       well as '.img' for the source UFS filesystem passed to
       mkimg(1).

    This also includes a new script, mk-vmimage.sh, based on how
    the VM images for 10.0-RELEASE, 9.3-RELEASE, and 10.1-RELEASE
    were created (mk-vmimage.sh in ^/user/gjb/thermite/).

    With the order in which the stages need to occur, as well as
    sanity-checking error cases, it makes much more sense to
    execute a shell script called from make(1), using env(1) to
    set specific parameters for the target image than it does to
    do this in make(1) directly.

  r272236:
    Use VMBASE in place of a hard-coded filename in the CLEANFILES
    list.

  r272262:
    Remove a 'set -x' that snuck in during testing.

  r272264:
    release/Makefile:
      Connect the virtual machine image build to the release
      target if WITH_VMIMAGES is set to a non-empty value.

    release/release.sh:
      Add WITH_VMIMAGES to RELEASE_RMAKEFLAGS.

    release/release.conf.sample:
      Add commented entries for tuning the release build if the
      WITH_VMIMAGES make(1) environment variable is set to
      a non-empty value.

  r272269:
    release/Makefile:
      Include .OBJDIR in DESTDIR in the vm-base target.

    release/release.sh:
      Provide the full path to mddev.

  r272271:
    Fix UFS label for the root filesystem.

  r272272:
    Remove comments left in accidentally while testing, so the
    VM /etc/fstab is actually created.

  r272277:
    Remove the UFS label from the root filesystem since it is added
    by mkimg(1) as a gpt label, consistent with the fstab(5) entry.

  r272279:
    Comment cleanup in panic() message when mkimg(1) does not support
    the requested disk image format.

  r272376:
    Separate release/scripts/mk-vmimage.sh to machine-specific
    scripts, making it possible to mimic the functionality for
    non-x86 targets.

    Move echo output if MAKEFLAGS is empty outside of usage().

    Remove TARGET/TARGET_ARCH evaluation.

  r272380:
    Avoid using env(1) to set values passed to mk-vmimage.sh,
    and instead pass the values as arguments to the script,
    making it easier to run this by hand, without 'make release'.

    Add usage_vm_base() and usage_vm_image() usage helpers.

  r272381:
    After evaluating WITH_VMIMAGES is non-empty, ensure
    the mk-vmimage.sh script exists before running it.

  r272392:
    Add WITH_COMPRESSED_VMIMAGES variable, which when set enables
    xz(1) compression of the virtual machine images.

    This is intentionally separate to allow more fine-grained
    tuning over which images are compressed, especially in cases
    where compressing 20GB sparse images can take hours.

  r272412:
    Document the new 'vm-image' target, and associated release.conf
    variables.

  r272413:
    Remove two stray comments added during the initial iterations
    of testing, no longer needed.

Sponsored by:	The FreeBSD Foundation
2014-10-14 12:23:44 +00:00
mav
2cb46b9c51 MFC r271588: Update CAM CCB accounting for the new status quo.
devq_openings counter lost its meaning after allocation queues has gone.
held counter is still meaningful, but problematic to update due to separate
locking of CCB allocation and queuing.

To fix that replace devq_openings counter with allocated counter.  held is
now calculated on request as difference between number of allocated, queued
and active CCBs.
2014-10-14 12:13:01 +00:00
trasz
625b27b4d0 MFC r272932:
Mark iscontrol(8) and iscsi_initiator(4) obsolete.

Differential Revision:	https://reviews.freebsd.org/D931
Reviewed by:	wblock@
Sponsored by:	The FreeBSD Foundation
2014-10-14 07:52:37 +00:00
delphij
56f7d0497e MFC r272502: MFV r272493:
Show individual disk capacity when doing zpool list -v.

Illumos issue:
    5147 zpool list -v should show individual disk capacity
2014-10-13 18:53:56 +00:00
delphij
02d8987f8d Fix a missed merge introduced in r272883. 2014-10-13 18:46:30 +00:00
kib
9a0f569181 MFC r272907:
Make MAP_NOSYNC handling in the vm_fault() read-locked object path
compatible with write-locked path.
2014-10-13 15:58:03 +00:00
des
046882fc4f MFH (r272830): change the hardcoded default back to DES
MFH (r272833): remove last vestige of MD5 password hashes
2014-10-13 15:56:47 +00:00
des
3ebe22f969 MFH (r272173): offer to enable local_unbound after installation 2014-10-13 15:53:01 +00:00
dumbbell
b366d41790 vt(4): Don't recalculate buffer size if we don't know screen size
(MFC of r272537)

When the screen size is unknown, it's set to 0x0. We can't use that as
the buffer size, otherwise, functions such as vtbuf_fill() will fail.

This fixes a panic on RaspberryPi, where there's no vt(4) backend
configured early in boot.

PR:		193981
Tested by:	danilo@
2014-10-13 14:40:00 +00:00
dumbbell
6981999a42 vt(4): Save/restore keyboard mode & LED states when switching window
(MFC of r272416)

Add new functions to manipulate these mode & state, instead of calling
kbdd_ioctl() everyhere.

This fixes at least two bugs:

    1. The state of the Scroll Lock LED and the state of scroll mode
       could be out-of-sync. For instance, if one enables scroll mode on
       window #1 and switches to window #2, the LED would remain on, but
       the window wouldn't be in scroll mode.

       Similarily, when switching between a console and an X.Org
       session, the LED states could be inconsistent with the real
       state.

    2. When exiting from an X.Org session, the user could be unable to
       type anything. The workaround was to switch to another console
       window and come back.

Differential Revision:	https://reviews.freebsd.org/D821
Reviewed by:	ray@
Approved by:	ray@
Tested by:	kwm@
2014-10-13 13:50:51 +00:00
tuexen
ed67dea7a4 MFC r272841:
Ensure that the flags field of sctp_tmit_chunks is initialized.
Thanks to Peter Bostroem from Google for reporting the issue.
2014-10-12 17:45:22 +00:00
tuexen
b0912548c1 MFC r272751:
Ensure that the list of streams sent in a stream reset parameter fits
in an mbuf-cluster.
Thanks to Peter Bostroem for drawing my attention to this part of the code.
2014-10-12 17:42:32 +00:00
tuexen
85569fa02c MFC r272750:
Ensure that the number of stream reported in srs_number_streams is
consistent with the amount of data provided in the SCTP_RESET_STREAMS
socket option.
Thanks to Peter Bostroem from Google for drawing my attention to
this part of the code.
2014-10-12 17:39:37 +00:00
tuexen
4f377875d1 MFC r272571:
Remove unused MC_ALIGN macro as suggested by Robert.
2014-10-12 17:36:41 +00:00
cy
b41a810b86 MFC r272555
ipfilter bug #537 NAT rules with sticky have incorrect hostmap IP address.
This fixes when an IP address mapping is put in the hostmap table for
sticky NAT rules, it ends up having the wrong byte order.

Obtained from:	ipfilter CVS repo (r1.102), NetBSD CVS repo (r1.12)
2014-10-12 17:21:15 +00:00
cy
a223c6d9ec MFC r272554
ipfilter bug #534 destination list hashing not endian neutral

Obtained from:	ipfilter CVS repo (r1.26), NetBSD CVS repo (r1.8)
2014-10-12 17:19:11 +00:00
cy
159eb60806 MFC r272553
ipfilter bug #538 ipf_p_dns_del should return void

Obtained from:	ipfilter cvs repo (r1.8)
2014-10-12 17:17:19 +00:00
cy
647905f29a MFC r272552
ipfilter bug #554 Determining why a ipf rule matches is hard -- replace
ipfilter rule compare with new ipf_rule_compare() function.

Obtained from:	ipfilter CVS rep (r1.129)
2014-10-12 17:15:20 +00:00
cy
fea983df78 MFC r272551
ipfiler bug #550 filter rule list corrupted with inserted rules

Obtained from:	ipfilter CVS repo (r1.128); NetBSD CVS repo (r1.15)
2014-10-12 17:13:14 +00:00
cy
d487341bd7 MFC r272052
ipfilter bug #558 add in some missing frag table function comments.

Obtained from:	ipfilter CVS repo (r1.36)
2014-10-12 17:10:44 +00:00
cy
c5a5359e13 MFC r271980
Check for NULL before de-refencing; in particular sel is assigned to NULL,
in the default case, and then couple of lines down we do sel->

Obtained from:	NetBSD CVS repo (r1.5)
2014-10-12 17:08:44 +00:00
cy
2e9b5f450d MFC r271978
ipfilter bug #552 destination port not zero after parsing nat rule.

Obtained from:	netbsd CVS repo (r1.4), ipfilter CVS repo (r1.38)
2014-10-12 17:03:47 +00:00
cy
23579b38ee MFC r271977
3561691 gethost never returns an ipv6 address

Obtained from:	ipfilter CVS repo (r1.34), netbsd CVS repo (r1.4)
2014-10-12 16:58:45 +00:00
cy
60a2447c51 MFC r271974
ipfilter bug #551 ipf.conf address structure not properly zero filled.

Obtained from:	ipfilter CVS repo (r1.37), netbsd CVS repo (r1.3)
2014-10-12 16:55:26 +00:00
cy
ba88b262c3 MFC r271972
Fix ipfilter bug #536 ipnat can try to print rule as dstlist incorrectly.

Obtained from:	ipfilter CVS repo (r1.14), netbsd CVS repo (r1.3)
2014-10-12 16:51:02 +00:00
cy
e95de0dcc5 MFC r271971
Fix ipfilter bug #553 gethost needs to zero entire IP address structure.

Obtained from:	ipfilter CVS repo (r1.11)
2014-10-12 16:48:22 +00:00
cy
40f9831d42 MFC r271970
ipv6 address for test.hosts.dots in wrong byte order.

Obtained from:	ipfilter CVS repo (r1.11), netbsd CVS repo (r1.5)
2014-10-12 16:46:03 +00:00
mav
a45382b275 Use proper variable when looping through periphs with CAM_PERIPH_FREE.
PR:		194256
Submitted by:	Scott M. Ferris <smferris@gmail.com>
Sponsored by:	EMC/Isilon Storage Division
2014-10-12 06:14:50 +00:00
rodrigc
538d05fbcc Merge: r269884
Complete the usr.bin/yacc kyua integration work I originally
submitted via r268811

- Install the Kyuafile by adding FILES to FILESGROUPS
- Run the testcases with an unprivileged user

  Some of the testcases depend upon behavior that's broken when
  run as root on FreeBSD because of how permissions are treated
  with access(2) vs eaccess(2), open(2), etc

- Simplify the test driver to just inspect the exit code from
  run_test because it now exits with 0 if successful and exits
  with !0 if unsuccessful
- Don't do ad hoc temporary directory creation/deletion; let Kyua
  handle that
- Add entries for files removed in r268811 to
  OptionalObsoleteFiles.inc

PR: 191020
X-MFC with: r268811
Approved by: jmmv (mentor)
Reviewed by: bapt
Sponsored by: EMC / Isilon Storage Division
2014-10-11 23:31:44 +00:00
rodrigc
094ca4bfbc Merge: r258931
Add missing bits from the vendor's 2005-05-04 change to
contrib/byacc/makefile.in ("add YYPATCH here so it can be tested by
applications") so that applications have a hope of detecting newer
FreeBSD YACC output from an older one.

Submitted by: Juniper Networks
2014-10-11 23:02:03 +00:00
adrian
7f559d779a MFC r271784 - Fix the handling of EOP in status descriptors for if_igb(4)
and don't double-free mbufs.

Like ixgbe(4) chipsets, EOP is only set on the final descriptor
in a chain of descriptors.  So, to free the whole list of descriptors,
we should free the current slot _and_ the assembled list of descriptors
that make up the fragment list.

The existing code was setting discard once it saw EOP + an error status;
it then freed all the subsequent descriptors until the next EOP. That's
totally the wrong order.
2014-10-11 22:13:24 +00:00
adrian
5995ee9a98 MFC r271645 - Set DROP_EN on each RX queue if transmit flow-control is disabled.
This allows the NIC to drop frames on the receive queue and not
cause the MAC to block on receiving to _any_ queue.

Tested:

igb0@pci0:5:0:0:        class=0x020000 card=0x152115d9 chip=0x15218086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'I350 Gigabit Network Connection'
    class      = network
    subclass   = ethernet

Discussed with: Eric Joyner <eric.joyner@intel.com>
MFC after:    1 week
Sponsored by: Norse Corp, Inc.
2014-10-11 22:12:24 +00:00
adrian
d090f32bd0 MFC r271649 - Disable flow-director support until it's been debugged
and verified.

The flowdirector feature shares on-chip memory with other things
such as the RX buffers.  In theory it should be configured in a way
that doesn't interfere with the rest of operation.  In practice,
the RX buffer calculation didn't take the flow-director allocation
into account and there'd be overlap.  This lead to various garbage
frames being received containing what looks like internal NIC state.

What _I_ saw was traffic ending up in the wrong RX queues.
If I was doing a UDP traffic test with only one NIC ring receiving
traffic, everything is fine.  If I fired up a second UDP stream
which came in on another ring, there'd be a few percent of traffic
from both rings ending up in the wrong ring.  Ie, the RSS hash would
indicate it was supposed to come in ring X, but it'd come in ring Y.

However, when the allocation was fixed up, the developers at Verisign
still saw traffic stalls.

The flowdirector feature ends up fiddling with the NIC to do various
attempts at load balancing connections by populating flow table rules
based on sampled traffic.  It's likely that all of that has to be
carefully reviewed and made less "magic".

So for now the flow director feature is disabled (which fixes both
what I was seeing and what they were seeing) until it's all much
more debugged and verified.

Tested:

* (me) 82599EB 2x10G NIC, RSS UDP testing.
* (verisign) not sure on the NIC (but likely 82599), 100k-200k/sec TCP
  transaction tests.

Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com>
Sponsored by: Verisign, Inc.
2014-10-11 22:10:39 +00:00
adrian
d927fae9b7 MFC r271648 - The error bits are not valid with EOP=0; so intermediary
fragments should not be discarded.

Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com>
Sponsored by: Verisign, Inc.
2014-10-11 22:09:46 +00:00
adrian
8128ee7851 Merge r271647 - Fix a double-free of mbufs in rx_ixgbe_discard().
fmp->buf at the free point is already part of the chain being freed,
  so double-freeing is counter-productive.

Submitted by:	Marc De La Gueronniere <mdelagueronniere@verisign.com>
Sponsored by:	Verisign, Inc.
2014-10-11 22:08:53 +00:00
rodrigc
f2976cb6be Merge: r268812
Add the mtree entry for yacc tests
2014-10-11 21:54:23 +00:00
hrs
72b3bc6083 MFC r272885:
Do not add late flag when file= is specified because it has a bad
  side-effect.  The specified file should exist before the fstab line.
2014-10-11 20:35:36 +00:00
rodrigc
b9241c62af Merge: r272769
Import byacc 20141006

PR: 193499
2014-10-11 19:38:29 +00:00