117167 Commits

Author SHA1 Message Date
glebius
a8aa160b58 Bump NG_ABI_VERSION. A number of ABI breakeges had been done since
RELENG_5 fork.
2005-07-21 12:32:52 +00:00
glebius
e2b48d0c4d Enhance struct ng_hook - add hk_type field. This field will describe
data link type of the hook. It will be used to ease autoconfiguration
of netgraph and also to print warning messages, when incompatoble nodes
are connected together.
2005-07-21 12:31:42 +00:00
glebius
0ef1972cda Problem description:
At the end of ng_snd_item(), node queue is processed. In certain
netgraph setups deep recursive calls can occur.
  For example this happens, when two nodes are connected and can send
items to each other in both directions. If, for some reason, both nodes
have a lot of items in their queues, then the processing thread will
recurse between these two nodes, delivering items left and right, going
deeper in the stack. Other setups can suffer from deep recursion, too.
The following factors can influence risk of deep netgraph call:
 - periodical write-access events on node
 - combination of slow link and fast one in one graph
 - net.inet.ip.fastforwarding

Changes made:

 - In ng_acquire_{read,write}() do not dequeue another item. Instead,
   call ng_setisr() for this node.
 - At the end of ng_snd_item(), do not process queue. Call ng_setisr(),
   if there are any dequeueable items on node queue.
 - In ng_setisr() narrow worklist mutex holding.
 - In ng_setisr() assert queue mutex.

Theoretically, the first two changes should negatively affect performance.
To check this, some profiling was made:

1) In general real tasks, no noticable performance difference was found.

2) The following test was made: two multithreaded nodes and one
single-threaded were connected into a ring. A large queues of packets
were sent around this ring. Time to pass the ring N times was measured.
This is a very vacuous test: no items/mbufs are allocated, no upcalls or
downcalls outside of netgraph. It doesn't represent a real load, it is
a stress test for ng_acquire_{read,write}() and item queueing functions.
Surprisingly, the performance impact was positive! New code is 13% faster
on UP and 17% faster on SMP, in this particular test.

The problem was originally found, described, analyzed and original patch
was written by Roselyn Lee from Vernier Networks. Thanks!

Submitted by:		Roselyn Lee <rosel verniernetworks com>
2005-07-21 12:08:37 +00:00
nyan
edad9a44c9 MFi386: revision 1.1204. 2005-07-21 11:13:12 +00:00
tjr
78e65e50fc Add HISTORY section. 2005-07-21 10:53:27 +00:00
tjr
6f4c9fc169 Add cross-reference to nextwctype(3). 2005-07-21 10:32:17 +00:00
tjr
13eae5695c Add COMPATIBILITY and HISTORY sections. Fix typo. 2005-07-21 10:27:45 +00:00
phk
0b265b33d3 Make the facility for recognizing BIOS-signatures more general
and return a printable representation.

This fixes recognition of the PC Engines WRAP and improves the
recognition of the Soekris boards (Bios version can now be
seen in the dmesg output for instance).

Also, add watchdog support for PCM-582x platforms.

Submitted by:	Adrian Steinmann <ast@marabu.ch>
Slightly changed by:	phk
PR:	81360
2005-07-21 09:48:37 +00:00
phk
a2c6f4658e Add some KASSERTS to catch null pointers. 2005-07-21 09:00:51 +00:00
phk
669a168b22 Fix example.
Submitted by:	"Andrew Smith" <ACSmith@csir.co.za>
2005-07-21 08:55:46 +00:00
phk
9b19f9f39e In 2003, a -s flag was added to ministat to separate the
avg/median/stddev bars onto separate lines for readability if the
ranges overlapped.  In 2005, ministat was extended to support more than
2 datasets, but the -s code was not updated.  It will coredump if run
with -s and >2 sets.

PR:	82909
Submitted by:	Dan Nelson <dnelson@allantgroup.com>
2005-07-21 08:32:56 +00:00
jkoshy
d27c2fdc74 Add COMPATIBILITY and HISTORY sections.
MFC after:	3 days
2005-07-21 06:44:54 +00:00
jkoshy
fe7e4c58e1 Catch with the source code. Sort a list alphabetically. Add a
HISTORY section.

MFC after:	3 days
2005-07-21 06:42:30 +00:00
jkoshy
48e375e1e8 Add COMPATIBILITY and HISTORY sections. Fix an -mdoc error.
Cross-reference pmclog(3).

Reviewed by:	ru
2005-07-21 06:21:52 +00:00
trhodes
a87b82ead9 Break long lines and kill a few instances of EOL whitespace.
Noticed by:	ru
2005-07-21 05:02:39 +00:00
grehan
94b830287c Recognise GEM ethernet adapter (sparc64/ppc).
reviewed by:	scottl
MFC after:	3 days
2005-07-21 03:33:19 +00:00
grehan
9d96f3d784 Make sure /etc/fstab is written out for Apple-partitioned drives
reviewed by:	scottl
MFC after:	3 days
2005-07-21 03:32:29 +00:00
jkim
25ae65f652 Fix smbios(4) and add support for amd64
Approved by:	anholt (mentor)
2005-07-21 00:18:28 +00:00
marks
8258594954 Bump document date.
Reminded by:	ru
2005-07-20 23:12:54 +00:00
marks
d4e1da3b5e Connect snapinfo to the build. 2005-07-20 22:53:57 +00:00
marks
ebb1aeaa2f Document -b flag of dhclient.
Reviewed by:	ru
MFC after:	3 days
2005-07-20 22:35:44 +00:00
jcamou
6f375d50b4 Document config-recursive target.
PR:		docs/82586
Submitted by:	Imobach González Sosa <imobachgs@banot.net>
Approved by:	trhodes (mentor)
MFC after:	1 week
2005-07-20 22:22:53 +00:00
anholt
e1ade9ca64 Add the latest r300 code from r300.sf.net. This is based on the patch supplied
by Vladimir Dergachev for inclusion in DRM CVS, with minor modifications for
FreeBSD CVS and the appropriate license from Nicolai Haehnle on r300_reg.h.
Fixes hangs when using r300.sf.net userland, tested on a Radeon 9600 on amd64.
2005-07-20 21:10:57 +00:00
ume
c07c4936d7 do not hardcode if_mtu values in here, except for IFT_{ARC,FDDI} -
they need special handling.  makes it possible to take advantage of 9k ether
frames.

Obtained from:	NetBSD
2005-07-20 20:02:28 +00:00
des
b820d7bda4 Catch up. 2005-07-20 20:01:37 +00:00
des
0758329fde Remove redundant rc files. 2005-07-20 20:00:51 +00:00
des
61cf820c99 CURRENT -> HEAD, and dump ia64 and powerpc. 2005-07-20 19:59:46 +00:00
des
450fedcb13 Use 'HEAD' instead of 'CURRENT', while retaining backward compatibility. 2005-07-20 19:58:47 +00:00
des
34f70ab4e5 Include RELENG_4_11 and RELENG_4. 2005-07-20 19:51:13 +00:00
des
08f9cd1a33 Include RELENG_5_4 and RELENG_5. Chuck out ia64. 2005-07-20 19:50:29 +00:00
des
2d14d0da5e Add rc files for RELENG_6. 2005-07-20 19:49:36 +00:00
thompsa
7762c9b44d Clear the PROMISC flag from the vlan interface when we remove a member. We
checked for IFT_L2VLAN in bridge_ioctl_add() but not bridge_delete_member().

Approved by:	mlaier (mentor)
2005-07-20 19:42:51 +00:00
alc
38bf328ab8 Eliminate inconsistency in the setting of the B_DONE flag. Specifically,
make the b_iodone callback responsible for setting it if it is needed.
Previously, it was set unconditionally by bufdone() without holding
whichever lock is shared by the b_iodone callback and the corresponding
top-half function.  Consequently, in a race, the top-half function could
conclude that operation was done before the b_iodone callback finished.
See, for example, aio_physwakeup() and aio_fphysio().

Note: I don't believe that the other, more widely-used b_iodone callbacks
are affected.

Discussed with: jeff
Reviewed by: phk
MFC after: 2 weeks
2005-07-20 19:06:06 +00:00
marks
2854e6f54b snapinfo -- show snapshot location on UFS file systems
Glanced over by: kan
Review by: ru (snapshot.8)
MFC: TBD
2005-07-20 18:59:25 +00:00
mlaier
e0e4afff1d Prevent a race condition. As pf_send_tcp() - called for expired synproxy
states - has to drop the lock when calling back to ip_output(), the state
purge timeout might run and gc the state. This results in a rb-tree
inconsistency.  With this change we flag expiring states while holding the
lock and back off if the flag is already set.

Reported by:	glebius
MFC after:	2 weeks
2005-07-20 18:58:27 +00:00
rwatson
6fa05635cf Further UMA statistics related changes:
- Add a new uma_zfree_internal() flag, ZFREE_STATFREE, which causes it to
  to update the zone's uz_frees statistic.  Previously, the statistic was
  updated unconditionally.

- Use the flag in situations where a "real" free occurs: i.e., one where
  the caller is freeing an allocated item, to be differentiated from
  situations where uma_zfree_internal() is used to tear down the item
  during slab teardown in order to invoke its fini() method.  Also use
  the flag when UMA is freeing its internal objects.

- When exchanging a bucket with the zone from the per-CPU cache when
  freeing an item, flush cache statistics back to the zone (since the
  zone lock and critical section are both held) to match the allocation
  case.

MFC after: 3 days
2005-07-20 18:47:42 +00:00
alc
bef24273ae Eliminate an incorrect (and unnecessary) cast. 2005-07-20 18:41:08 +00:00
phk
55fedcd384 Comment typo 2005-07-20 18:08:16 +00:00
mdodd
fbcfe4487c Add entries for smbios, smapi and vpd drivers. 2005-07-20 16:57:53 +00:00
ru
5a84d0ba0c Drop useless with NO_PIC SHLIB_MAJOR. 2005-07-20 14:35:26 +00:00
simon
dd09386bed Correct devfs ruleset bypass.
Submitted by:	csjp
Reviewed by:	phk
Security:	FreeBSD-SA-05:17.devfs
Approved by:	cperciva
2005-07-20 13:34:16 +00:00
keramida
530b53493c Point to the right path under www.freebsd.org/doc for the Handbook
section on "make world".  The old link still works fine, but all the
hyperlinks of the referenced document are broken; the same links
work find if /doc/en_US.ISO8859-1 is used instead of plain /doc to
reach the online Handbook copy.
2005-07-20 12:50:49 +00:00
ume
c8f443708b move RFC3542 related definitions into ip6.h.
Submitted by:	Keiichi SHIMA <keiichi__at__iijlab.net>
Reviewed by:	mlaier
Obtained from:	KAME
2005-07-20 10:30:52 +00:00
ume
ace81960a0 add missing RFC3542 definition.
Submitted by:	Keiichi SHIMA <keiichi__at__iijlab.net>
Obtained from:	KAME
2005-07-20 09:17:41 +00:00
rwatson
7a523e19db UMA supports "secondary" zones, in which a second zone can be layered
on top of a primary zone, sharing the same allocation "keg".  When
reporting statistics for zones, do not report the free items in the
keg as part of the free items in the zone, or those free items will
be reported more than once: for the primary zone, and then any
secondary zones off the primary zone.  Separately record and maintain
a kegfree statistic, and export via memstat_get_kegfree(), which is
available for use if needed.  Since items free'd back to the keg are
not fully initialized, and hence may not actually be available (since
secondary zone ctor-time initialization can fail), this makes some
amount of sense.

This change corrects a bug made visible in the libmemstat(3)
modifications to netstat: mbufs freed back to the keg from the
packet zone would be counted twice, resulting in negative values
being printed in the mbuf free count.

Some further refinement of reporting relating to secondary zones may
still be required.

Reported by:	ssouhlal
MFC after:	3 days
2005-07-20 09:17:40 +00:00
ume
b8e17ef763 update comments:
- RFC2292bis -> RFC3542
  - typo fixes

Submitted by:	Keiichi SHIMA <keiichi__at__iijlab.net>
Obtained from:	KAME
2005-07-20 08:59:45 +00:00
jeff
1b2743636c - Allow vnlru to drop giant if the filesystem does not require it. The
vnlru proc is extremely inefficient, potentially iteration over tens of
   thousands of vnodes without blocking.  Droping Giant allows other threads
   to preempt us although we should revisit the algorithm to fix the runtime
   problems especially since this may hold up all vnode allocations.
 - Remove the LK_NOWAIT from the VOP_LOCK in vlrureclaim.  This provides
   a natural blocking point to help alleviate the situation described above
   although it may not technically be desirable.
 - yield after we make a pass on all mount points to prevent us from
   blocking other threads which require Giant.

MFC after:	2 weeks
2005-07-20 01:43:27 +00:00
jcamou
97b7bcd777 Mention that it is possible to have jails
started at boot time if specified in
/etc/rc.conf.

PR:		docs/81040
Submitted by:	matteo
Approved by:	trhodes (mentor)
MFC after:	1 week
2005-07-20 00:32:01 +00:00
imp
bb48aae2f2 Spell destroy in a more traditional way 2005-07-19 22:26:44 +00:00
obrien
66b2171b38 Fix bug where GCC thought athlon-tbird had SSE support. 2005-07-19 21:53:22 +00:00