Commit Graph

9499 Commits

Author SHA1 Message Date
kib
cf11d25e18 Fix two issues with lockmgr(9) LK_CAN_SHARE() test, which determines
whether the shared request for already shared-locked lock could be
granted.  Both problems result in the exclusive locker starvation.

The concurrent exclusive request is indicated by either
LK_EXCLUSIVE_WAITERS or LK_EXCLUSIVE_SPINNERS flags.  The reverse
condition, i.e. no exclusive waiters, must check that both flags are
cleared.

Add a flag LK_NODDLKTREAT for shared lock request to indicate that
current thread guarantees that it does not own the lock in shared
mode.  This turns back the exclusive lock starvation avoidance code;
see man page update for detailed description.

Use LK_NODDLKTREAT when doing lookup(9).

Reported and tested by:	pho
No objections from:	attilio
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2014-11-02 13:10:31 +00:00
jmg
2093a6f55b add an rc.d script to automatically grow the specified FS... It has
been tested on both MBR and GPT...  It won't be enabled until you add
growfs_enable="YES" and will only run on first boot..
2014-11-02 00:11:25 +00:00
jmmv
120021745e MFV: Import atf-0.21. 2014-11-01 11:17:54 +00:00
kib
888be1193f Add type qualifier volatile to the base (userspace) address argument
of fuword(9) and suword(9).  This makes the functions type-compatible
with volatile objects and does not require devolatile force, e.g. in
kern_umtx.c.

Requested by:	bde
Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
2014-10-31 17:43:21 +00:00
jkim
d92ea3ad36 Actually install casuword(9) to fix build. 2014-10-28 16:19:02 +00:00
kib
29a659ef8e Add fueword(9) and casueword(9) functions. They are like fuword(9)
and casuword(9), but do not mix value read and indication of fault.

I know (or remember) enough assembly to handle x86 and powerpc.  For
arm, mips and sparc64, implement fueword() and casueword() as wrappers
around fuword() and casuword(), which means that the functions cannot
distinguish between -1 and fault.

On architectures where fueword() and casueword() are native, implement
fuword() and casuword() using fueword() and casuword(), to reduce
assembly code duplication.

Sponsored by:	The FreeBSD Foundation
Tested by:	pho
MFC after:	2 weeks (ia64 needs treating)
2014-10-28 15:22:13 +00:00
delphij
88e2ab5d51 Remove an extra copy of hv_kvp_daemon(8) [1].
While I'm there also correct typos in OptionalObsoleteFiles and add
information of the command line options for hv_kvp_daemon(8).

Reported by:	jmg [1]
Reviewed by:	jmg
MFC after:	2 weeks
2014-10-27 21:29:42 +00:00
jhb
5081f978b2 Correct a typo: this is the manpage for pthread_cleanup_pop, not push.
Submitted by:	ian
2014-10-27 15:45:37 +00:00
trasz
6abe4c9596 Mention VAAI and ODX in ctl(4).
Reviewed by:	mav@
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2014-10-26 13:30:53 +00:00
jhb
a3ed3e1c79 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.)

PR:		194280
Submitted by:	dr2867.business@pacbell.net
MFC after:	1 week
2014-10-25 19:31:34 +00:00
kevlo
be49686e26 Add D-Link DWA-123 rev D1 and Elecom WDC-150SU2M. 2014-10-24 15:36:30 +00:00
jmg
5c564e2945 minor updates to make it more explicit that when using fpu_kern_thread,
you don't need to use fpu_kern_enter/_leave...

Reviewed by:	kib
2014-10-23 17:24:50 +00:00
bryanv
8f4c0531c0 Add VirtIO console driver
Support for the multiport feature is mostly implemented, but currently
disabled due to some potential races in the hot plug code paths.

Requested by:	marcel
MFC after:	1 month
Relnotes:	yes
2014-10-23 04:47:32 +00:00
mav
b2dfe7e8d8 Document sort_io_queue sysctls/tunables.
MFC after:	1 week
2014-10-22 08:54:10 +00:00
emaste
dab432afc4 Regenerate after r273418 2014-10-21 20:41:19 +00:00
jmg
6c273ee4a7 it is not cast to a pointer of the specified type, it is cast to the
specified type...

mtod(m, uint8_t) does not work, mtod(m, uint8_t *) does work..
2014-10-21 17:59:27 +00:00
jmg
a117725fc5 spell out the arguments..
the + *offsetp does not belong w/ the type, move it outside the .Fn
macro...
2014-10-21 17:17:40 +00:00
hselasky
49c137f7be Fix multiple incorrect SYSCTL arguments in the kernel:
- Wrong integer type was specified.

- Wrong or missing "access" specifier. The "access" specifier
sometimes included the SYSCTL type, which it should not, except for
procedural SYSCTL nodes.

- Logical OR where binary OR was expected.

- Properly assert the "access" argument passed to all SYSCTL macros,
using the CTASSERT macro. This applies to both static- and dynamically
created SYSCTLs.

- Properly assert the the data type for both static and dynamic
SYSCTLs. In the case of static SYSCTLs we only assert that the data
pointed to by the SYSCTL data pointer has the correct size, hence
there is no easy way to assert types in the C language outside a
C-function.

- Rewrote some code which doesn't pass a constant "access" specifier
when creating dynamic SYSCTL nodes, which is now a requirement.

- Updated "EXAMPLES" section in SYSCTL manual page.

MFC after:	3 days
Sponsored by:	Mellanox Technologies
2014-10-21 07:31:21 +00:00
emaste
8044ec1729 Add vtfontcvt(8) cross-reference to vt(4) man page
Reported by:	beeessdee@ruggedinbox.com
MFC after:	3 days
2014-10-20 14:48:20 +00:00
bryanv
783bd6e089 Add vxlan interface
vxlan creates a virtual LAN by encapsulating the inner Ethernet frame in
a UDP packet. This implementation is based on RFC7348.

Currently, the IPv6 support is not fully compliant with the specification:
we should be able to receive UPDv6 packets with a zero checksum, but we
need to support RFC6935 first. Patches for this should come soon.

Encapsulation protocols such as vxlan emphasize the need for the FreeBSD
network stack to support batching, GRO, and GSO. Each frame has to make
two trips through the network stack, and each frame will be at most MTU
sized. Performance suffers accordingly.

Some latest generation NICs have begun to support vxlan HW offloads that
we should also take advantage of. VIMAGE support should also be added soon.

Differential Revision:	https://reviews.freebsd.org/D384
Reviewed by:	gnn
Relnotes:	yes
2014-10-20 14:42:42 +00:00
des
325f19fddb Add a complete implementation of MurmurHash3. Tweak both implementations
so they match the established idiom.  Document them in hash(9).

MFC after:	1 month
MFC with:	r272906
2014-10-18 22:15:11 +00:00
emaste
f532448c67 Fix UEFI manpage whitespace and minor issues
Submitted by:	wblock
MFC after:	4 days
Differential Revision: https://reviews.freebsd.org/D959
2014-10-17 18:16:40 +00:00
emaste
24f7fd80fe Add basic UEFI boot procedure manpage
Reviewed by:	brueffer
MFC after:	4 days
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D959
2014-10-17 13:50:37 +00:00
gavin
bd1cd16c9d The igb(4) driver supports 82580, i350, i354, i210 and i211 chipsets too,
document them.

PR:		192301
MFC after:	1 week
2014-10-16 23:07:09 +00:00
emaste
863dfdd1a6 Update vt(4) for UEFI defaults and special keys
vt(4) is the default console for UEFI boot [1], and the bitmapped
kern.vt.spclkeys sysctl has been replaced with individual kern.vt.kbd_*
enable sysctls.

PR:		193710
Submitted by:	wblock [1]
Reviewed by:	wblock
MFC after:	3 days
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D953
2014-10-16 18:49:50 +00:00
brooks
8afb9f2a44 Regenerate src.conf.5 after:
r273170:
  MK_ARB_EABI was removed in r272350 so remove the documentation.
r273171:
  Per r273155, HYPERV is built by default on platforms where it makes
  sense and ignored on others.
r273172:
  Document that WITHOUT_TOOLCHAIN causes headers to not be installed, not
  just programs.
2014-10-16 15:59:00 +00:00
ae
88b7be7ff6 Overhaul if_gif(4):
o convert to if_transmit;
 o use rmlock to protect access to gif_softc;
 o use sx lock to protect from concurrent ioctls;
 o remove a lot of unneeded and duplicated code;
 o remove cached route support (it won't work with concurrent io);
 o style fixes.

Reviewed by:	melifaro
Obtained from:	Yandex LLC
MFC after:	1 month
Sponsored by:	Yandex LLC
2014-10-14 13:31:47 +00:00
brueffer
04567a5ab0 New sentence -> new line; use macros where appropriate. 2014-10-14 12:29:24 +00:00
sbruno
8080dffdad Bump .Dd
Submitted by:	gjb
MFC after:	2 weeks
Relnotes:	yes
2014-10-13 21:08:27 +00:00
sbruno
21257a95b0 Update tcp(4) with plpmtud blackhole sysctls
Submitted by:	Mikhail <mp@lenta.ru>
MFC after:	2 weeks
Relnotes:	yes
2014-10-13 21:04:14 +00:00
hrs
77616d41a2 Add ${name}_env and ${name}_prepend. ${name}_env is an argument list which
will be passed to env(1).  ${name}_prepend is simply prepended to the command
line for $command.
2014-10-11 23:49:27 +00:00
trasz
4b6f54abd2 Mark iscontrol(8) and iscsi_initiator(4) obsolete.
Differential Revision:	https://reviews.freebsd.org/D931
Reviewed by:	wblock@
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2014-10-11 05:18:22 +00:00
jhb
1a90cf59cd Forgot to bump Dd.
Pointy hat to:	jhb
2014-10-08 21:56:00 +00:00
jhb
dada10fe68 Rewrite timeout(9) to be callout(9)-centric instead. Move the description
of timeout(9) to the end and mark it prominently as deprecated.  Document
somewhat how times are specified for the 'sbt' variants.  Better explain
how using callout_init_*() to associate a lock with a callout resolves
common races.

Differential Revision:	https://reviews.freebsd.org/D847
Reviewed by:	wblock, bjk
MFC after:	1 week
2014-10-08 21:53:24 +00:00
yongari
30766cbd51 Document newly added controller AR816x/AR817x. 2014-10-08 05:49:10 +00:00
bdrewery
1a8f3499c2 Bump .Dd missed in r271424 2014-10-06 00:25:10 +00:00
lwhsu
1316135b40 Bump .Dd
Approved by:	kevlo
2014-10-03 15:03:44 +00:00
kevlo
d0c5e279ae bump .Dd
Reported by:	gjb
2014-10-03 01:39:33 +00:00
kevlo
fb00cb662a Mention umoscom(4) and uslcom(4). 2014-10-03 01:20:49 +00:00
gavin
ee3a69c548 Add HARDWARE section of urnis(4) driver to try to gain more visibility.
MFC after:	3 days
2014-10-02 22:22:34 +00:00
gjb
2c6335516d 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.

MFC after:	5 days
X-MFC-10.1:	yes
Tested on:	r272269, r272272, r272279, r272380, r272392
Sponsored by:	The FreeBSD Foundation
2014-10-02 16:13:12 +00:00
hselasky
cde325445b Add new USB ID.
PR:		194091
MFC after:	3 days
2014-10-02 12:27:41 +00:00
hrs
667a2b7369 Virtualize lagg(4) cloner. This change fixes a panic when tearing down
if_lagg(4) interfaces which were cloned in a vnet jail.

Sysctl nodes which are dynamically generated for each cloned interface
(net.link.lagg.N.*) have been removed, and use_flowid and flowid_shift
ifconfig(8) parameters have been added instead.  Flags and per-interface
statistics counters are displayed in "ifconfig -v".

CR:	D842
2014-10-01 21:37:32 +00:00
markj
77fb3d6bbe Add a sysctl, net.inet.icmp.tstamprepl, which can be used to disable replies
to ICMP Timestamp packets.

PR:		193689
Submitted by:	Anthony Cornehl <accornehl@gmail.com>
MFC after:	3 weeks
Sponsored by:	EMC / Isilon Storage Division
2014-10-01 18:07:34 +00:00
bjk
b06f292fdc Some cleanup for sfxge.4
Use standard mdoc macros instead of pure roff, fix some other mdoc usage,
make the style consistent, and fix some grammar issues.

Approved by:	hrs (mentor)
2014-10-01 17:16:18 +00:00
tuexen
911b31bff0 The default for UDPLITE_RECV_CSCOV is zero. RFC 3828 recommend
that this means full checksum coverage for received packets.
If an application is willing to accept packets with partial
coverage, it is expected to use the socekt option and provice
the minimum coverage it accepts.

Reviewed by: kevlo
MFC after: 3 days
2014-10-01 05:43:29 +00:00
gnn
5f81cfe206 Update SolarFlare driver manual page with new tunables.
Submitted by:   Andrew Rybchenko <arybchenko at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
2014-09-30 20:38:36 +00:00
gavin
199abe7b29 Make clear in the ipheth(4) hardware notes that this driver is for the
tethering functionality only.  Add a "bugs" section to give a pointer
to usbconfig set_config if the device isn't automatically detected.

MFC after:	3 days
2014-09-30 05:36:16 +00:00
pluknet
d22cb816a8 Add smsc(4) to the list of drivers use the miibus interface.
X-MFC with:	r272165
Sponsored by:	Nginx, Inc.
2014-09-26 11:13:19 +00:00
gavin
d9656d90a3 Add MLINKS for if_ipheth(4) and if_smsc(4).
Submitted by:	brueffer
MFC after:	6 days
2014-09-26 09:54:57 +00:00