Commit Graph

105845 Commits

Author SHA1 Message Date
Robert Watson
07385abd73 Commit a first pass at in6pcb and pcbinfo locking for IPv6,
synchronizing IPv6 protocol control blocks and lists.  These changes
are modeled on the inpcb locking for IPv4, submitted by Jennifer Yang,
and committed by Jeffrey Hsu.  With these locking changes, IPv6 use of
inpcbs is now substantially more MPSAFE, and permits IPv4 inpcb locking
assertions to be run in the presence of IPv6 compiled into the kernel.
2004-07-27 23:44:03 +00:00
Robert Watson
36ed21e6db Add an UPDATING entry about recompiling modules implementing network
interfaces due to a change in the size of struct ifnet.
2004-07-27 23:32:06 +00:00
Robert Watson
af5e59bf28 Add a new network interface flag, IFF_NEEDSGIANT, which will allow
device drivers to declare that the ifp->if_start() method implemented
by the driver requires Giant in order to operate correctly.

Add a 'struct task' to 'struct ifnet' that can be used to execute a
deferred ifp->if_start() in the event that if_start needs to be called
in a Giant-free environment.  To do this, introduce if_start(), a
wrapper function for ifp->if_start().  If the interface can run MPSAFE,
it directly dispatches into the interface start routine.  If it can't
run MPSAFE, we're running with debug.mpsafenet != 0, and Giant isn't
currently held, the task is queued to execute in a swi holding Giant
via if_start_deferred().

Modify if_handoff() to use if_start() instead of direct dispatch.
Modify 802.11 to use if_start() instead of direct dispatch.

This is intended to provide increased compatibility for non-MPSAFE
network device drivers in the presence of Giant-free operation via
asynchronous dispatch.  However, this commit does not mark any network
interfaces as IFF_NEEDSGIANT.
2004-07-27 23:20:45 +00:00
Maksim Yevmenkin
1985a3a39d Add workaround for brain damaged cell phones
PR:		bin/67906
2004-07-27 22:40:42 +00:00
Poul-Henning Kamp
3dfe213e61 Convert the vfsconf list to a TAILQ.
Introduce vfs_byname() function to find things on it.

Staticize vfs_nmount() function under the name vfs_donmount().

Various cleanups.
2004-07-27 22:32:01 +00:00
Colin Percival
2cb640f6b1 Start new sentence on new line.
Pointed out by:	simon
2004-07-27 22:17:26 +00:00
Poul-Henning Kamp
ebb48ffd65 Use kernel_vmount() instead of vfs_nmount(). 2004-07-27 21:38:42 +00:00
Colin Percival
dfef91e977 Add a BUGS entry pointing out that -mindepth and -maxdepth are global
options even though they look like primaries.  (This is already documented
in the options themselves, but is sufficiently astonishing that I think it
deserves a BUGS entry as well.)
2004-07-27 21:22:14 +00:00
Colin Percival
ad4876008f Merge the "multibyte not supported" BUG into the pre-existing BUGS
section.

Move the HISTORY section to place it before BUGS rather than after BUGS,
in order to minimize the chance of this error being reproduced in the
future.  (Both mdoc(7) and 63% of manual pages have these sections listed
in this order.)
2004-07-27 21:13:04 +00:00
Gleb Smirnoff
7610f57454 When making a peer of unknown type framework tries to load module
using linker_load_module(). This works OK if NGM_MKPEER message came
from userland and we have process associated with thread. But when
NGM_MKPEER was queued because target node was busy, linker_load_module()
is called from netisr thread leading to panic.
To workaround that we do not load modules by framework, instead ng_socket
loads module (if this is required) before sending NGM_MKPEER.
However, the race condition between return from NgSendMsg() and actual
creation of node still exist and needs to be solved.

PR:		kern/62789
Approved by:	julian
2004-07-27 20:30:56 +00:00
Jordan K. Hubbard
bad960b11b After conferring with Apple legal, update the license of this to APSL 2.0
and change the URL link to point to the appropriate license text.
2004-07-27 20:01:43 +00:00
Gleb Smirnoff
fdc755d162 When node is server serve both standard RFC2516 and non-standard 3Com
clients simultaneously. When node is client its mode is configured
with a control message.

sysctl net.graph.nonstandard_pppoe is deprecated but kept for
backward compatibility for some time.

Approved by:	julian
2004-07-27 19:47:13 +00:00
Robert Watson
76e8a01fc9 Correct typo in prior commit: s/cd/td/ 2004-07-27 19:44:08 +00:00
Mike Makonnen
c6cb9d2e4b Even though binaries will give 0 matches, make it explicit. 2004-07-27 16:59:35 +00:00
Robert Watson
1a8cfbc450 Pass a thread argument into cpu_critical_{enter,exit}() rather than
dereference curthread.  It is called only from critical_{enter,exit}(),
which already dereferences curthread.  This doesn't seem to affect SMP
performance in my benchmarks, but improves MySQL transaction throughput
by about 1% on UP on my Xeon.

Head nodding:	jhb, bmilekic
2004-07-27 16:41:01 +00:00
Yaroslav Tykhiy
f66145c6bd Don't consider TCP connections beyond LISTEN state
(i.e. with the foreign address being not wildcard) when checking
for possible port theft since such connections cannot be stolen.

The port theft check is FreeBSD-specific and isn't in the KAME tree.

PR:		bin/65928 (in the audit trail)
Reviewed by:	-net, -hackers (silence)
Tested by:	Nick Leuta <skynick at mail.sc.ru>
MFC after:	1 month
2004-07-27 16:35:09 +00:00
Robert Watson
a9abdce44a Add "options ADAPTIVE_GIANT" which causes Giant to also be treated in
an adaptive fashion when adaptive mutexes are enabled.  The theory
behind non-adaptive Giant is that Giant will be held for long periods
of time, and therefore spinning waiting on it is wasteful.  However,
in MySQL benchmarks which are relatively Giant-free, running Giant
adaptive makes an observable difference on SMP (5% transaction rate
improvement).  As such, make adaptive behavior on Giant an option so
it can be more widely benchmarked.
2004-07-27 16:34:48 +00:00
Ruslan Ermilov
8d59f4fd45 Fixed style of previous commit. 2004-07-27 12:31:38 +00:00
Dag-Erling Smørgrav
e9aa05f18c Don't strip trailing linear whitespace from passwords.
MFC after:	2 weeks
2004-07-27 11:34:25 +00:00
Dag-Erling Smørgrav
ebeb3bab5b Style nits. 2004-07-27 11:30:35 +00:00
Yaroslav Tykhiy
562bef689e Correct a couple of noticed slips in sorting order
and add missing markup at one spot.
2004-07-27 10:37:04 +00:00
Yaroslav Tykhiy
4469383fc1 New release notes:
fxp(4) allows toggling its VLAN_MTU capability;
	ifconfig(8) provides controls for VLAN_MTU and VLAN_HWTAGGING.
2004-07-27 10:30:11 +00:00
Dag-Erling Smørgrav
38d65ea960 This commit was generated by cvs2svn to compensate for changes in r132691,
which included commits to RCS files with non-trunk default branches.
2004-07-27 10:15:55 +00:00
Yaroslav Tykhiy
46912de489 Bump the date, .Dd, since the document content has been changed
in the previous commit.

Pointed out by:	ru
2004-07-27 09:51:49 +00:00
Peter Grehan
e60a36f564 Properly implement kdb_cpu_{set|clear}_singlestep to allow DDB to
continue from breakpoints.
2004-07-27 07:06:20 +00:00
Peter Grehan
74fa1336d6 Make sure icache is sync'd whenever memory is touched. It may
be more optimal to override the BKPT_WRITE macro, but DDB performance
isn't really a goal at this stage...
2004-07-27 07:04:58 +00:00
Tim J. Robbins
ea9a9a377b Add UTF-8-specific implementations of mbsnrtowcs() and wcsnrtombs().
These convert plain ASCII characters in-line, making them only slightly
slower than the single-byte ("NONE" encoding) version when processing
ASCII strings.
2004-07-27 06:29:48 +00:00
John-Mark Gurney
47df0a78eb after reading the commit mail, I better understand what cnt_hold is for..
improve the verbage in the manpage so others are more likely to understand
it...

Reviewed by:	rwatson
2004-07-27 04:23:00 +00:00
Marcel Moolenaar
4fd6e2a0c9 Various improvements for ia64:
o  s/TARGET_XFER_DIRTY/NATIVE_XFER_DIRTY/g to be conformant,
o  Handle TARGET_OBJECT_DIRTY for core files. Required on Linux,
o  Replace ia64_fbsd_supply_fpregs() and ia64_fbsd_supply_gregs()
   with supply_fpregset() and supply_gregset() resp. Needed to
   support libthread_db.
o  For target_read_partial(), pass the address of bspstore as the
   annex instead of bspstore itself. This fixes crossbuilds. The
   annex is a pointer, while bspstore is a ULONGEST.
o  In ia64_frame_prev_register(), handle dirty stacked registers.
2004-07-27 03:54:16 +00:00
Alan Cox
1a276a3f91 - Use atomic ops for updating the vmspace's refcnt and exitingcnt.
- Push down Giant into shmexit().  (Giant is acquired only if the vmspace
   contains shm segments.)
 - Eliminate the acquisition of Giant from proc_rwmem().
 - Reduce the scope of Giant in exit1(), uncovering the destruction of the
   address space.
2004-07-27 03:53:41 +00:00
Peter Grehan
1f1b01c0a5 Save DAR/DSISR in DDB regsave area when stack overflow detected. It's
hard to work out where the problem was without these.
2004-07-27 03:46:34 +00:00
Bosko Milekic
0047b9a96a Move the schedlock owner state update following the context
switch in fork_exit() to before anything else is done (but keep
schedlock for the deadthread check).  This means one less
nasty bug if ever in the future whatever might have been called
before the update played with schedlock or critical sections.

Discussed with: tjr
2004-07-27 03:46:31 +00:00
Peter Grehan
5dd954f3de Improve boot-time debugging with DDB by extracting the ksym start/end
values from the loader.
2004-07-27 03:41:34 +00:00
Tim J. Robbins
7ee771aa57 Use file2c instead of a combination of hexdump, sed and shell script to
generate the wakecode[] array from acpi_wakecode.bin. The old method was
not safe in multibyte locales.
2004-07-27 01:33:27 +00:00
John-Mark Gurney
03c439e6e0 add a command to calculate the ratios of cnt_hold and cnt_lock to locks
from mutex profiling...  This takes cnt_* and divides it by count, so
lower is better...

Sample command:
sh mtxpercent.sh | sort -rn +7 -8

SEE ALSO
	MUTEX_PROFILING(9)
2004-07-27 00:36:53 +00:00
Max Laier
a31f99f887 Fix typo in description of pflog_logfile.
Submitted by:	Mike Jakubik
2004-07-27 00:28:16 +00:00
Hiroki Sato
3f623879cc Fix URLs. 2004-07-27 00:02:19 +00:00
Jayanth Vijayaraghavan
e9f2f80e09 Fix for a SACK bug where the very last segment retransmitted
from the SACK scoreboard could result in the next (untransmitted)
segment to be skipped.
2004-07-26 23:41:12 +00:00
John-Mark Gurney
0aa8ce5012 compare pointer against NULL, not 0
when inpcb is NULL, this is no longer invalid since jlemon added the
tcp_twstart function... this prevents close "failing" w/ EINVAL when it
really was successful...

Reviewed by:	jeremy (NetBSD)
2004-07-26 21:29:56 +00:00
John-Mark Gurney
b5e60d3288 document that times are in microseconds, yes it's at the end in the NOTES
section, but this makes it easier to find.
2004-07-26 21:21:08 +00:00
Dag-Erling Smørgrav
d453d5bc01 The name of the landlord in Shaw's _The Man of Destiny_ is Giuseppe (not
Guiseppe) Gandi.

Submitted by:	Massimiliano Stucchi <stucchi@willystudios.com>
MFC after:	3 days
2004-07-26 21:18:58 +00:00
Philippe Charnier
bd5de41339 No capital letter after : 2004-07-26 20:24:59 +00:00
Philippe Charnier
6cc6f12231 Add __FBSDID. Replace local variable sin by sockin to not conflict with sin(3).
Use warnx() instead of warn() when error message is not of any interest. Add
prototypes.
2004-07-26 20:18:11 +00:00
Philippe Charnier
17373fb9a5 Introduce options list the standard way. Correct style(9) in FILES section. 2004-07-26 19:59:29 +00:00
Philippe Charnier
2a00e8eade Introduce options list the standard way. 2004-07-26 19:53:44 +00:00
Philippe Charnier
fce2ca94cf Remove useless .Pp. Typo: gcos -> gecos (as spelled in passwd(5)). 2004-07-26 19:49:29 +00:00
Philippe Charnier
30857323e0 Enclose .Fa fn with ``The ... function'' at the beginning of sentences. 2004-07-26 19:35:20 +00:00
Alan Cox
ab50a26230 Implement the protection check required by the pmap_extract_and_hold()
specification.

Reviewed and tested by:	grehan@
2004-07-26 18:10:10 +00:00
Pawel Jakub Dawidek
1d723f1d51 Improve geom(8)'s 'list' command to show geoms and their providers and
consumers. Teach STRIPE, CONCAT and NOP classes about this improvement.
2004-07-26 17:14:47 +00:00
Pawel Jakub Dawidek
889c5dc22b Change naming scheme from /dev/<name>.stripe to /dev/stripe/<name>. 2004-07-26 16:10:27 +00:00