119028 Commits

Author SHA1 Message Date
sam
5e485325d2 MFC 1.130: use ath_hal_gettxintrtxqs so we only process h/w tx
queues that have an interrupt pending

Approved by:	re (mux)
2006-03-10 22:08:07 +00:00
sam
ef9503e74b MFC 1.115: explain what list chan displays
Approved by:	re (scottl, hrs)
2006-03-10 22:05:53 +00:00
sam
317f898447 MFC: sync with HEAD
Approved by:	re (scottl, hrs)
2006-03-10 22:04:07 +00:00
jhb
025e3d0a95 MFC: Split struct ithd into struct intr_thread and intr_event and
associated changes.  More details below:

  Remove public declarations of variables that were forgotten when they were
  made static.

  Revision  Changes    Path
  1.31      +0 -1      src/sys/sys/interrupt.h

  Make sure the interrupt is masked before processing it, or bad things
  can happen.

  Revision  Changes    Path
  1.10      +3 -3      src/sys/arm/arm/intr.c

  Reorganize the interrupt handling code a bit to make a few things cleaner
  and increase flexibility to allow various different approaches to be tried
  in the future.
  - Split struct ithd up into two pieces.  struct intr_event holds the list
    of interrupt handlers associated with interrupt sources.
    struct intr_thread contains the data relative to an interrupt thread.
    Currently we still provide a 1:1 relationship of events to threads
    with the exception that events only have an associated thread if there
    is at least one threaded interrupt handler attached to the event.  This
    means that on x86 we no longer have 4 bazillion interrupt threads with
    no handlers.  It also means that interrupt events with only INTR_FAST
    handlers no longer have an associated thread either.
  - Renamed struct intrhand to struct intr_handler to follow the struct
    intr_foo naming convention.  This did require renaming the powerpc
    MD struct intr_handler to struct ppc_intr_handler.
  - INTR_FAST no longer implies INTR_EXCL on all architectures except for
    powerpc.  This means that multiple INTR_FAST handlers can attach to the
    same interrupt and that INTR_FAST and non-INTR_FAST handlers can attach
    to the same interrupt.  Sharing INTR_FAST handlers may not always be
    desirable, but having sio(4) and uhci(4) fight over an IRQ isn't fun
    either.  Drivers can always still use INTR_EXCL to ask for an interrupt
    exclusively.  The way this sharing works is that when an interrupt
    comes in, all the INTR_FAST handlers are executed first, and if any
    threaded handlers exist, the interrupt thread is scheduled afterwards.
    This type of layout also makes it possible to investigate using interrupt
    filters ala OS X where the filter determines whether or not its companion
    threaded handler should run.
  - Aside from the INTR_FAST changes above, the impact on MD interrupt code
    is mostly just 's/ithread/intr_event/'.
  - A new MI ddb command 'show intrs' walks the list of interrupt events
    dumping their state.  It also has a '/v' verbose switch which dumps
    info about all of the handlers attached to each event.
  - We currently don't destroy an interrupt thread when the last threaded
    handler is removed because it would suck for things like ppbus(8)'s
    braindead behavior.  The code is present, though, it is just under
    #if 0 for now.
  - Move the code to actually execute the threaded handlers for an interrrupt
    event into a separate function so that ithread_loop() becomes more
    readable.  Previously this code was all in the middle of ithread_loop()
    and indented halfway across the screen.
  - Made struct intr_thread private to kern_intr.c and replaced td_ithd
    with a thread private flag TDP_ITHREAD.
  - In statclock, check curthread against idlethread directly rather than
    curthread's proc against idlethread's proc. (Not really related to intr
    changes)

  Tested on:      alpha, amd64, i386, sparc64
  Tested on:      arm, ia64 (older version of patch by cognet and marcel)

  Revision  Changes    Path
  1.88      +43 -29    src/sys/alpha/alpha/interrupt.c
  1.38      +5 -5      src/sys/alpha/isa/isa.c
  1.16      +58 -52    src/sys/amd64/amd64/intr_machdep.c
  1.6       +1 -1      src/sys/amd64/include/intr_machdep.h
  1.16      +2 -2      src/sys/amd64/isa/atpic.c
  1.11      +28 -22    src/sys/arm/arm/intr.c
  1.462     +2 -2      src/sys/dev/sio/sio.c
  1.6       +1 -1      src/sys/dev/uart/uart_kbd_sun.c
  1.24      +2 -2      src/sys/dev/uart/uart_tty.c
  1.15      +58 -52    src/sys/i386/i386/intr_machdep.c
  1.8       +1 -1      src/sys/i386/include/intr_machdep.h
  1.21      +2 -2      src/sys/i386/isa/atpic.c
  1.52      +32 -25    src/sys/ia64/ia64/interrupt.c
  1.180     +3 -2      src/sys/kern/kern_clock.c
  1.127     +437 -270  src/sys/kern/kern_intr.c
  1.206     +0 -1      src/sys/kern/subr_witness.c
  1.6       +3 -3      src/sys/powerpc/include/intr_machdep.h
  1.7       +35 -32    src/sys/powerpc/powerpc/intr_machdep.c
  1.14      +1 -1      src/sys/sparc64/include/intr_machdep.h
  1.24      +43 -36    src/sys/sparc64/sparc64/intr_machdep.c
  1.32      +36 -36    src/sys/sys/interrupt.h
  1.440     +1 -3      src/sys/sys/proc.h

  Catch up with interrupt-thread changes.

  Revision  Changes    Path
  1.32      +1 -1      src/sys/dev/zs/zs.c

  Catch up with new interrupt handling code.

  Revision  Changes    Path
  1.16      +3 -3      src/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c

  Catch up with new interrupt handling code.

  Revision  Changes    Path
  1.162     +2 -2      src/sys/dev/cy/cy.c
  1.101     +2 -2      src/sys/dev/rc/rc.c

  Catch up with new interrupt handling code.

  Revision  Changes    Path
  1.50      +2 -2      src/sys/dev/cx/if_cx.c
  1.41      +1 -1      src/sys/dev/sab/sab.c
  1.238     +2 -2      src/sys/pc98/cbus/sio.c

  Add a swi_remove() function to teardown software interrupt handlers.  For
  now it just calls intr_event_remove_handler(), but at some point it might
  also be responsible for tearing down interrupt events created via swi_add.

  Revision  Changes    Path
  1.128     +17 -0     src/sys/kern/kern_intr.c
  1.33      +1 -0      src/sys/sys/interrupt.h

  - Use swi_remove() to teardown swi handlers rather than
    intr_event_remove_handler().
  - Remove tty: prefix from a couple of swi handler names.

  Revision  Changes    Path
  1.51      +1 -1      src/sys/dev/cx/if_cx.c
  1.102     +2 -2      src/sys/dev/rc/rc.c
  1.42      +1 -1      src/sys/dev/sab/sab.c
  1.25      +1 -1      src/sys/dev/uart/uart_tty.c
  1.33      +1 -1      src/sys/dev/zs/zs.c
  1.17      +2 -2      src/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c

  Remove a stray return statement in the interrupt dispatch function
  that caused a premature exit after calling a fast interrupt handler
  and bypassing a much needed critical_exit() and the scheduling of
  the interrupt thread for non-fast handlers. In short: unbreak :-)

  Revision  Changes    Path
  1.53      +0 -1      src/sys/ia64/ia64/interrupt.c

  If we get a stray interrupt, return after logging it.  In the extremely
  rare case of a stray interrupt to an unregistered source (such as a stray
  interrupt from the 8259As when using APIC), this could result in a page
  fault when it tried to walk the list of interrupt handlers to execute
  INTR_FAST handlers.  This bug was introduced with the intr_event changes,
  so it's not present in 5.x or 6.x.

  Submitted by:   Mark Tinguely tinguely at casselton dot net

  Revision  Changes    Path
  1.17      +1 -0      src/sys/amd64/amd64/intr_machdep.c
  1.16      +1 -0      src/sys/i386/i386/intr_machdep.c

Approved by:	re (scottl)
2006-03-10 19:37:35 +00:00
sos
df6d640227 MFC
missed line in last commit
Approved by:    re@ (implicit)
2006-03-10 12:43:42 +00:00
sos
332e8a29dc MFC:
Only use the channel in the request given to ata_completed if its
still present.
Only look for ICRC and CORR errors on ATA devices not ATAPI.
Get rid of all the "long long"/"maxint" casting around in printf's.
On all our platforms intmax == int64_t so simply using %j to print
int64_t's is safe all over, and doesn't pullute the code.
Update atapi-fd to support direct devices such as disks.
ATAUSB will need to hook into the delayed boot identify to have
interrupts running, so externalize it.
Add USB modes.

Approved by: re@ (mux)
2006-03-10 12:30:08 +00:00
glebius
b418d99434 MFC 1.13:
Update URL at cisco.com.

Approved by:	re (mux)
2006-03-10 07:35:09 +00:00
glebius
1e815db058 MFC 1.65:
Correctly switch IFCAP_VLAN_HWTAGGING on and off.

Approved by:	re (mux)
2006-03-10 07:34:21 +00:00
yar
8c3ef7986c MFC:
Some years ago handling login.access(5) was moved from login(1) to
pam_login_access(8) completely and unconditionally.  This patch is
to finalize the move by deleting unused files and defines, and by
updating the manpages.  In addition, login.access.5 will be installed
from the pam_login_access src directory, to where it belongs and
where it has lived for quite a while, too.

Besides satisfying general purism, this patch should stop ongoing
attempts to fix the dead code.

Approved by:	re (mux)
2006-03-09 22:18:07 +00:00
yar
528a25636a MFC:
Move the functionality controlled by "options TDFX_LINUX"
from 3dfx.ko to a separate module, 3dfx_linux.ko.
The option is retained in RELENG_6 for POLA reasons
while it has been turned into "device tdfx_linux" in HEAD.

Approved by:	re (scottl)
2006-03-09 21:51:00 +00:00
mjacob
1c024f228c MFC 1.4 to make sure the ioctl doesn't get smushed.
Approved by:	re@freebsd.org
2006-03-09 21:43:10 +00:00
ume
cb5a21a2d4 MFC 1.15: Remove trailing dot from the servername in the serverlist to
be able to use portsnap from behind a http proxy.  Some HTTP proxy
don't like trailing dot in the servername.

Approved by:	re (hrs)
2006-03-09 17:10:33 +00:00
ume
d1fb7619c6 MFC 1.9: Correct handling of HTTP_PROXY_AUTH. A password may have `:'.
Approved by:	 re (hrs)
2006-03-09 17:08:41 +00:00
glebius
8ddb67d972 MFC 1.127:
- Do not leak read lock in IP_FW_TABLE_GETSIZE case of ipfw_ctl().
  - Acquire read (not write) lock in case of IP_FW_TABLE_LIST.

Approved by:	re (hrs)
2006-03-09 13:42:44 +00:00
delphij
a77875cef3 MFC recent locale changes for both Simplified and Traditional
Chinese, so that applications like tcsh(1) can handle them
properly.

Approved by:	re (hrs)
2006-03-09 12:48:36 +00:00
gnn
d6e8824dad Merge manual pages from HEAD to RELENG_6
1.21      src/lib/libipsec/ipsec_set_policy.3
1.14      src/lib/libipsec/ipsec_strerror.3
1.17,1.18 src/share/man/man4/ipsec.4

Clean up some descriptions and remove ambiguities in the language.
Add explanations to the examples.

Approved by: re (scottl)
2006-03-09 12:41:34 +00:00
gnn
05eae11405 Merge in6.c:1.60 from HEAD to RELENG_6
Fix for an inappropriate bzero of the ICMPv6 stats.  The code was zero'ing the wrong structure member but setting the correct one.

Submitted by:   James dot Juran at baesystems dot com
Approved by: re (scottl)
2006-03-09 11:59:03 +00:00
brueffer
b516f2fc6f MFC: rev. 1.30
Remove a useless word.

Approved by:	re (hrs)
2006-03-09 09:18:52 +00:00
ume
b50d2d1850 MFC: Revert `proto ip' back to the previous behavior. The kernel side of
ipfw2 doesn't allow zero as protocol number.

	sbin/ipfw/ipfw.8:	1.186
	sbin/ipfw/ipfw2.c:	1.85

Approved by:	re (mux)
2006-03-09 09:18:37 +00:00
ume
d9e0ace474 MFC 1.210:
- Reduce needless DNS query by lookup only appropriate address
  family.
- Specify appropriate hints to getaddrinfo(3).
- Obtain address family from peername in inetd mode.

Approved by:	re (mux)
2006-03-09 09:15:34 +00:00
brueffer
020b1b68e4 MFC: rev. 1.29
DDB depends on KDB for some time now.

Approved by:	re (hrs)
2006-03-09 09:14:23 +00:00
ume
faaa6758db MFC: Handle the errors returned by res_querydomain() in same manner.
lib/libc/net/getaddrinfo.c:	1.72
	lib/libc/net/res_query.c:	1.32

Approved by:	 re (mux)
2006-03-09 09:06:44 +00:00
thompsa
fba5f61aed MFC bridgestp.c r1.12, if_bridgevar.h r1.11
Add a timer to periodically check the interface state.

Approved by:	re (scottl)
2006-03-09 08:21:19 +00:00
matteo
d38d9c84d6 MFC: Enhance loginfail: it will catch sshd, proftpd and su errors, as well as other programs
PR:		conf/70973
Approved by:	re (hrs)
2006-03-09 06:55:36 +00:00
matteo
11adeb7777 MFC: Document ldconfig32_paths
PR:	amd64/91571
Approved by:	re (hrs)
2006-03-09 06:54:05 +00:00
matteo
b69d57c403 MFC: Add a default ldconfig32_paths entry in default/rc.conf for 32-bit compatibility shared libraries.
It is used by the ldconfig rc.d scripts.

PR:		amd64/91571
Approved by:	re (hrs)
2006-03-09 06:52:39 +00:00
tegge
206e5d3ace MFC: Don't set IN_CHANGE and IN_UPDATE on inodes for potentially suspended
file systems.  This could cause deadlocks when creating snapshots.

Approved by:	re (mux)
2006-03-09 00:21:23 +00:00
tegge
7d50ddd92e MFC: Eliminate a deadlock when creating snapshots. Blocking
vn_start_write() must be called without any vnode locks held.
     Remove calls to vn_start_write() and vn_finished_write() in
     vnode_pager_putpages() and add these calls before the vnode lock
     is obtained to most of the callers that don't already have them.

Approved by:	re (mux)
2006-03-09 00:18:45 +00:00
tegge
329a13b6d7 MFC: Hold extra reference to vm object while cleaning pages.
Ignore dirty pages owned by "dead" objects.

Approved by:	re (mux)
2006-03-09 00:07:35 +00:00
tegge
ca00351165 MFC: Don't try to show marker nodes.
Approved by:	re (mux)
2006-03-09 00:04:27 +00:00
tegge
871ed2943c MFC: Expand scope of marker to reduce the number of page queue scan restarts.
Approved by:	re (mux)
2006-03-09 00:02:51 +00:00
tegge
816296ec32 MFC: Check return value from nonblocking call to vn_start_write().
Approved by:	re (mux)
2006-03-09 00:01:29 +00:00
tegge
8fa2a5cdd2 MFC: Rounding addr upwards to next 4M or 2M boundary in pmap_growkernel()
could cause addr to become 0, resulting in an early return without
     populating the last PDE.

Approved by:	re (mux)
2006-03-08 23:59:41 +00:00
tegge
f3859919e3 MFC: For low memory situations, non-VMIO buffers didnt't release pages back
to the system when brelse() was called with B_RELBUF set on the buffer.
     This could be a problem when the system was low on memory, had many
     buffers on QUEUE_EMPTYKVA and started to traverse directories.  For
     each getnewbuf(), pages were allocated from the system, driving the
     free reserve downwards. For each brelse(), the system put the buffer
     on QUEUE_CLEAN, with B_INVAL set.

     This commit changes the semantics of B_RELBUF to also free pages from
     non-VMIO buffers.

Approved by:	re (mux)
2006-03-08 23:57:07 +00:00
tegge
d69ff42e3b MFC: Don't access fs->first_object after dropping reference to it.
The result could be a missed or extra giant unlock.

Approved by:	re (mux)
2006-03-08 23:53:39 +00:00
kris
733d0eda70 MFC:
----------------------------
revision 1.101
date: 2006/02/28 00:05:44;  author: kris;  state: Exp;  lines: +2 -4
Correct the vnode locking in fdescfs.

PR:             kern/93905
Submitted by:   Kostik Belousov <kostikbel@gmail.com>
Reviewed by:    jeff
----------------------------

Approved by:	re (mux)
2006-03-08 23:06:07 +00:00
brueffer
ef49901254 MFC: rev. 1.57 - 1.59
Document the ataraid(8), gmirror(8), graid3(8), gstripe(8) and gconcat(8)
periodic scripts.

Approved by:	re (mux)
2006-03-08 23:03:12 +00:00
brueffer
565cbd1985 MFC: rev. 1.34 + 1.37
Add the gmirror(8), graid3(8), gstripe(8) and gconcat(8) status scripts,
default is "off".

Approved by:	re (mux), rwatson (mentor)
2006-03-08 23:01:18 +00:00
brueffer
ffd80e9451 MFC: rev. 1.13 + 1.14
Add periodic scripts that check the status of gmirror(8), graid3(8), gstripe(8)
and gconcat(8) devices, respectively.  Also sort.

Approved by:	re (mux), rwatson (mentor)
2006-03-08 22:59:47 +00:00
brueffer
cb36f4710d Add periodic scripts that check the status of gmirror(8), graid3(8), gstripe(8)
and gconcat(8) devices, respectively.

Approved by:	re (mux), rwatson (mentor)
2006-03-08 22:56:28 +00:00
rwatson
05670a3ba0 Merge BSD.var.dist:1.73,1.74 from HEAD to RELENG_6:
Add /var/audit, mode 750, which will hold audit trail files.

  Change group for /var/audit to audit, so that audit review can be
  delegated to non-administrators.

  Obtained from:  TrustedBSD Project

Approved by:	re (mux)
2006-03-08 22:55:13 +00:00
rwatson
0348b3fd03 Merge Makefile.inc1:1.536 from HEAD to RELENG_6:
Detect that the "audit" group is missing earlier during install.

Submitted by:	ru
Approved by:	re (scottl)
2006-03-08 21:30:47 +00:00
cvs2svn
9cb23632cc This commit was manufactured by cvs2svn to create branch 'RELENG_6'. 2006-03-08 18:03:10 +00:00
pjd
05c6e127c5 MFC: sbin/bsdlabel/bsdlabel.8 1.63,1.64
Fix evil examples - first partition should start at offset 16 and explain why
this is important.

Approved by:	re (hrs)
2006-03-08 14:23:13 +00:00
pjd
c44fa9d800 MFC: sys/geom/label/g_label_ufs.c 1.10
We need to check if file system size is equal to provider's size, because
sysinstall(8) still bogusly puts the first partition at offset 0 instead of 16,
so glabel/ufs will find file system on a slice instead of partition.

Before sysinstall is fixed, we must keep this code, which means that we
wont't be able to detect UFS file systems created with 'newfs -s ...'.

PS. bsdlabel(8) creates partitions properly.

Approved by:	re (hrs)
2006-03-08 14:20:14 +00:00
mnag
9bd3184c78 MFC 1.13:
- New sentence should start from the new line
	- Forget to bump .Dd

	Reported by:	maxim

Approved by:	re (hrs)
2006-03-08 12:56:06 +00:00
jhb
4e42f99cdd MFC: Throw out all the logical APIC ID stuff and just wire up interrupts
to individual CPUs using physical addressing and fixed delivery mode.

Approved by:	re (scottl)
2006-03-07 18:33:21 +00:00
jhb
3d7b05e4b2 MFC: Close some races between procfs/ptrace and exit1() by changing
exit1() to block until any current PHOLD's are released.  This includes
Simplifying the cleanup code in kern_ptrace() and removing the now
unnecessary vmspace ref counting magic from proc_rwmem().  Also, the
locking for ptrace_single_step(), ptrace_set_pc(), and
ptrace_clear_single_step() have been fixed to be consistent across the
tree.

Approved by:	re (scottl)
2006-03-07 18:08:09 +00:00
sam
6800859061 MFC 1.37: cleanup line break formatting
Approved by:	re (scottl)
2006-03-07 17:50:23 +00:00
jhb
8f78599b3f MFC: Autogenerate a menu containing a list of countries supported by
syscons and pop it up during installs.  In addition, use the specified
country as a hint for the keymap to use and if the non-default country is
chosen during the install startup, pop up the keymap menu before entering
the main sysinstall menu.

Approved by:	re (scottl)
2006-03-07 16:06:41 +00:00