Commit Graph

104355 Commits

Author SHA1 Message Date
Bruce M Simpson
968bc43646 SMPng locking cleanup for vr(4).
- Remove recursive locking situations. Remove the MTX_RECURSE bit.
 - Take the lock for any routine which is not called from within if_vr.c
   itself; this includes entry points called by newbus, ifnet, callout,
   ifmedia, and polling subsystems.
 - Remove spl references from the code added to miibus callbacks in rev 1.60.
 - Add the INTR_MPSAFE bit.
 - Tidy up some assignments; locks are not needed for taking the address
   of something at a known offset, for example.
 - Tested on the machine this was committed from.

Tested on:	UP only, !debug.mpsafenet && debug.mpsafenet
Reviewed by:	rwatson
2004-07-03 02:59:02 +00:00
Bruce M Simpson
ca83b553e6 - Another whitespace pass; make locking calls more obvious.
- Use C99 types for vr_miibus_readreg().
2004-07-03 02:52:32 +00:00
John Baldwin
b5cbda5055 Add a NULL param to an mi_switch() that I missed.
Reported by:	Jung-uk Kim jkim at niksun dot com
2004-07-03 02:38:03 +00:00
Tim J. Robbins
ffe834a3c3 Update for coreutils. 2004-07-03 02:37:42 +00:00
Marcel Moolenaar
d7d057c585 Unbreak -O2 build: initialize nstatus to avoid uninitialized warning. 2004-07-03 02:10:52 +00:00
Tim J. Robbins
128dc4a2e3 Document missing multibyte character handling in utilities specified
by POSIX.
2004-07-03 02:03:44 +00:00
Tim J. Robbins
ee70653ec9 Clarify: test compares strings by binary value, not "ASCII value". 2004-07-03 01:49:17 +00:00
Tim J. Robbins
4f45d81178 Document missing multibyte character support in utilities specified
by POSIX.
2004-07-03 01:28:21 +00:00
Bosko Milekic
abdb4e5d01 Fix SCHED_ULE build on SMP. The previous revision (1.110)
introduced a KSE_CAN_MIGRATE() invocation with one argument
missing (class).  Either this is a genuine forget or it crept
in from JHB's repo where he may have modified it.  If it's
the latter then it may require more attention.  For now fix
the make depend.
2004-07-03 01:19:46 +00:00
Tim J. Robbins
5854077600 Re-add half of UCB copyright notice that went missing in 1.20. 2004-07-03 01:08:03 +00:00
Marcel Moolenaar
8b44a2e2c9 Unbreak build for the the !PREEMPTION case: don't define variables
that aren't used in that case.
2004-07-03 00:57:43 +00:00
Ruslan Ermilov
557b7fa148 Deal with double whitespace. 2004-07-03 00:24:45 +00:00
Ruslan Ermilov
bac7835b60 Deal with double whitespace. 2004-07-03 00:13:43 +00:00
Ruslan Ermilov
1171aedcdf Deal with double whitespace. 2004-07-03 00:06:28 +00:00
Ruslan Ermilov
1a0a934547 Mechanically kill hard sentence breaks. 2004-07-02 23:52:20 +00:00
Bruce M Simpson
e37a7c5f5a style(9) compliance.
Put some braces around the busy-wait loop in vr_rxeoc() to make the
no-op semicolon more obvious.
No functional changes.
Running on the machine I am committing from without problems.

Reviewed by:	jmallett
2004-07-02 23:51:44 +00:00
Tim J. Robbins
3fead394ea Add support for multibyte characters. 2004-07-02 23:43:05 +00:00
David Xu
39ba326d65 Follow previous change in makecontext. Use %esi to store next ucp
pointer, here we keep orignal %ebp, so we can see where signal handler
comes in and interrupt normal code.
2004-07-02 23:20:05 +00:00
Ruslan Ermilov
07bfccd71e Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
Tim J. Robbins
2ac2784f0c Document the -i option as being a non-standard extension. 2004-07-02 22:56:14 +00:00
Ruslan Ermilov
160ad8f136 Fixed SEE ALSO references. 2004-07-02 22:50:25 +00:00
Tim J. Robbins
e9fbd31a8c Add support for multibyte characters. 2004-07-02 22:48:29 +00:00
Olivier Houchard
4428e74324 ithread_schedule() now only takes one argument. 2004-07-02 22:30:42 +00:00
Olivier Houchard
0e564675e4 Define __RMAN_RESOURCE_VISIBLE where appropriate. 2004-07-02 22:30:10 +00:00
Ruslan Ermilov
8d26eeb865 Nit. 2004-07-02 22:25:40 +00:00
Ruslan Ermilov
759dce33f8 Fix after rev. 1.24 changes: bump document date, and remove -c
from SYNOPSIS.
2004-07-02 22:24:53 +00:00
Ruslan Ermilov
6a3e8b0adc Mechanically kill hard sentence breaks. 2004-07-02 22:22:35 +00:00
Ruslan Ermilov
f97d4ddfed Mechanically kill hard sentence breaks. 2004-07-02 21:53:39 +00:00
Ruslan Ermilov
69cc5b91a0 Fixed what appeared to be a hard sentence break. 2004-07-02 21:49:22 +00:00
Ruslan Ermilov
9806e23132 Mechanically kill hard sentence breaks. 2004-07-02 21:45:06 +00:00
Ruslan Ermilov
c481aa05e8 Mechanically kill hard sentence breaks. 2004-07-02 21:28:50 +00:00
Ruslan Ermilov
248ad594ab Mechanically kill hard sentence breaks. 2004-07-02 21:16:38 +00:00
Ruslan Ermilov
a7bbcd9a7d mdoc(7): Correct the type of the display. 2004-07-02 21:15:48 +00:00
Ruslan Ermilov
eccea571a7 Mechanically kill hard sentence breaks. 2004-07-02 21:04:19 +00:00
Hiroki Sato
7bc54d2f77 New release notes:
GEOM_LABEL added,
	top(1) -m io,
	ACPI-CA 20040527 import, and
	GNU sort coreutils 5.2.1 import.

Typo fixes:
	s/ethernet/Ethernet/.
2004-07-02 20:49:56 +00:00
Oliver Eikemeier
4a209e39a0 Enable testing of customized variants of bsd.port.mk and
bsd.port.subdir.mk, without the overhead of an additional ports tree.

Use
  make BSDPORTMK='${PORTSDIR}/My.Mk/bsd.port.mk' target
and
  make BSDPORTSUBDIRMK='${PORTSDIR}/My.Mk/bsd.port.subdir.mk' target

to build with the alternate versions.

MFC after:	3 days
2004-07-02 20:47:18 +00:00
John Baldwin
0c0b25ae91 Implement preemption of kernel threads natively in the scheduler rather
than as one-off hacks in various other parts of the kernel:
- Add a function maybe_preempt() that is called from sched_add() to
  determine if a thread about to be added to a run queue should be
  preempted to directly.  If it is not safe to preempt or if the new
  thread does not have a high enough priority, then the function returns
  false and sched_add() adds the thread to the run queue.  If the thread
  should be preempted to but the current thread is in a nested critical
  section, then the flag TDF_OWEPREEMPT is set and the thread is added
  to the run queue.  Otherwise, mi_switch() is called immediately and the
  thread is never added to the run queue since it is switch to directly.
  When exiting an outermost critical section, if TDF_OWEPREEMPT is set,
  then clear it and call mi_switch() to perform the deferred preemption.
- Remove explicit preemption from ithread_schedule() as calling
  setrunqueue() now does all the correct work.  This also removes the
  do_switch argument from ithread_schedule().
- Do not use the manual preemption code in mtx_unlock if the architecture
  supports native preemption.
- Don't call mi_switch() in a loop during shutdown to give ithreads a
  chance to run if the architecture supports native preemption since
  the ithreads will just preempt DELAY().
- Don't call mi_switch() from the page zeroing idle thread for
  architectures that support native preemption as it is unnecessary.
- Native preemption is enabled on the same archs that supported ithread
  preemption, namely alpha, i386, and amd64.

This change should largely be a NOP for the default case as committed
except that we will do fewer context switches in a few cases and will
avoid the run queues completely when preempting.

Approved by:	scottl (with his re@ hat)
2004-07-02 20:21:44 +00:00
Nate Lawson
5a66986def Remove duplicate FreeBSD id. 2004-07-02 20:15:53 +00:00
Ruslan Ermilov
839693c44f Deal with unsafe tab characters. 2004-07-02 19:55:26 +00:00
Ruslan Ermilov
149e2d2348 Fixed comments. 2004-07-02 19:54:39 +00:00
Brooks Davis
f93dfa28b1 Don't announce the ethernet address when it's 00:00:00:00:00:00. It's
not of any interest.  This primairly happens when vlan(4) interfaces are
created.
2004-07-02 19:44:59 +00:00
Pawel Jakub Dawidek
e1237b285b Introduce GEOM_LABEL class.
This class is used for detecting volume labels on file systems:
UFS, MSDOSFS (FAT12, FAT16, FAT32) and ISO9660.
It also provide native labelization (there is no need for file system).

g_label_ufs.c is based on geom_vol_ffs from Gordon Tetlow.
g_label_msdos.c and g_label_iso9660.c are probably hacks, I just found
where volume labels are stored and I use those offsets here,
but with this class it should be easy to do it as it should be done by
someone who know how.
Implementing volume labels detection for other file systems also should
be trivial.

New providers are created in those directories:
/dev/ufs/ (UFS1, UFS2)
/dev/msdosfs/ (FAT12, FAT16, FAT32)
/dev/iso9660/ (ISO9660)
/dev/label/ (native labels, configured with glabel(8))

Manual page cleanups and some comments inside were submitted by
Simon L. Nielsen, who was, as always, very helpful. Thanks!
2004-07-02 19:40:36 +00:00
Ruslan Ermilov
11c798a4de mdoc(7): Fixed list types. 2004-07-02 19:37:24 +00:00
Nate Lawson
99eb9c8b3b Get rid of the strict aliasing error by retrieving the ECDT via a table
header pointer and then casting it to the ecdt pointer.  This fixes the
-O2 build.  I'm unsure what changed recently to reveal this error since
this code has been unchanged for months.
2004-07-02 19:17:27 +00:00
John Baldwin
bf0acc273a - Change mi_switch() and sched_switch() to accept an optional thread to
switch to.  If a non-NULL thread pointer is passed in, then the CPU will
  switch to that thread directly rather than calling choosethread() to pick
  a thread to choose to.
- Make sched_switch() aware of idle threads and know to do
  TD_SET_CAN_RUN() instead of sticking them on the run queue rather than
  requiring all callers of mi_switch() to know to do this if they can be
  called from an idlethread.
- Move constants for arguments to mi_switch() and thread_single() out of
  the middle of the function prototypes and up above into their own
  section.
2004-07-02 19:09:50 +00:00
Ruslan Ermilov
d37ea99837 Removed trailing whitespace. 2004-07-02 19:07:33 +00:00
Arun Sharma
8c21c19305 Bump up the date and add spaces around commas. Thanks to ru@ for noticing. 2004-07-02 18:39:15 +00:00
Ruslan Ermilov
f0ccc7f972 Deal with harmful leading whitespace. 2004-07-02 18:37:52 +00:00
Philip Paeps
bab58ce907 Fix the '\' next to lshift for users of Belgian keyboards.
Submitted by:	Glenn Matthys <glenn@opengate.be>
Approved by:	njl
2004-07-02 18:19:01 +00:00
Ruslan Ermilov
4b6c8c6498 Fixed spelling of the document date. 2004-07-02 18:00:03 +00:00