Commit Graph

14849 Commits

Author SHA1 Message Date
Will Andrews
fdbc71742b Extend taskqueue(9) to enable per-taskqueue callbacks.
The scope of these callbacks is primarily to support actions that affect the
taskqueue's thread environments.  They are entirely optional, and
consequently are introduced as a new API: taskqueue_set_callback().

This interface allows the caller to specify that a taskqueue requires a
callback and optional context pointer for a given callback type.

The callback types included in this commit can be used to register a
constructor and destructor for thread-local storage using osd(9).  This
allows a particular taskqueue to define that its threads require a specific
type of TLS, without the need for a specially-orchestrated task-based
mechanism for startup and shutdown in order to accomplish it.

Two callback types are supported at this point:

- TASKQUEUE_CALLBACK_TYPE_INIT, called by every thread when it starts, prior
  to processing any tasks.
- TASKQUEUE_CALLBACK_TYPE_SHUTDOWN, called by every thread when it exits,
  after it has processed its last task but before the taskqueue is
  reclaimed.

While I'm here:

- Add two new macros, TQ_ASSERT_LOCKED and TQ_ASSERT_UNLOCKED, and use them
  in appropriate locations.
- Fix taskqueue.9 to mention taskqueue_start_threads(), which is a required
  interface for all consumers of taskqueue(9).

Reviewed by:	kib (all), eadler (taskqueue.9), brd (taskqueue.9)
Approved by:	ken (mentor)
Sponsored by:	Spectra Logic
MFC after:	1 month
2013-03-23 15:11:53 +00:00
Dag-Erling Smørgrav
0041e47595 Retire the mislabeled ENABLE_SUID_SSH knob. 2013-03-22 14:10:15 +00:00
Gleb Smirnoff
b7e2b86cec Document some flags to the uma_zcreate(). Not all flags are documented,
only those that at least are used in the kernel, or that definitely
work.
2013-03-21 16:19:46 +00:00
Gleb Smirnoff
07f490ac97 Document uma_find_refcnt(). 2013-03-21 16:04:34 +00:00
Gleb Smirnoff
21f97e938d Document NGM_NAT_LIBALIAS_INFO.
Submitted by:	Dmitry Luhtionov <dmitryluhtionov gmail.com>
2013-03-21 13:02:43 +00:00
Martin Matuska
05f49d92ef Merge libzfs_core branch:
includes MFV 238590, 238592, 247580

MFV 238590, 238592:
  In the first zfs ioctl restructuring phase, the libzfs_core library was
  introduced. It is a new thin library that wraps around kernel ioctl's.
  The idea is to provide a forward-compatible way of dealing with new
  features. Arguments are passed in nvlists and not random zfs_cmd fields,
  new-style ioctls are logged to pool history using a new method of
  history logging.

  http://blog.delphix.com/matt/2012/01/17/the-future-of-libzfs/

MFV 247580 [1]:
  To address issues of several deadlocks and race conditions the locking
  code around dsl_dataset was rewritten and the interface to synctasks
  was changed.

User-Visible Changes:
  "zfs snapshot" can create more arbitrary snapshots at once (atomically)
  "zfs destroy" destroys multiple snapshots at once
  "zfs recv" has improved performance

Backward Compatibility:
  I have extended the compatibility layer to support full backward
  compatibility by remapping or rewriting the responsible ioctl arguments.
  Old utilities are fully supported by the new kernel module.

Forward Compatibility:
  New utilities work with old kernels with the following restrictions:
    - creating, destroying, holding and releasing of multiple snapshots
      at once is not supported, this includes recursive (-r) commands

Illumos ZFS issues:
  2882 implement libzfs_core
  2900 "zfs snapshot" should be able to create multiple,
       arbitrary snapshots at once
  3464 zfs synctask code needs restructuring

References:
  https://www.illumos.org/issues/2882
  https://www.illumos.org/issues/2900
  https://www.illumos.org/issues/3464 [1]

MFC after:	1 month
Sponsored by:	Hybrid Logic Inc. [1]
2013-03-21 08:38:03 +00:00
Jilles Tjoelker
c2e3c52e0d Implement SOCK_CLOEXEC, SOCK_NONBLOCK and MSG_CMSG_CLOEXEC.
This change allows creating file descriptors with close-on-exec set in some
situations. SOCK_CLOEXEC and SOCK_NONBLOCK can be OR'ed in socket() and
socketpair()'s type parameter, and MSG_CMSG_CLOEXEC to recvmsg() makes file
descriptors (SCM_RIGHTS) atomically close-on-exec.

The numerical values for SOCK_CLOEXEC and SOCK_NONBLOCK are as in NetBSD.
MSG_CMSG_CLOEXEC is the first free bit for MSG_*.

The SOCK_* flags are not passed to MAC because this may cause incorrect
failures and can be done later via fcntl() anyway. On the other hand, audit
is expected to cope with the new flags.

For MSG_CMSG_CLOEXEC, unp_externalize() is extended to take a flags
argument.

Reviewed by:	kib
2013-03-19 20:58:17 +00:00
Gleb Smirnoff
093012686d iwn(4) doesn't support adhoc mode.
PR:		misc/177106
Submitted by:	Hiren Panchasara <hiren.panchasara gmail.com>
2013-03-19 13:43:55 +00:00
Martin Matuska
520268fb97 MFC @248493 2013-03-19 11:09:15 +00:00
Neel Natu
4e34ce3e13 Add bhyve to examples.
Requested by: alfred, julian
Obtained from:	NetApp
2013-03-18 23:46:14 +00:00
Jung-uk Kim
569d8f7e27 Add preliminary support for IBM/Lenovo TrackPoint.
PR:		kern/147237 (based on the initial patch for 8.x)
Tested by:	glebius (device detection and suspend/resume)
MFC after:	1 month
2013-03-18 23:22:47 +00:00
Martin Matuska
876a84e867 MFC @248461 2013-03-18 09:39:51 +00:00
Joel Dahl
d1cd5e7cf3 Cross-reference gvinum(8) instead of vinum(8). 2013-03-16 22:02:47 +00:00
Gleb Smirnoff
80daa4713c Belatedly remove the vinum(4) manual page. The vinum
manager is absent in FreeBSD since 6.0-RELEASE.

Reviewed by:	joel
2013-03-16 08:51:47 +00:00
Joel Dahl
5dcbcee7b0 Add FreeBSD 9.1. 2013-03-14 21:20:46 +00:00
Joel Dahl
d69c5c1d1d Sort sections. 2013-03-14 19:56:21 +00:00
Joel Dahl
9218a6eb61 Add GEOM_* kernel options to the SYNOPSIS. 2013-03-14 18:46:11 +00:00
Joel Dahl
d23368eb11 vinum isn't a new product. 2013-03-13 22:27:01 +00:00
Sergey Kandaurov
d0d282c479 Add missed _load' to the if_foo_load="YES"' line.
PR:		docs/176915
MFC after:	1 week
2013-03-13 18:43:25 +00:00
Eitan Adler
25d74ee052 Remove pav from portmgr whom had also stepped down a few months ago.
Thank you for your years of service.

Reported by:	rene
2013-03-12 23:14:18 +00:00
Eitan Adler
eaa45f5968 Welcome Bryan to the team. 2013-03-12 23:07:34 +00:00
Eitan Adler
d43e357b6a Update Ruslan's last name per request.
Submitted by:	rm
2013-03-12 13:03:31 +00:00
Eitan Adler
29c70b5ed9 Remove two members of portmgr that have recently stepped down. Thank
you for your time on portmgr.

Remove one member from bugmeister that has stepped down recently.  Thank
you for your time on bugmeister.

While here clean up the graph a bit (remove dead cvs repos)
2013-03-12 04:37:04 +00:00
Baptiste Daroussin
6b7f97ebbf Disconnect files removed in r248151 2013-03-11 17:21:21 +00:00
Baptiste Daroussin
1656073469 Ports are no more exported via cvsup, remove cvsup examples and documentation refering to ports
MFC after:	2 days
2013-03-11 10:48:26 +00:00
Attilio Rao
a92189b377 Garbage collect NWFS and NCP bits which are now completely disconnected
from the tree since few months.

This patch is not targeted for MFC.
2013-03-09 12:45:36 +00:00
Martin Matuska
a03fbc7ecf MFC @248093 2013-03-09 11:57:51 +00:00
Gavin Atkinson
af5ab554db The ZyXEL ZyAIR G-202 is also supported by zyd(4)
MFC after:	1 week
2013-03-07 13:26:54 +00:00
Gavin Atkinson
57150983c6 Suggest using the https: protocol not the svn: protocol to retrieve the
various repositories.
2013-03-07 13:24:16 +00:00
Martin Matuska
dce1a726f2 WiP merge of libzfs_core (MFV r238590, r238592)
not yet working, ioctl handling needs to be changed
2013-03-05 08:09:53 +00:00
Davide Italiano
bf1fc2c2e1 MFcalloutng:
Dcoument the new functions added to condvar(9), sleep(9), sleepqueue(9)
KPIs. Also document recent changes in timeout(9) and eventtimers(4).
2013-03-04 19:10:39 +00:00
Eitan Adler
7a36e6d2bb Modernize some portions of the ports man page.
Stop documenting other operating systems's default patha

Approved by:	bcr (mentor)
2013-03-04 13:57:46 +00:00
Baptiste Daroussin
e51c53f366 Import libyaml as libbsdyml (private brand name)
LibYAML is a YAML 1.1 parser and emitter under MIT license which will
soon be used by the pkg boostrap (usr.bin/pkg) and bhyve

Reviewed by:	roberto, antoine
2013-03-04 11:27:41 +00:00
Alexander Motin
b6bc5f51fa Fix typos in hint names.
MFC after:	1 week
2013-03-03 19:10:28 +00:00
Attilio Rao
4eb0218ace Garbage collect PORTALFS bits which are now completely disconnected from
the tree since few months.

This patch is not targeted for MFC.
2013-03-02 16:43:28 +00:00
Attilio Rao
f51fb78533 Garbage collect CODAFS bits which are now completely disconnected from
the tree since few months.

This patch is not targeted for MFC.
2013-03-02 16:30:18 +00:00
Attilio Rao
67f1f66fc7 Garbage collect XFS bits which are now already completely disconnected
from the tree since few months.

This is not targeted for MFC.
2013-03-02 15:33:54 +00:00
Brooks Davis
0837595205 Provide slightly more helpful feedback when we can't figure out what
compiler the user is using.

PR:		misc/173914
2013-03-01 03:25:43 +00:00
Alexander Motin
fdc5dd2d2f MFcalloutng:
Switch eventtimers(9) from using struct bintime to sbintime_t.
Even before this not a single driver really supported full dynamic range of
struct bintime even in theory, not speaking about practical inexpediency.
This change legitimates the status quo and cleans up the code.
2013-02-28 13:46:03 +00:00
Xin LI
35689395b3 Refresh vendor driver version which adds ARC-1224 support.
Many thanks to Areca for continuing to support FreeBSD.

Submitted by:	黃清隆 <ching2048 areca com tw>
MFC after:	3 days
2013-02-28 04:16:47 +00:00
Navdeep Parhar
d78bd33fac cxgbe(4): Consider all the API versions of the interfaces exported by
the firmware (instead of just the main firmware version) when evaluating
firmware compatibility.  Document the new "hw.cxgbe.fw_install" knob
being introduced here.

This should fix kern/173584 too.  Setting hw.cxgbe.fw_install=2 will
mostly do what was requested in the PR but it's a bit more intelligent
in that it won't reinstall the same firmware repeatedly if the knob is
left set.

PR:		kern/173584
MFC after:	5 days
2013-02-26 20:35:54 +00:00
Sergey Kandaurov
5e0fb0052b Document VFCF_SBDRY.
Reviewed by:	jhb
X-MFC with:	r247116
2013-02-21 22:21:45 +00:00
Sergey Kandaurov
07b9a28adb In the EXAMPLES section: append the subsystem regular expression with a
typical interface name pattern as devd(8) uses full string match.

Discussed with:	avg, glebius
2013-02-21 15:41:09 +00:00
Ed Maste
0d1fce25cb Fix parallel build race with DEBUG_FLAGS
Reported by: Jan Beich on freebsd-current
Tested by: markj
2013-02-20 20:42:56 +00:00
Joel Dahl
fea692b5f6 mdoc: sort sections. 2013-02-18 20:21:26 +00:00
Dimitry Andric
a7449e3cca Since clang 3.2 now has an option to suppress warnings about implicitly
promoted K&R parameters, remove the workarounds added for sendmail
components in r228558.

MFC after:	1 week
2013-02-16 20:17:31 +00:00
Dag-Erling Smørgrav
9c9425b781 fix leftover from an earlier experiment 2013-02-15 21:31:01 +00:00
Dag-Erling Smørgrav
421ccedd26 Manually add the correct text for the LDNS and LDNS_UTILS options.
There seems to be a bug in makeman that causes it to misunderstand
the relationship between LDNS_UTILS and BIND_UTILS.
2013-02-15 15:09:24 +00:00
Dag-Erling Smørgrav
4e7b60a46c The relationship between LDNS_UTILS and BIND_UTILS was inverted. 2013-02-15 14:22:23 +00:00
Dag-Erling Smørgrav
0acc2e1d2b Update src.conf(5) up to but not including my LDNS commits. 2013-02-15 14:17:27 +00:00