Commit Graph

88040 Commits

Author SHA1 Message Date
rwatson
68d9c43724 Add a new kernel option, MALLOC_MAKE_FAILURES, which compiles
in a debugging feature causing M_NOWAIT allocations to fail at
a specified rate.  This can be useful for detecting poor
handling of M_NOWAIT: the most frequent problems I've bumped
into are unconditional deference of the pointer even though
it's NULL, and hangs as a result of a lost event where memory
for the event couldn't be allocated.  Two sysctls are added:

debug.malloc.failure_rate

  How often to generate a failure: if set to 0 (default), this
  feature is disabled.  Otherwise, the frequency of failures --
  I've been using 10 (one in ten mallocs fails), but other
  popular settings might be much lower or much higher.

debug.malloc.failure_count

  Number of times a coerced malloc failure has occurred as a
  result of this feature.  Useful for tracking what might have
  happened and whether failures are being generated.

Useful possible additions: tying failure rate to malloc type,
printfs indicating the thread that experienced the coerced
failure.

Reviewed by:	jeffr, jhb
2003-03-26 20:18:40 +00:00
ps
1fc4964a6e Nuke HTT from here too.
Spotted by:	jhb
2003-03-26 19:55:03 +00:00
ps
26fe456f21 Nuke options HTT infavor of machdep.hlt_logical_cpus tunable/sysctl.
This keeps the logical cpu's halted in the idle loop.  By default
the logical cpu's are halted at startup.  It is also possible to
halt any cpu in the idle loop now using machdep.hlt_cpus.

Examples of how to use this:
machdep.hlt_cpus=1	halt cpu0
machdep.hlt_cpus=2	halt cpu1
machdep.hlt_cpus=4	halt cpu2
machdep.hlt_cpus=3	halt cpu0,cpu1

Reviewed by:	jhb, peter
2003-03-26 19:49:34 +00:00
peter
0511e210cb Halt the cpus in the idle loop for SMP as well for several reasons:
1) Its critical for HTT.  There's less foot-shooting opportunity.
2) I've seen significant improvements in interactive response to commands
over ssh sessions.  I assume this is less lock contention.
3) As incentive to finish the idle cpu IPI wakeup stuff.
4) The machine on my desk was blowing hot air in my general direction
because somebody forgot to turn the hlt on, and it saves 50 watts per
cpu..

The machdep.cpu_idle_hlt sysctl is still available, but now the default
is the same as on UP kernels.
2003-03-26 19:40:29 +00:00
rwatson
109543a3e5 Add O_NONBLOCK to the vn_open_cred() flags for NFS client locking when
opening the POSIX fifo; convert ENXIO error returns to EOPNOTSUPP.

This improves handling of the case where the /var/run/lock fifo exists
but there is no listener: we immediately return EOPNOTSUPP rather
than blocking until a listener turns up.  This could occur during a
diskless boot before rpc.lockd is loaded, or if the lock file persists
across a reboot following the disabling of rpc.lockd.  This may have
suddenly started to occur due to fifo blocking fixes--previously it
looks like attempts to read on a fifo with no listener would time out
due to insufficient resources.

Reviewed by:	alfred
2003-03-26 19:21:34 +00:00
tegge
d9da9de257 fp->f_offset doesn't need any protection when it isn't accessed. 2003-03-26 19:21:12 +00:00
tegge
5a1c871266 Obtain Giant before calling kmem_alloc without M_NOWAIT and before calling
kmem_free if Giant isn't already held.
2003-03-26 18:44:53 +00:00
jhb
72a1a2619c Add a cleanup function to destroy the osname_lock and call it on module
unload.

Submitted by:	gallatin
Reported by:	Martin Karlsson <mk-freebsd@bredband.net>
2003-03-26 18:29:44 +00:00
kan
ea2de33c6b This commit was generated by cvs2svn to compensate for changes in r112680,
which included commits to RCS files with non-trunk default branches.
2003-03-26 18:12:01 +00:00
scottl
d1aad9d09f Begin support for 64-bit address support and workarounds for newer cards:
- Add data structuress for doing 64-bit scatter/gather
	- Move busdma tag creations around so that only the parent is
	  created in aac_pci.c.
	- Retrieve the capabilities word from the firmware before setting
	  up command structures and tags. This allows the driver to decide
	  whether to do 64-bit commands, and if work-arounds are needed for
	  systems with >2GB of RAM.
	- Only enable the SCSI passthrough if it's enabled in the capabilities
	  word in the firmware.

This should fix problems with the 2120S and 2200S cards in systems with more
than 2GB of RAM.  Full 64-bit support is forthcoming.

MFC-After:	1 week
2003-03-26 17:50:11 +00:00
ume
5fcb866f5f made sure to keep the current stored lifetime when it was not updated
by an RA.
(a detailed description of this issue is found at the following URL.)
http://www.tahi.org/report/freebsd/freebsd48-rc2-20030316/host/lcna-stateless-addrconf/38.html

Reported by:	Ozoe Nobumichi <ozoe@tahi.org>
		through a periodic TAHI test
Submitted by:	JINMEI Tatuya <jinmei@isl.rdc.toshiba.co.jp>
Obtained from:	KAME
2003-03-26 17:37:35 +00:00
keramida
194bdafb2c Fix typo in the version of the diff that I committed.
Submitted by:	Simon L. Nielsen <simon@nitro.dk>
2003-03-26 17:32:45 +00:00
ume
0a410e4e75 tightened check for the length of ND options.
Submitted by:	jinmei@kame.net (JINMEI Tatuya)
Obtained from:	KAME
2003-03-26 17:28:47 +00:00
rwatson
e5680de54a Modify the mac_init_ipq() MAC Framework entry point to accept an
additional flags argument to indicate blocking disposition, and
pass in M_NOWAIT from the IP reassembly code to indicate that
blocking is not OK when labeling a new IP fragment reassembly
queue.  This should eliminate some of the WITNESS warnings that
have started popping up since fine-grained IP stack locking
started going in; if memory allocation fails, the creation of
the fragment queue will be aborted.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-03-26 15:12:03 +00:00
mux
8b9c7fb58f Correct comment, MSIZE and MCLBYTES are defined in sys/param.h
and not in machine/param.h.
2003-03-26 10:35:31 +00:00
ume
19228f1dbe Don't install wrong IPv6 route by add command. 2003-03-26 06:30:11 +00:00
orion
24e75d3601 Re-work ac97 initialization to match cold reset described in AC97r.23
and be prepared to wait much longer for codec to become ready.

Credit to Hugo D. Valentim <hvalentim@gmx.net> for reporting the
problem, providing useful pointers, and repeated diff testing.
2003-03-26 06:11:36 +00:00
orion
37d7dbbe56 For the VIA8233A use multi-sgd register set for primary playback
channel and disable DXS3.  Several users have reported DXS3 as playing
at half speed on the 8233A revision of the chipset.  This implicitly
means no SPDIF for VIA8233A users.
2003-03-26 05:51:13 +00:00
mdodd
c72d68b132 - Fix function declarations.
- Provide function prototypes.

Submitted by:	 trhodes
2003-03-26 05:49:42 +00:00
orion
89673eaab2 Add defines for low power and second codec ready. 2003-03-26 05:35:38 +00:00
ken
70bd0898d6 Clean up dynamically allocated sysctl variables when we run dacleanup() and
cdcleanup().  This fixes sysctl problems ("can't re-use a leaf") when
someone adds another peripheral at the same unit number.  (e.g. rescan da0,
it goes away, then rescan again and da0 comes back, but since we haven't
cleaned up the sysctl variables from the last da0 instance, we can't
register the variables for the new instance under the same name.)

Reported by:	njl
Tested by:	njl
2003-03-26 04:38:39 +00:00
mdodd
b29b2ea566 Get rid of a few caddr_t's.
Submitted by:	 trhodes
2003-03-26 04:17:13 +00:00
mdodd
d505774b05 asn_get_encoded() takes 2 arguments. 2003-03-26 04:02:51 +00:00
jeff
b16324e722 - Define a _spinunlock() function so that threading implementations may do
more complicated things than just setting the lock to 0.
 - Implement stubs for this function in libc and the two threading libraries
   that are currently in the tree.
2003-03-26 04:02:24 +00:00
mdodd
e83d116ac9 Retire set_reqid(), unused since 1.2. 2003-03-26 03:41:12 +00:00
mdodd
0464bc4358 - Add const qualifier to char * arrays.
- Retire Traps array; this was obsoleted in 1.2
2003-03-26 03:19:56 +00:00
mdodd
0896fe2d51 Don't roll a private copy of basename(). 2003-03-26 02:54:56 +00:00
keramida
6c8beacd7d Explain the format of the at.allow and at.deny files in detail.
PR:		35942
Submitted by:	Gary W. Swearingen <swear@blarg.net>
2003-03-26 02:38:18 +00:00
brian
ba277a3e14 Passing a u_char to ntohs() is guaranteed to give the wrong answer !
Submitted by:	Francis Dupont <Francis.Dupont@enst-bretagne.fr>
2003-03-26 02:27:32 +00:00
brian
a3b7ff0585 Add a ``force-scripts'' option for using chat scripts with -direct and
-dedicated links.

Submitted by:	Maksim Yevmenkin <myevmenk@exodus.net>
2003-03-26 02:03:08 +00:00
keramida
e182583687 Document the undcumnt -l option (that's a lowercase `el').
PR:		48466
Submitted by:	Peter Philipp <dot.bomb@freenet.de>
2003-03-26 02:00:35 +00:00
alfred
5fb77f7c70 req can not be NULL or we'd die.
Sponsored by: RED
2003-03-26 01:46:11 +00:00
keramida
cc265842d3 Document the MAIL_AGENT environment var.
PR:		48277
Submitted by:	Stefan Walter <sw@gegenunendlich.de>
2003-03-26 01:45:20 +00:00
keramida
5ded06e352 Document mountd_flags.
PR:		50023
Submitted by:	Simon L.Nielsen <simon@nitro.dk>
2003-03-26 01:39:29 +00:00
keramida
872a3a449b Update amr(4) to note that LSILogic MegaRAID 320-[1/2] cards work.
PR:		50139
Submitted by:	asmodai
2003-03-26 01:34:23 +00:00
keramida
936ff7b73e There are 5 securelevels, not 4.
PR:		docs/50049
Submitted by:	Colin Percival <cperciva@sfu.ca>
2003-03-26 01:30:34 +00:00
keramida
1fa8c106ee Add missing Danish (doc/da_*) language doc subdirectory
PR:		docs/50290
Submitted by:	Sergei Kolobov <sergei@kolobov.com>
2003-03-26 01:25:39 +00:00
mux
d63525df51 Try to make the MBUF_FRAG_TEST code work better.
- Don't try to fragment the packet if it's smaller than mbuf_frag_size.
- Preserve the size of the mbuf chain which is modified by m_split().
- Check that m_split() didn't return NULL.
- Make it so we don't end up with two M_PKTHDR mbuf in the chain.
- Use m->m_pkthdr.len instead of m->m_len so that we fragment the whole
  chain and not just the first mbuf.
- Fix a nearby style bug and rework the logic of the loops so that it's
  more clear.

This is still not quite right, because we're clearly abusing m_split() to
do something it was not designed for, but at least it works now.  We
should probably move this code into a m_fragment() function when it's
correct.
2003-03-25 23:49:14 +00:00
jhb
77e623bc9a Add an options entry for HTT in SMP and GENERIC similar to the SMP and
APIC_IO options.

Requested by:	John Cagle <john.cagle@hp.com>
2003-03-25 23:31:14 +00:00
jhb
a5fbdf69df Put a newline in between APIC_IO and HTT to try and show that HTT is not
mandatory.
2003-03-25 23:29:44 +00:00
mdodd
caabe1a193 - Replace hexdump() with a prettier version.
- Reformat log output.
- Consolidate PDU printing code into print_pdu().
2003-03-25 22:22:19 +00:00
silby
dc7f6e718f Update the description of the -u option to mention that IP_PORTRANGE_HIGH
and _DEFAULT are the same for 5.x.

Committed under threat of action from:	The mdoc police
2003-03-25 22:20:02 +00:00
scottl
61ec89edc4 aic79xx.reg:
Correct default precompensation value for RevA hardware.
2003-03-25 22:16:27 +00:00
mdodd
0c8aecd9f9 Set pdu->pdulen in build_pdu(). 2003-03-25 22:10:01 +00:00
mdodd
870e122334 Don't compile in lmi_object_instance(). 2003-03-25 22:01:27 +00:00
mdodd
0c5a8e73cf - Handle the 'GET PREFIX' request.
- Deal with MADGE_OBJECT1 requests.
- Move code inside of switch cases to separate functions.

Submitted by:	 Richard Hodges <rh@matriplex.com>
2003-03-25 20:34:46 +00:00
mdodd
4ca84e8b5a Correct a comment.
Submitted by:	 Richard Hodges <rh@matriplex.com>
2003-03-25 20:25:05 +00:00
mdodd
1afb56720c - Add a comment regarding SETPFX_OBJID
- Add an Objid definition for MADGE_OBJECT1
- Add an array to map ilmi_states to ASCII descriptions.

Submitted by:	 Richard Hodges <rh@matriplex.com>
2003-03-25 20:22:02 +00:00
olgeni
9fbdf6359f Whitespace: wrap paragraph before column 80 (no content changes).
Approved by:	bmah
2003-03-25 20:21:20 +00:00
olgeni
1db1d272a8 Some spelling fixes.
Approved by:	bmah
2003-03-25 20:18:37 +00:00