Commit Graph

115843 Commits

Author SHA1 Message Date
Xin LI
b147cf1db2 Deny to switch into banked video mode when it is not available. Some
users has reported corrupted display with old video cards.

Submitted by:	Michal Mertl <mime traveller cz>
2005-05-30 06:45:40 +00:00
Joseph Koshy
36c0fd9d0f Kernel hooks to support PMC sampling modes.
Reviewed by:	alc
2005-05-30 06:29:29 +00:00
Alan Cox
95eca142ec Eliminate aio_activeproc; it's unused. 2005-05-30 05:25:10 +00:00
Scott Long
e39e116ca2 malloc.h relies on param.h for a definition of MAXCPU. I guess that there is
other header pollution that makes this work right now, but it falls over when
doing a RELENG_5 -> HEAD upgrade.
2005-05-30 05:01:44 +00:00
Robert Watson
2c075601cd Correct mistake in previous commit: add 'bsm' to LDIRS not LSUBDIRS.
Pointy hat:	over here, please
2005-05-30 01:06:29 +00:00
Marcel Moolenaar
470cd51ee6 Create nexus in configure_first() instead of in configure(). This
makes sure that sysinit tasks that run after configure_first(),
but before configure() have a nexus to hang devices off.
2005-05-29 23:44:22 +00:00
Seigo Tanimura
7b7c2c20d4 s/-1000/BUS_PROBE_LOW_PRIORITY/
Pointed out by:	nyan
2005-05-29 23:22:23 +00:00
Marcel Moolenaar
ba64ae0c94 Call cninit_finish() from configure_final(). 2005-05-29 22:53:48 +00:00
Marcel Moolenaar
a0c51afb16 Call cninit_finish() in configure_final(). 2005-05-29 22:48:41 +00:00
Marcel Moolenaar
e085487fe8 Call cninit_finish() and set cold to 0 in configure_final() instead
of in configure(). Call cninit_finish() before setting cold to 0.
This is how it's done for other platforms. Be alike to avoid problems.
2005-05-29 22:45:36 +00:00
Marcel Moolenaar
0ceee7d758 o Call cninit_finish() in configure_final().
o  Remove unused and compiled-out code while here.
2005-05-29 22:42:27 +00:00
Maxim Sobolev
55f88dd25e Make bzip2 support working again after bzip2 upgrade. This time commit
BZ_NO_COMPRESS support to the bzip2 sources directly (yes, this takes file
off the vendor branch, but looks like bzip2 maintainer doesn't care), so that
it will not be removed when the next upgrade is performed. Also, add a short
note on how to test bzip2 support.

Pointy hat to:  obrien

Correct comment (libz -> libbz2) and remove useless full path to zutil.h
while I am here.
2005-05-29 21:56:38 +00:00
Alan Cox
8484b5e66c Eliminate aio_bufjobs; it's unused. 2005-05-29 21:29:15 +00:00
Simon L. B. Nielsen
9e56be4c64 Catch up with s/dev_t/struct cdev */. 2005-05-29 21:23:50 +00:00
Robert Watson
2ec4389f6c White space normalization: use tabs instead of spaces before and after
the system call type field.
2005-05-29 21:06:56 +00:00
Maxim Sobolev
422d5081e1 Add missed ${.CURDIR}/../../contrib/bzip2 into include search path, otherwise
old version of bzlib.h can be picked up from the /usr/include.
2005-05-29 21:05:58 +00:00
Robert Watson
45cb0a0074 Normalize white space in syscalls.master: try to use tabs before system
call types.
2005-05-29 20:20:16 +00:00
Robert Watson
8347dc9b60 Add a new field, sy_auevent, to the system call entry description
structure, sysent.  This field will hold the default audit event
to generate when the system call is entered.  Currently, it will
default to 0 due to allocation in bss.

Submitted by:	wsalamon
Obtained from:	TrustedBSD Project
2005-05-29 20:08:39 +00:00
Poul-Henning Kamp
98500a3693 Hand it to spaff, he knows how to say it:
Using encryption on the Internet is the equivalent of arranging
an armoured car to deliver credit card information from someone
living in a cardboard box to someone living on a park bench.
		-- Gene Spafford, Purdue University.
2005-05-29 19:29:19 +00:00
Sam Leffler
c5b7d8556a bump version for libpcap (+tcpdump) import 2005-05-29 19:15:34 +00:00
Sam Leffler
3a9ae5b3af update after import of v3.9.1-096
Reviewed by:	bms
2005-05-29 19:11:21 +00:00
Sam Leffler
c1ad1296ec resolve merge conflicts and update for proper build; including:
o print-fr.c returned to code on vendor branch
o remove pmap_prot.h include from print-sunrprc.c
o remove gcc/i386-specific ntoh* write-arounds from tcpdump-stdinc.h

Reviewed by:	bms
2005-05-29 19:09:28 +00:00
Sam Leffler
3d1038b8ce This commit was generated by cvs2svn to compensate for changes in r146775,
which included commits to RCS files with non-trunk default branches.
2005-05-29 18:24:21 +00:00
Sam Leffler
d93a098204 Virgin import of tcpdump v3.9.1 (alpha 096) from tcpdump.org 2005-05-29 18:24:21 +00:00
Sam Leffler
233f3abd96 This commit was generated by cvs2svn to compensate for changes in r146773,
which included commits to RCS files with non-trunk default branches.
2005-05-29 18:17:16 +00:00
Sam Leffler
1de50e9f41 Virgin import of tcpdump v3.9.1 (alpha 096) from tcpdump.org 2005-05-29 18:17:16 +00:00
Sam Leffler
0b27443f51 update for import of v0.9.1-096 2005-05-29 18:12:46 +00:00
Sam Leffler
c761ebcb2c resolve merge conflicts
Reviewed by:	bms (earlier version)
2005-05-29 18:09:04 +00:00
Sam Leffler
0a71d148de This commit was generated by cvs2svn to compensate for changes in r146768,
which included commits to RCS files with non-trunk default branches.
2005-05-29 17:46:52 +00:00
Sam Leffler
04fb274578 Virgin import of libpcap v0.9.1 (alpha 096) from tcpdump.org 2005-05-29 17:46:52 +00:00
Jens Schweikhardt
1d91c0f538 Chop a '>' in a feature name (RSVD2>) that snuck in;
this now balances the <> flags displayed at boot, e.g. without this
Features2=0x41d<SSE3,RSVD2>,MON,DS_CPL,CNTX-ID>

MFC after:	1 week
2005-05-29 17:43:24 +00:00
Robert Watson
a6f33be201 Due to a last minute change in the #ifdefing in malloc.h before committing,
a nested include of param.h is required so that MAXCPU is visible to all
consumers of sys/malloc.h.  In an earlier version of the patch, the
malloc_type_internal structure was only conditionally visible.

Pointed out by:	delphij
2005-05-29 17:27:52 +00:00
Xin LI
466e103c7d Constify savedir pointer, and remove an accompaning strdup() call. 2005-05-29 16:28:07 +00:00
Robert Watson
19fb720da7 Add /usr/include/bsm to mtree creation set.
Submitted by:	wsalamon
Obtained from:	TrustedBSD Project
2005-05-29 16:18:29 +00:00
Robert Watson
62fdab9284 Do install BSM include files (such as they are) when installing system
includes.

Submitted by:	wsalamon
Obtained from:	TrustedBSD Project
2005-05-29 16:17:00 +00:00
Robert Watson
38e5b60d5d For consistency with more system include files, add a trailing '_' to
the define guards in audit_kevents.h.
2005-05-29 16:11:34 +00:00
Robert Watson
8f0aaac907 Add place-holder audit.h that defines only au_event_t, which is needed
in order to modify the system call table to include event identifiers.
The full audit.h will be merged at a later date.

Obtained from:	TrustedBSD Project
2005-05-29 16:10:33 +00:00
Philippe Charnier
8a1dff0c73 Give variable an initial value. Use errx() instead of fprintf(). 2005-05-29 16:07:10 +00:00
Philippe Charnier
865059c8a8 Reduce compiler warning: variable might be used uninitialized, by giving
an initial value.
2005-05-29 16:04:46 +00:00
Philippe Charnier
ce2657c007 Even if variable is never used uninitialized by the semantic, reduce compiler
warning by giving an initial value in all cases.
2005-05-29 16:01:12 +00:00
Philippe Charnier
35a974fdb8 rscid -> __FBSDID. Mark parameter as __unused when necessary. 2005-05-29 15:57:00 +00:00
Philippe Charnier
8a9d84b4a6 Move variable initialization to reduce compiler warning. 2005-05-29 15:52:48 +00:00
Philippe Charnier
a8cf0aaf75 Reduce compiler warning: variable might be used uninitialized, by giving
an initial value.
2005-05-29 15:49:53 +00:00
Philippe Charnier
0bf92eb85e Move FreeBSD Id outside of copyright. Initialize variable. 2005-05-29 15:47:31 +00:00
Tai-hwa Liang
905ff382d1 Typo correction. 2005-05-29 14:56:51 +00:00
Robert Watson
147819cc85 Modify vmstat(8)'s domem() routine, which is responsible for extracting
malloc(9) statistics from kernel memory or a kernel coredump, to catch
up with recent changes to adopt per-CPU malloc(9) statistics.  The new
routines walk the per-CPU statistics pools and coalesce them for
presentation to the user.
2005-05-29 13:40:00 +00:00
Robert Watson
63a7e0a3f9 Kernel malloc layers malloc_type allocation over one of two underlying
allocators: a set of power-of-two UMA zones for small allocations, and the
VM page allocator for large allocations.  In order to maintain unified
statistics for specific malloc types, kernel malloc maintains a separate
per-type statistics pool, which can be monitored using vmstat -m.  Prior
to this commit, each pool of per-type statistics was protected using a
per-type mutex associated with the malloc type.

This change modifies kernel malloc to maintain per-CPU statistics pools
for each malloc type, and protects writing those statistics using critical
sections.  It also moves to unsynchronized reads of per-CPU statistics
when generating coalesced statistics.  To do this, several changes are
implemented:

- In the previous world order, the statistics memory was allocated by
  the owner of the malloc type structure, allocated statically using
  MALLOC_DEFINE().  This embedded the definition of the malloc_type
  structure into all kernel modules.  Move to a model in which a pointer
  within struct malloc_type points at a UMA-allocated
  malloc_type_internal data structure owned and maintained by
  kern_malloc.c, and not part of the exported ABI/API to the rest of
  the kernel.  For the purposes of easing a possible MFC, re-use an
  existing pointer in 'struct malloc_type', and maintain the current
  malloc_type structure size, as well as layout with respect to the
  fields reused outside of the malloc subsystem (such as ks_shortdesc).
  There are several unused fields as a result of no longer requiring
  the mutex in malloc_type.

- Struct malloc_type_internal contains an array of malloc_type_stats,
  of size MAXCPU.  The structure defined above avoids hard-coding a
  kernel compile-time value of MAXCPU into kernel modules that interact
  with malloc.

- When accessing per-cpu statistics for a malloc type, surround read -
  modify - update requests with critical_enter()/critical_exit() in
  order to avoid races during write.  The per-CPU fields are written
  only from the CPU that owns them.

- Per-CPU stats now maintained "allocated" and "freed" counters for
  number of allocations/frees and bytes allocated/freed, since there is
  no longer a coherent global notion of the totals.  When coalescing
  malloc stats, accept a slight race between reading stats across CPUs,
  and avoid showing the user a negative allocation count for the type
  in the event of a race.  The global high watermark is no longer
  maintained for a malloc type, as there is no global notion of the
  number of allocations.

- While tearing up the sysctl() path, also switch to using sbufs.  The
  current "export as text" sysctl format is retained with the same
  syntax.  We may want to change this in the future to export more
  per-CPU information, such as how allocations and frees are balanced
  across CPUs.

This change results in a substantial speedup of kernel malloc and free
paths on SMP, as critical sections (where usable) out-perform mutexes
due to avoiding atomic/bus-locked operations.  There is also a minor
improvement on UP due to the slightly lower cost of critical sections
there.  The cost of the change to this approach is the loss of a
continuous notion of total allocations that can be exploited to track
per-type high watermarks, as well as increased complexity when
monitoring statistics.

Due to carefully avoiding changing the ABI, as well as hardening the ABI
against future changes, it is not necessary to recompile kernel modules
for this change.  However, MFC'ing this change to RELENG_5 will require
also MFC'ing optimizations for soft critical sections, which may modify
exposed kernel ABIs.  The internal malloc API is changed, and
modifications to vmstat in order to restore "vmstat -m" on core dumps will
follow shortly.

Several improvements from:		bde
Statistics approach discussed with:	ups
Tested by:				scottl, others
2005-05-29 13:38:07 +00:00
Marius Strobl
80afb03ba1 Add vr_init_t member to sc_rndr_sw_t instances in order to unbreak
compilation after sys/dev/syscons/syscons.h rev. 1.83.
2005-05-29 12:47:39 +00:00
Gleb Smirnoff
bbc8878e6d Fix check for leading zero, so that it does not block two zeroes
in hook name.
2005-05-29 12:20:41 +00:00
Yoshihiro Takahashi
6fd53a4f81 Sync with syscons update (Add new member to struct sc_rndr_sw). 2005-05-29 11:53:14 +00:00