Commit Graph

96446 Commits

Author SHA1 Message Date
Bruce Evans
b698380f33 Quick fix for scaling of statclock ticks in the SMP case. As explained
in the log message for kern_sched.c 1.83 (which should have been
repo-copied to preserve history for this file), the (4BSD) scheduler
algorithm only works right if stathz is nearly 128 Hz.  The old
commit lock said 64 Hz; the scheduler actually wants nearly 16 Hz
but there was a scale factor of 4 to give the requirement of 64 Hz,
and rev.1.83 changed the scale factor so that the requirement became
128 Hz.  The change of the scale factor was incomplete in the SMP
case.  Then scheduling ticks are provided by smp_ncpu CPUs, and the
scheduler cannot tell the difference between this and 1 CPU providing
scheduling ticks smp_ncpu times faster, so we need another scale
factor of smp_ncp or an algorithm change.

This quick fix uses the scale factor without even trying to optimize
the runtime divisions required for this as is done for the other
scale factor.

The main algorithmic problem is the clamp on the scheduling tick counts.
This was 295; it is now approximately 295 * smp_ncpu.  When the limit
is reached, threads get free timeslices and scheduling becomes very
unfair to the threads that don't hit the limit.  The limit can be
reached and maintained in the worst case if the load average is larger
than (limit / effective_stathz - 1) / 2 = 0.65 now (was just 0.08 with
2 CPUs before this change), so there are algorithmic problems even for
a load average of 1.  Fortunately, the worst case isn't common enough
for the problem to be very noticeable (it is mainly for niced CPU hogs
competing with less nice CPU hogs).
2003-11-09 13:45:54 +00:00
Søren Schmidt
35e67f571f Fix typo in breaking up requests to size limit.
Found by: Peter Edwards <pmedwards@eircom.net>
2003-11-09 10:11:15 +00:00
Christian Brueffer
8c3bfd6934 Add the 'package-recursive' option
PR:		57838
Submitted by:	Alexander Haderer <alexander.haderer@charite.de>
MFC after:	5 days
2003-11-09 09:30:39 +00:00
Seigo Tanimura
512824f8f7 - Implement selwakeuppri() which allows raising the priority of a
thread being waken up.  The thread waken up can run at a priority as
  high as after tsleep().

- Replace selwakeup()s with selwakeuppri()s and pass appropriate
  priorities.

- Add cv_broadcastpri() which raises the priority of the broadcast
  threads.  Used by selwakeuppri() if collision occurs.

Not objected in:	-arch, -current
2003-11-09 09:17:26 +00:00
Marcel Moolenaar
2e55d247a6 Implement PAL_HALT_LIGHT now that the kernel halts the processor
when idle. All we have to do is return.
2003-11-09 07:42:16 +00:00
Marcel Moolenaar
84408cc05c Do not strip skiload when installed. The stripped binary does not load
in the simulator.
2003-11-09 06:53:37 +00:00
Alan Cox
950f8459d4 - Rename vm_map_clean() to vm_map_sync(). This better reflects the fact
that msync(2) is its only caller.
 - Migrate the parts of the old vm_map_clean() that examined the internals
   of a vm object to a new function vm_object_sync() that is implemented in
   vm_object.c.  At the same, introduce the necessary vm object locking so
   that vm_map_sync() and vm_object_sync() can be called without Giant.

Reviewed by:	tegge
2003-11-09 05:25:35 +00:00
Marcel Moolenaar
1bcb5f5a96 Port truss(1) to 64-bit architectures:
o  Syscall return values do not fit in int on 64-bit architectures.
   Change the type of retval in <arch>_syscall_exit() to long and
   change the prototype of said function to return a long as well.
o  Change the prototype of print_syscall_ret() to take a long for
   the return address and change the format string accordingly.
o  Replace the code sequence
	tmp = malloc(X);
	sprintf(tmp, format, ...);
   with X by definition too small on 64-bit platforms by
        asprintf(&tmp, format, ...);

With these changes the output makes sense again, although it does
mess up the tabulation on ia64. Go widescreen...

Not tested on: alpha, sparc64.
2003-11-09 03:48:13 +00:00
Scott Long
68153f43b6 Sprinkle GIANT_REQUIRED asserts around the xpt layer to aid with locking the
SCSI drivers.
2003-11-09 02:22:33 +00:00
Warner Losh
c4bc6c8ccd Update list of supported devices for ahb 2003-11-09 01:52:13 +00:00
Warner Losh
917f3a3222 Complete the variants of 1522/1520 cards 2003-11-09 01:46:28 +00:00
Warner Losh
3ebc19328e AHA-1505 also alegedly supported 2003-11-09 01:44:16 +00:00
Warner Losh
3a86eb3747 Flesh out the list of supported devices for this driver.
Add bugs that describe the current state of this driver.

# Note: Don't ask me about the driver: I can't get it to work well either :-)
2003-11-09 01:41:11 +00:00
Warner Losh
56b9aeaeda o Update to closer to the official names for these cards.
o Remove entries for 1510, 152x and 1535.  These are supported, for some value
  of supported, by the aic driver.
o Add notes about 1542-CP being plug and play, but it can still conflict with
  other resources because all the resources it uses are set with the onboard
  BIOS.
2003-11-09 01:30:46 +00:00
David E. O'Brien
dcae43e905 Alternate version of rev 1.20.
Comment out rather than totally remove the ipfilter pieces that we need
reconnected some day.  This is now only ipnat as it is for configuring NAT.
ipfstat is meant for reporting statistics/filter lists.  For /rescue it is
enough to configure lists but not view the installed ones.
2003-11-09 01:22:27 +00:00
Warner Losh
3cce43b94e Make this driver a little more style(9) compliant 2003-11-09 00:51:52 +00:00
Bruce A. Mah
cabcc122c7 Synchronize list of supported cards with hardware notes, reformat
as a bullet list.
2003-11-09 00:50:55 +00:00
David Xu
0e17930dd7 If a thread in critical region got a synchronous signal, according current
signal handling mode, there is no chance to handle the signal, something
must be wrong in the library, just call kse_thr_interrupt to dump its core.
I have the code for a long time, but forgot to commit it.
2003-11-09 00:37:14 +00:00
Bruce A. Mah
f8206c33ec Mention Olicom OC2220, which is listed in the hardware notes and
driver source.
2003-11-09 00:31:41 +00:00
Bruce A. Mah
f3389dd879 Capitalize "Fast Ethernet" and "Ethernet" consistently. 2003-11-09 00:27:45 +00:00
Bruce A. Mah
43263d5d44 Synchronize manual page with hardware notes and reformat list of
supported devices.
2003-11-09 00:26:55 +00:00
Sam Leffler
7138d65c3f replace explicit changes to rt_refcnt by RT_ADDREF and RT_REMREF
macros that expand to include assertions when the system is built
with INVARIANTS

Supported by:	FreeBSD Foundation
2003-11-08 23:36:32 +00:00
Marcel Moolenaar
00bd917263 Remove the atkbd, psm, sc and vga devices. Most ia64 boxes out there
are zx1 based machines and they don't particularly like it when we
poke at them with PC legacy code. The atkbd and psm devices were
disabled in the hints file so that one could enable them on machines
that support legacy devices, but that's not really something you can
expect from a first-time installer. This still leaves syscons (sc)
and the vga device, which were enabled by default and wrecking havoc
anyway. We could disable them by default like the atkbd and psm
devices, but there's really no point in pretending we're in a better
shape that way.
2003-11-08 23:19:13 +00:00
Bruce A. Mah
0a24252410 Trim device entries for an(4), ray(4), and awi(4). 2003-11-08 23:16:43 +00:00
Sam Leffler
252f24a2cf divert socket fixups:
o pickup Giant in divert_packet to protect sbappendaddr since it
  can be entered through MPSAFE callouts or through ip_input when
  mpsafenet is 1
o add missing locking on output
o add locking to abort and shutdown
o add a ctlinput handler to invalidate held routing table references
  on an ICMP redirect (may not be needed)

Supported by:	FreeBSD Foundation
2003-11-08 23:09:42 +00:00
Sam Leffler
8484384564 assert optional inpcb is passed in locked
Supported by:	FreeBSD Foundation
2003-11-08 23:03:29 +00:00
Sam Leffler
59daba27d9 add locking assertions
Supported by:	FreeBSD Foundation
2003-11-08 23:02:36 +00:00
Sam Leffler
3c47a187b7 assert inpcb is locked in udp_output
Supported by:	FreeBSD Foundation
2003-11-08 23:00:48 +00:00
Sam Leffler
c29afad673 o correct locking problem: the inpcb must be held across tcp_respond
o add assertions in tcp_respond to validate inpcb locking assumptions
o use local variable instead of chasing pointers in tcp_respond

Supported by:	FreeBSD Foundation
2003-11-08 22:59:22 +00:00
Sam Leffler
2a0746208b use local values instead of chasing pointers
Supported by:	FreeBSD Foundation
2003-11-08 22:57:13 +00:00
Sam Leffler
fa286d7db2 replace mtx_assert by INP_LOCK_ASSERT
Supported by:	FreeBSD Foundation
2003-11-08 22:55:52 +00:00
Sam Leffler
50d7c061a3 add some missing locking
Supported by:	FreeBSD Foundation
2003-11-08 22:53:41 +00:00
Sam Leffler
1d78192b35 the sbappendaddr call in socket_send must be protected by Giant
because it can happen from an MPSAFE callout

Supported by:	FreeBSD Foundation
2003-11-08 22:51:18 +00:00
Sam Leffler
e3f268fc89 add locking assertions that turn into noops if INET6 is configured;
this is necessary because the ipv6 code shares the in_pcb code with
ipv4 but (presently) lacks proper locking

Supported by:	FreeBSD Foundation
2003-11-08 22:48:27 +00:00
Bruce A. Mah
56fe73c36e Mention Cisco and Xircom devices supported by an driver. 2003-11-08 22:48:23 +00:00
Sam Leffler
7902224c6b o add a flags parameter to netisr_register that is used to specify
whether or not the isr needs to hold Giant when running; Giant-less
  operation is also controlled by the setting of debug_mpsafenet
o mark all netisr's except NETISR_IP as needing Giant
o add a GIANT_REQUIRED assertion to the top of netisr's that need Giant
o pickup Giant (when debug_mpsafenet is 1) inside ip_input before
  calling up with a packet
o change netisr handling so swi_net runs w/o Giant; instead we grab
  Giant before invoking handlers based on whether the handler needs Giant
o change netisr handling so that netisr's that are marked MPSAFE may
  have multiple instances active at a time
o add netisr statistics for packets dropped because the isr is inactive

Supported by:	FreeBSD Foundation
2003-11-08 22:28:40 +00:00
Robert Watson
2d633fc879 Add /usr/share/security to reflect recent hookup of Makefile and
mtree entry for share/security/lomac-policy.contexts.

Pointed out by:	ru
2003-11-08 18:01:44 +00:00
Robert Watson
418ada78f4 Makefile.inc wasn't needed; this is a left-over of other files present
in share/security in the trustedbsd_sebsd branch that are not present
in the main tree.  Also, .include Makefile.inc from the parent directory
so that BINDIR is set right.

Pointed out by:	bde
2003-11-08 17:56:53 +00:00
Robert Watson
b573fedaf3 If available, also print the lomac label by default for processes, files,
and interfaces.  This avoids the need to manually add these when setting
up LOMAC.

Pointed out by:	tjr
2003-11-08 17:51:50 +00:00
Bruce A. Mah
4191aa3f97 Trim the following device sections and refer to device lists in
manpages: ahd(4), mly(4), vpo(4), rl(4), bktr(4), uscanner(4).

Tweak mlx(4) entry slightly.

Also trim USB hubs, ukbd(4) and ums(4).  We can't seriously expect a
device list for these classes of devices that is inclusive enough to
be useful to anybody.
2003-11-08 17:38:11 +00:00
Bruce A. Mah
2979b13acd Remove trailing commas from device list. 2003-11-08 17:31:49 +00:00
Bruce A. Mah
32fc2ffd63 Add SOHO(PRAGMATIC) UE-1211C from the pc98 hardware notes. 2003-11-08 17:30:42 +00:00
Bruce A. Mah
e25d92c441 Capitalize "Ethernet" and "Fast Ethernet" consistently. No other
content changes.
2003-11-08 17:29:58 +00:00
Bruce A. Mah
abe008a0c9 Sort devices. In the process, remove a duplicate entry for the Accton
EN1207D.  No other content changes.
2003-11-08 17:28:31 +00:00
Gregory Neil Shapiro
6b66b61faa People are blindly coping this example refuse file. Doing so breaks
buildworld as src/etc/sendmail/freebsd.mc is missing.  That example
was added 3 years ago, before the /etc/mail/ infrastructure was in
place for customized configurations.  It is time to remove this example.

Noticed by:	Robert Gray <bob@boulderlabs.com> in freebsd-stable
MFC after:	1 day
2003-11-08 17:19:50 +00:00
Hidetoshi Shimokawa
ddce43e1cf Move post dmamap_load processes into the callback function. 2003-11-08 16:26:22 +00:00
Joseph Koshy
b684398248 Cross-reference pgfind(9) and pfind(9) from each others manual pages. 2003-11-08 13:41:22 +00:00
Josef Karthauser
68ded8480c I've had a couple of reports that the Sony Clie_40 doesn't need the
PALM_4 initialisation hack.  I've not confirmed it myself, but
seeing as we already don't use it for the Sony Clie_41, let's drop
it from the Clie_40 also and see what happens.

(Question: What about the Clie_S360 and Clie_NX60 devices?  Do we
 need to drop Palm4 from those as well?  Possibly, but I've not had
 any reports about those so I don't know.)

PR:		kern/56575
MFC after:	3 days
2003-11-08 11:23:07 +00:00
Scott Long
8226fdbdce Don't be so chatty when performing manual sense. This should make ATAPICAM
devices a lot more quiet.
2003-11-08 10:56:57 +00:00
Hideyuki KURASHINA
f6aff0f329 Add manpage link wd.4 -> wdc.4 2003-11-08 10:28:31 +00:00