2213 Commits

Author SHA1 Message Date
davide
2c8bc5c70c 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
mav
6cf7cc6e4d 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
pluknet
42a4b7d573 Document VFCF_SBDRY.
Reviewed by:	jhb
X-MFC with:	r247116
2013-02-21 22:21:45 +00:00
glebius
6a0158e226 Fix my email. 2013-02-13 07:32:09 +00:00
pluknet
c990c7deec Cross-reference vfs_unbusy(9).
MFC after:	1 week
2013-02-11 10:14:12 +00:00
alfred
d4bbaff584 add semicolon to end of CALLOUT_HANDLE_INITIALIZER example. 2013-02-08 20:13:28 +00:00
pluknet
ee8d8f0157 Technical corrections and improvements for the previous change.
Submitted by:	bde
2013-01-28 07:04:52 +00:00
pluknet
5c0ad3a1ac Update and clarify comments regarding VFS op table initialization
in the man page and its header counterpart.

Submitted by:	Christoph Mallon <christoph.mallon@gmx.de> (initial version)
Reviewed and further improved by:	bde (previous version)
All bugs are:	mine
2013-01-24 23:11:51 +00:00
pluknet
35b211d412 Use C99 sparse initialization for struct vfsops in pseudocode.
Where here, use conventional fsname.
2013-01-21 20:15:35 +00:00
pluknet
e604fa387c The Giant lock is no longer used in the vm_map(9) part of the VM.
While here, document that the process lock is acquired in vm_map_stack, too.

MFC after:	1 week
2013-01-10 22:36:30 +00:00
bjk
604b10857d Fix some minor inaccuracies introduced in r243251.
Also correct the comment in kern_synch.c which was the source of the
problematic text.

Reviewed by:	kib (previous version)
Approved by:	hrs (mentor)
2013-01-05 00:23:26 +00:00
avg
9e0012da52 lock.9: fix incorrect descriptions of LK_SHARED and LK_DOWNGRADE behavior
Reviewed by:	attilio
MFC after:	5 days
X-MFC after:	r243900
2012-12-23 12:56:04 +00:00
jh
de8a1071d5 Reject spaces and double quotation marks in device names. devctl(4)
and devd(8) can't handle names with such characters properly.

PR:		bin/144736, kern/161912
Discussed with:	imp, kib, pjd
2012-12-22 13:33:28 +00:00
pjd
a585ca9ec8 Implemented uma_zone_set_warning(9) function that sets a warning, which
will be printed once the given zone becomes full and cannot allocate an
item. The warning will not be printed more often than every five minutes.

All UMA warnings can be globally turned off by setting sysctl/tunable
vm.zone_warnings to 0.

Discussed on:	arch
Obtained from:	WHEEL Systems
MFC after:	2 weeks
2012-12-07 22:27:13 +00:00
kevlo
d00749da9e Document pffinddomain().
Reviewed by:	glebius
2012-12-07 02:29:32 +00:00
kib
1d3da83d14 Fix typo.
Submitted by:	bjk
MFC after:	3 days
2012-12-04 14:07:17 +00:00
kib
3cc1306013 Document the interpretation of the negative value of ticks for
taskqueue_enqueue_timeout(9).

MFC after:	3 days
2012-12-04 00:32:12 +00:00
bjk
3566a308c1 Improve grammar.
Approved by:	hrs (mentor)
2012-11-18 22:52:17 +00:00
joel
b4a387db94 Remove trailing whitespace. 2012-11-16 11:56:53 +00:00
alc
8f8f99d37a M_USE_RESERVE is no longer deprecated. It is once again supported.
Reviewed by:	kib
2012-11-16 06:40:40 +00:00
andre
6a5e0b0428 Remove description of deprecated IP fragment checksum support.
Since SMPng it wasn't really supported anymore and if it worked
then only by chance.  Only very few drivers ever supported it.

Discussed with:	yongari
MFC after:	2 weeks
2012-11-13 20:52:17 +00:00
pluknet
608471c305 - Lowercase a cross reference to make.
- Sort SEE ALSO cross references.

MFC after:	3 days
2012-11-13 20:07:34 +00:00
pluknet
8040a16b24 Avoid an ambiguous reference to mtx_lock(9).
MFC after:	3 days
2012-11-13 19:21:51 +00:00
pluknet
b681a0c45c Correct rmlock(9) xref and add a missing comma. 2012-11-13 19:03:13 +00:00
kevlo
f9e78dd18a Sync with domain and protosw data structures.
Reviewed by:	glebius
2012-11-05 09:45:37 +00:00
jimharris
fa2f4d5744 Add descriptions for callout_reset_on and callout_schedule_on and
their curcpu variants.

Discussed with:	mav, davide
MFC after:	1 week
2012-11-01 21:00:13 +00:00
trasz
a46a7a285c Document disk_resize(9). 2012-10-30 13:05:50 +00:00
kevlo
0ca17abf5e The argument len of m_pullup(9) could be less than or equal to MHLEN.
Reviewed by:	glebius
2012-10-30 10:13:26 +00:00
trasz
61a7d2c215 Make it clear that NULL can only be returned when M_NOWAIT was used. 2012-10-28 21:01:32 +00:00
joel
b24573de07 mdoc: sort sections. 2012-10-26 16:40:03 +00:00
kevlo
5aeb11e743 Fix MINCLSIZE. It should be MHLEN + 1.
Reviewed by:	glebius
2012-10-25 08:38:43 +00:00
andre
42d79d42e3 Update zero_copy(9) man page to note the renamed kernel options
and to warn about unsafeness of COW based sends.
2012-10-23 14:25:37 +00:00
kib
560aa751e0 Remove the support for using non-mpsafe filesystem modules.
In particular, do not lock Giant conditionally when calling into the
filesystem module, remove the VFS_LOCK_GIANT() and related
macros. Stop handling buffers belonging to non-mpsafe filesystems.

The VFS_VERSION is bumped to indicate the interface change which does
not result in the interface signatures changes.

Conducted and reviewed by:	attilio
Tested by:	pho
2012-10-22 17:50:54 +00:00
melifaro
030e8d5bab Make PFIL use per-VNET lock instead of per-AF lock. Since most used packet
filters (ipfw and PF) use the same ruleset with the same lock for both
AF_INET and AF_INET6 there is no need in more fine-grade locking.
However, it is possible to request personal lock by specifying
PFIL_FLAG_PRIVATE_LOCK flag in pfil_head structure (see pfil.9 for
more details).

Export PFIL lock via rw_lock(9)/rm_lock(9)-like API permitting pfil consumers
to use this lock instead of own lock. This help reducing locks on main
traffic path.

pfil_assert() is currently not implemented due to absense of rm_assert().
Waiting for some kind of r234648 to be merged in HEAD.

This change is part of bigger patch reducing routing locking.

Sponsored by:	Yandex LLC
Reviewed by:	glebius, ae
OK'd by:	silence on net@
MFC after:	3 weeks
2012-10-22 14:10:17 +00:00
kevlo
8c77f1f6a8 Since the moduledata structure member priv is a void pointer, using
NULL instead of 0 when dealing with pointers.
2012-10-12 01:31:02 +00:00
kevlo
ceb08698f2 Revert previous commit...
Pointyhat to:	kevlo (myself)
2012-10-10 08:36:38 +00:00
kevlo
8747a46991 Prefer NULL over 0 for pointers 2012-10-09 08:27:40 +00:00
glebius
f3a0231bff A step in resolving mess with byte ordering for AF_INET. After this change:
- All packets in NETISR_IP queue are in net byte order.
  - ip_input() is entered in net byte order and converts packet
    to host byte order right _after_ processing pfil(9) hooks.
  - ip_output() is entered in host byte order and converts packet
    to net byte order right _before_ processing pfil(9) hooks.
  - ip_fragment() accepts and emits packet in net byte order.
  - ip_forward(), ip_mloopback() use host byte order (untouched actually).
  - ip_fastforward() no longer modifies packet at all (except ip_ttl).
  - Swapping of byte order there and back removed from the following modules:
    pf(4), ipfw(4), enc(4), if_bridge(4).
  - Swapping of byte order added to ipfilter(4), based on __FreeBSD_version
  - __FreeBSD_version bumped.
  - pfil(9) manual page updated.

Reviewed by:	ray, luigi, eri, melifaro
Tested by:	glebius (LE), ray (BE)
2012-10-06 10:02:11 +00:00
joel
68ac3a8b2c mdoc: remove superfluous paragraph macro. 2012-09-30 07:51:57 +00:00
glebius
4b29d585cf The drbr(9) API appeared to be so unclear, that most drivers in
tree used it incorrectly, which lead to inaccurate overrated
if_obytes accounting. The drbr(9) used to update ifnet stats on
drbr_enqueue(), which is not accurate since enqueuing doesn't
imply successful processing by driver. Dequeuing neither mean
that. Most drivers also called drbr_stats_update() which did
accounting again, leading to doubled if_obytes statistics. And
in case of severe transmitting, when a packet could be several
times enqueued and dequeued it could have been accounted several
times.

o Thus, make drbr(9) API thinner. Now drbr(9) merely chooses between
  ALTQ queueing or buf_ring(9) queueing.
  - It doesn't touch the buf_ring stats any more.
  - It doesn't touch ifnet stats anymore.
  - drbr_stats_update() no longer exists.

o buf_ring(9) handles its stats itself:
  - It handles br_drops itself.
  - br_prod_bytes stats are dropped. Rationale: no one ever
    reads them but update of a common counter on every packet
    negatively affects performance due to excessive cache
    invalidation.
  - buf_ring_enqueue_bytes() reduced to buf_ring_enqueue(), since
    we no longer account bytes.

o Drivers handle their stats theirselves: if_obytes, if_omcasts.

o mlx4(4), igb(4), em(4), vxge(4), oce(4) and  ixv(4) no longer
  use drbr_stats_update(), and update ifnet stats theirselves.

o bxe(4) was the most correct driver, it didn't call
  drbr_stats_update(), thus it was the only driver accurate under
  moderate load. Now it also maintains stats itself.

o ixgbe(4) had already taken stats from hardware, so just
  - drop software stats updating.
  - take multicast packet count from hardware as well.

o mxge(4) just no longer needs NO_SLOW_STATS define.

o cxgb(4), cxgbe(4) need no change, since they obtain stats
  from hardware.

Reviewed by:	jfv, gnn
2012-09-28 18:28:27 +00:00
kevlo
9ca4ec0d77 Remove references to brelse and bremfree, which don't actually exist. 2012-09-20 07:07:35 +00:00
joel
e86254d453 Remove trailing whitespace. 2012-09-16 21:17:28 +00:00
melifaro
bde38da8f2 Add section describing existing filtering points.
Document byteorder behavior in AF_INET[6] hooks in new section.

MFC after:	2 weeks
2012-09-16 13:13:02 +00:00
kevlo
5af0a918ec Add references to VFS_SET(9) and VOP_VPTOFH(9) 2012-09-12 03:39:32 +00:00
glebius
0259eae71d - Move jenkins.h to jenkins_hash.c
- Provide missing function that can do hashing of arbitrary sized buffer.
- Refetch lookup3.c and do only minimal edits to it, so that diff between
  our jenkins_hash.c and lookup3.c is minimal.
- Add declarations for jenkins_hash(), jenkins_hash32() to sys/hash.h.
- Document these functions in hash(9)

Obtained from:	http://burtleburtle.net/bob/c/lookup3.c
2012-09-04 12:07:33 +00:00
jhb
5e14e64f45 Clarify that bus_dma does not stall future load requests once a load is
deferred.  The caller is required to enforce that if that is desired.

MFC after:	2 weeks
2012-08-30 14:44:30 +00:00
pluknet
ef55aebbf3 Remove a duplicated "thread". 2012-08-30 11:52:26 +00:00
pluknet
19916e0c85 Follow r239818 and remove no more relevant vslock() ENOMEM error.
Reviewed by:	zont
MFC after:	2 weeks
2012-08-29 13:00:00 +00:00
jhb
ce213beaaf Add a manpage for BUS_CHILD_DETACHED(). 2012-08-21 18:41:38 +00:00
jhb
2698863029 Add a BUS_CHILD_DELETED() method that a bus can hook to allow it to cleanup
any bus-specific state (such as ivars) when a child device is deleted.

Requested by:	kan
MFC after:	1 month
2012-08-21 18:13:09 +00:00