Commit Graph

45823 Commits

Author SHA1 Message Date
Scott Long
744bb56d95 Catch all cases where bread() returns an error and a valid *bp, and release
the *bp.

Obtained from:	DragonFlyBSD
2004-03-30 05:01:48 +00:00
Vinod Kashyap
99635d6cdd Initial check-in of the device driver for 3ware's 9000 series
PATA/SATA RAID controllers.  This driver is a SIM under CAM, and
so, behaves like a driver for a SCSI controller.
2004-03-30 03:46:00 +00:00
Robert Watson
fc3fcacf52 Prefer NULL to 0 when testing and assigning pointer values. 2004-03-30 02:16:25 +00:00
Peter Wemm
9a6a4cb50d Shorten some XXXKSE commentry 2004-03-29 22:46:54 +00:00
Peter Wemm
39d3505a30 Kill some XXXKSE's. vnlru/syncer are single threaded. 2004-03-29 22:45:33 +00:00
Peter Wemm
b21126c6b3 Clean up the stub fake vnode locking implemenations. The main reason this
stuff was here (NFS) was fixed by Alfred in November.  The only remaining
consumer of the stub functions was umapfs, which is horribly horribly
broken.  It has missed out on about the last 5 years worth of maintenence
that was done on nullfs (from which umapfs is derived).  It needs major
work to bring it up to date with the vnode locking protocol.  umapfs really
needs to find a caretaker to bring it into the 21st century.

Functions GC'ed:
vop_noislocked, vop_nolock, vop_nounlock, vop_sharedlock.
2004-03-29 22:41:21 +00:00
Robert Watson
24b316d5eb Add per-softc locking to if_tun:
- Add tun_mtx to tun_softc.  Annotate what is (and isn't) locked by it.
- Lock down tun_flags, tun_pid.
- In the output path, cache the value of tun_flags so it's consistent
  when processing a particular packet rather than re-reading the field.
- In general, use unlocked reads for debugging.
- Annotate a couple of places where additional unlocked reads may be
  possible.
- Annotate that tun_pid is used as a bug in tunopen().

if_tun is now largely MPSAFE, although questions remain about some of
the cdevsw fields and how they are synchronized.
2004-03-29 22:16:39 +00:00
Robert Drehmel
9fbb80baff Bring these files closer to style(9) conformance by comparing a
dereferenced character pointer to '\0' instead of using the ! operator.
2004-03-29 21:15:41 +00:00
Warner Losh
3666cedd6b Eliminate support for FreeBSD 3.x and earlier now that we're in the
glide path for the 5.x branch.
2004-03-29 21:10:05 +00:00
Peter Wemm
5c89deaefc Finish tidying up a couple of leftovers from the KSTACK_PAGES stuff. Some
files still #included the opt_ file.  powerpc hadn't been updated yet.
2004-03-29 19:38:05 +00:00
Robert Watson
7a5fa7f1e7 Lock down if_tun global variables using a new mutex, tunmtx. As with
other pseudo-interfaces, break out tear-down of a softc into a
separate tun_destroy() function, and invoke that from the module
unloader.  Hold tunmtx across manipulations of the global softc list.
2004-03-29 18:42:51 +00:00
Robert Watson
181e65db5b Use a common return path for filt_soread() and filt_sowrite() to
simplify the impact of locking on these functions.

Submitted by:	sam
Sponsored by:	FreeBSD Foundation
2004-03-29 18:06:15 +00:00
Robert Watson
71c90a2944 In sofree(), moving caching of 'head' from 'so->so_head' to later in
the function once it has been determined to be non-NULL to simplify
locking on an earlier return.
2004-03-29 17:57:43 +00:00
Robert Watson
5a35e5f9af If debug.mpsafenet, initialize UNIX domain socket timeouts as MPSAFE;
otherwise, assert Giant in the callouts.
2004-03-29 17:00:05 +00:00
Yoshihiro Takahashi
2c08d6bea1 Add a comment about time stamper.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2004-03-29 12:51:46 +00:00
Dag-Erling Smørgrav
9b9a184d22 This commit was generated by cvs2svn to compensate for changes in r127563,
which included commits to RCS files with non-trunk default branches.
2004-03-29 11:18:25 +00:00
Dag-Erling Smørgrav
5fce408cc4 Synch with NetBSD: avoid "unused parameter" warning. 2004-03-29 11:18:25 +00:00
Robert Watson
627e4a9973 Conditionally acquire Giant when entering the sockets layer via the
socket-specific system calls based on debug.mpsafenet, rather than
acquiring Giant unconditionally.
2004-03-29 02:21:56 +00:00
Bruce M Simpson
d25901b5da MFi386: Use the BSD madvise() syscall implementation for Linux binary
emulation, instead of treating it as an unimplemented syscall.

Requested by:	marcel
2004-03-29 02:19:43 +00:00
Bill Paul
6ea748c0f1 Add missing cprd_flags member to partial resource structure in
resource_var.h.

In kern_ndis.c:ndis_convert_res(), fill in the cprd_flags and
cprd_sharedisp fields as best we can.

In if_ndis.c:ndis_setmulti(), don't bother updating the multicast
filter if our multicast address list is empty.

Add some missing updates to ndis_var.h and ntoskrnl_var.h that I
forgot to check in when I added the KeDpc stuff.
2004-03-29 02:15:29 +00:00
Ken Smith
24b5b08280 MFi386: correctly calculate the top-of-stack when a kthread is created
with a larger kernel stack. Remove inclusion of opt_kstack_pages.h now
that it's unused.

Note: If anyone's toes got stepped on by me doing this let me know
privately please.

Approved by:	rwatson (mentor)
2004-03-29 02:01:42 +00:00
Robert Watson
32903c86e7 Conditionally acquire Giant when entering the socket layer via file
descriptor operations based on debug.mpsafenet, rather than acquiring
Giant unconditionally.
2004-03-29 01:55:32 +00:00
Robert Watson
74041f5a10 When validating that the length sum in recvit(), we fail to release
Giant on an error.  Add a Giant acquisition.

Reviewed by:	sam, bms
2004-03-29 01:37:06 +00:00
Ken Smith
aa89d858c9 MFi386: correctly calculate the top-of-stack when a kthread is created
with a larger kernel stack. Remove inclusion of opt_kstack_pages.h now
that it's unused.

Reviewed by:	marcel
Approved by:	rwatson (mentor)
2004-03-29 01:24:13 +00:00
Ken Smith
a55624165f Remove "-frename-registers" option for sparc64 kernel builds. That
was not present in what I originally tested when checking to see if
the kernel built/ran with the -O2 change.  Recent instability in
sparc64 kernel was tracked to this.  A reproducible kernel stack
traceback followed by hard hang during the call to msleep() at the
point the kernel waits 15 seconds for the SCSI bus to settle crept in
to recent kernel builds and it seems to go away with this patch.

Noticed by:	kris
Approved by:	rwatson (mentor)
2004-03-29 01:15:39 +00:00
Robert Watson
2418d3ccec Modify BPF descriptor assertions to assert Giant when a BPF descriptor
lock is asserted and running non-MPSAFE.
2004-03-29 00:33:39 +00:00
Robert Watson
a1288c786e Conditionally assert Giant in fputsock() based on the value of
debug.mpsafenet.
2004-03-29 00:33:02 +00:00
Robert Watson
7101d752b2 Invert the logic of NET_LOCK_GIANT(), and remove the one reference to it.
Previously, Giant would be grabbed at entry to the IP local delivery code
when debug.mpsafenet was set to true, as that implied Giant wouldn't be
grabbed in the driver path.  Now, we will use this primitive to
conditionally grab Giant in the event the entire network stack isn't
running MPSAFE (debug.mpsafenet == 0).
2004-03-28 23:12:19 +00:00
Robert Watson
323eaa7554 Regen from ibcs2_wait() becoming MPSAFE.
Submitted by:	Dan Nelson <dnelson@allantgroup.com>
2004-03-28 22:51:40 +00:00
Robert Watson
50e3f47641 ibcs2_wait() now MPSAFE.
Submitted by:	Dan Nelson <dnelson@allantgroup.com>
2004-03-28 22:51:01 +00:00
Bruce M Simpson
cffd5a3eb4 Use the BSD madvise() syscall implementation for Linux binary emulation,
instead of treating it as an unimplemented syscall. This appears to make
StarOffice 7.0 Linux binaries work according to submitter; also tested
with nvidia driver by submitter.

Submitted by:	Matthias Schuendehuette
2004-03-28 21:43:27 +00:00
Max Laier
cf5011b74a Commit two fixes from OpenBSD's stable branch:
- Fix binat for incoming connections when a netblock (not just a single
  address) is used for source in the binat rule. closes PR 3535, reported by
  Karl O.Pinc. ok henning@, cedric@

- Fix a problem related to empty anchor rulesets, which could cause a kernel
  panic.

Approved by:	bms(mentor)
2004-03-28 20:04:12 +00:00
Pawel Jakub Dawidek
56dc72c3b6 Remove unused argument. 2004-03-28 15:48:00 +00:00
Yoshihiro Takahashi
279b998b38 - Fix PC98 supports after importing auto selection. [1]
- Fix 1.44MB floppy drive probe sequence. [2]

Submitted by:	Watanabe Kazuhiro <CQG00620@nifty.ne.jp> [1]
		chi@bd.mbn.or.jp (Chiharu Shibata) [2]
2004-03-28 13:40:23 +00:00
Yoshihiro Takahashi
420eed9af1 MFi386: revision 1.1136. 2004-03-28 12:06:29 +00:00
Yoshihiro Takahashi
94d77589ca MFi386: revision 1.586. 2004-03-28 12:03:39 +00:00
Alexander Kabaev
186c0bc04b Reset callout if in nfs_timeout and rpcclnt_timeout functions. Timer
are supposed to continue firing as long as there is work to do, not
stop after the first invocation.

This is damage control after a patch that has been committed prematurely.

Tested by:	kris
2004-03-28 05:55:27 +00:00
Bruce Evans
2aef37b7c6 Fixed s style bug in previous commit (tab lossage). Fixed some nearby
style bugs (more tab lossage, unclear description of TDF_USTATCLOCK,
and English usage errors).
2004-03-28 04:17:36 +00:00
Thomas Moestl
38c174739c The compatibility specification property is named "compatible", not
"compat".

Spotted by:	Marius Strobl <marius@alchemy.franken.de>
2004-03-27 22:39:47 +00:00
Pawel Jakub Dawidek
b0330ed929 Reduce 'td' argument to 'cred' (struct ucred) argument in those functions:
- in_pcbbind(),
	- in_pcbbind_setup(),
	- in_pcbconnect(),
	- in_pcbconnect_setup(),
	- in6_pcbbind(),
	- in6_pcbconnect(),
	- in6_pcbsetport().
"It should simplify/clarify things a great deal." --rwatson

Requested by:	rwatson
Reviewed by:	rwatson, ume
2004-03-27 21:05:46 +00:00
Pawel Jakub Dawidek
6823b82399 Remove unused argument.
Reviewed by:	ume
2004-03-27 20:41:32 +00:00
Bill Paul
60a6006b6c Apparently, some atheros drivers want rand(), so implement it (in terms
of random()).

Requested by: juli
Bribe offered: tacos
2004-03-27 20:38:43 +00:00
Pawel Jakub Dawidek
63946e47cf Remove unused prototype.
Reviewed by:	ume
2004-03-27 20:38:02 +00:00
Alan Cox
e3b19536fb Revise the direct or optimized case to use uiomove_fromphys() by the reader
instead of ephemeral mappings using pmap_qenter() by the writer.  The
writer is still, however, responsible for wiring the pages, just not
mapping them.  Consequently, the allocation of KVA for the direct case is
unnecessary.  Remove it and the sysctls limiting it, i.e.,
kern.ipc.maxpipekvawired and kern.ipc.amountpipekvawired.  The number
of temporarily wired pages is still, however, limited by
kern.ipc.maxpipekva.

Note: On platforms lacking a direct virtual-to-physical mapping,
uiomove_fromphys() uses sf_bufs to cache ephemeral mappings.  Thus,
the number of available sf_bufs can influence the performance of pipes
on platforms such i386.  Surprisingly, I saw the greatest gain from this
change on such a machine: lmbench's pipe bandwidth result increased from
~1050MB/s to ~1850MB/s on my 2.4GHz, 400MHz FSB P4 Xeon.
2004-03-27 19:50:23 +00:00
Marcel Moolenaar
b2ae7ed72c Change the type of the various CPU masks to cpumask_t. Note that as
long as there are still explicit uses of int, whether in types or
in function names (such as atomic_set_int() in sched_ule.c), we can
not change cpumask_t to be anything other than u_int. See also the
commit log for sys/sys/types.h, revision 1.84.
2004-03-27 18:21:24 +00:00
Marcel Moolenaar
60f66d9174 MFi386: correctly calculate the top-of-stack when a kthread is created
with a larger kernel stack. Remove inclusion of opt_kstack_pages.h now
that it's unused.
2004-03-27 17:44:25 +00:00
Takanori Watanabe
879d6c2306 Add ACPI PnP string. This affects devinfo(8) output with -v option. 2004-03-27 16:26:00 +00:00
Scott Long
dd851ecc32 Fix typo in the device id for the new cards. 2004-03-27 15:56:34 +00:00
Mike Makonnen
a73027fee9 Regen for libthr thread synchronization syscalls. 2004-03-27 14:34:17 +00:00
Mike Makonnen
0af67a2ef9 Use the proc lock to sleep on a libthr umtx. 2004-03-27 14:32:03 +00:00