Hartmut Brandt [Mon, 13 Mar 2006 09:28:46 +0000 (09:28 +0000)]
There has been a shared libdisk for a couple of days until it was reverted
back to be static-only in january. For this period libdisk was used by
the HOSTRES module for bsnmp which was then rewritten to use libgeom. The
only other consumer of libdisk is sysinstall so removing the shared library
should be safe.
Paul Saab [Mon, 13 Mar 2006 08:13:37 +0000 (08:13 +0000)]
Fix the format/display descriptor of vm.kmem_size and vm.kmem_free
to be 'long' instead of 'int' so that sysctl(8) correctly displays
the 8 returned bytes as a single 'long' instead of two 'int' values.
- Reimplement I/O data allocation to prevent deadlocks.
Submitted by: green
- Speed up synchronization process by using configurable number of I/O
requests in parallel.
+ Add kern.geom.raid3.sync_requests tunable which defines how many parallel
I/O requests should be used.
+ Retire kern.geom.raid3.reqs_per_sync and kern.geom.raid3.syncs_per_sec
sysctls.
- Fix race between regular and synchronization requests.
- Reimplement raid3's data synchronization - do not use the topology lock
for this purpose, as it may case deadlocks.
- Stop synchronization from pre-sync hook.
- Fix some other minor issues.
Tested by: Mike Tancsa <mike@sentex.net>
MFC after: 3 days
Daniel Eischen [Mon, 13 Mar 2006 00:59:51 +0000 (00:59 +0000)]
Add compatibility symbol maps. libpthread (.so.1 and .so.2)
used LIBTHREAD_1_0 as its version definition, but now needs
to define its symbols in the same namespace used by libc.
The compatibility hooks allows you to use libraries and
binaries built and linked to libpthread before libc was
built with symbol versioning. The shims can be removed if
libpthread is given a version bump.
- Speed up synchronization process by using configurable number of I/O
requests in parallel.
+ Add kern.geom.mirror.sync_requests tunable which defines how many parallel
I/O requests should be used.
+ Retire kern.geom.mirror.reqs_per_sync and kern.geom.mirror.syncs_per_sec
sysctls.
- Fix race between regular and synchronization requests.
- Reimplement mirror's data synchronization - do not use the topology lock
for this purpose, as it may case deadlocks.
- Stop synchronization from pre-sync hook.
- Fix some other minor issues.
Daniel Eischen [Mon, 13 Mar 2006 00:56:02 +0000 (00:56 +0000)]
Add hooks to build libc with symbol versioning. This is
disabled by default; add SYMVER_ENABLED=true to /etc/make.conf
to enable it. libc should get a version bump before this is
enabled by default.
Damien Bergamini [Sun, 12 Mar 2006 18:54:40 +0000 (18:54 +0000)]
o don't use '-' characters in firmware names
o call firmware_put() early to release the firmware module
o on firmware panics or watchdog timeouts, schedule a task to reinitialize
the interface (we may sleep in iwi_init())
o discard oversized rx frames
Flush stdout after printing name of created device, so it can be properly
read when 'ggatec create' is used in backticks or its output is piped to
another command.
Jeff Roberson [Sun, 12 Mar 2006 05:26:12 +0000 (05:26 +0000)]
- Remove the call to softdep_waitidle after suspending the filesystem.
This does not do what I wanted as all dirty buffers must be flushed
by the call to ffs_sync and any remaining dependency work would mean
that this failed.
Jeff Roberson [Sun, 12 Mar 2006 05:24:14 +0000 (05:24 +0000)]
- Remove the call to softdep_waitidle after suspending the filesystem.
This does not do what I wanted as all dirty buffers must be flushed
by the call to ffs_sync and any remaining dependency work would mean
that this failed.
Tim Kientzle [Sat, 11 Mar 2006 23:59:44 +0000 (23:59 +0000)]
The idea of supporting 'tp' was a fun one, but it is
really not worth the effort to develop and maintain
support for a format that hasn't been used for 30 years. ;-/
Philip Paeps [Fri, 10 Mar 2006 23:50:53 +0000 (23:50 +0000)]
Fix multicast support for cs89x0 chips. Just setting the RX_MULTCAST_ACCEPT
flag isn't enough - the filter needs to be set up too, or no multicast frames
are accepted.
Sponsored by: Philips Industrial Applications (indirectly)
MFC after: 3 days
Damien Bergamini [Fri, 10 Mar 2006 20:35:09 +0000 (20:35 +0000)]
o acknowledge interrupts early in the interrupt handler
o stop processing interrupts after a firmware fatal error or a radio kill
o clarify the possible values for the 'antenna' sysctl.
o by default, let the firmware do antenna diversity.
the firmware will periodically switch to another antenna to evaluate the
signal quality.
Søren Schmidt [Fri, 10 Mar 2006 19:08:52 +0000 (19:08 +0000)]
Module that adds support for using USB storage devices through the
ATA framework. Mainly written to be able to use USB Flash keys.
This is work in progress so use with care :)
Doesn't need CAM and cannot coexist with umass.c
Warner Losh [Fri, 10 Mar 2006 18:40:31 +0000 (18:40 +0000)]
Add note about 'audit' group.
Add note about the '_dhcp' user.
While one is expected to run mergemaster -p before installworld, make
a note of the points where this will actively fail due to the addition of
users/groups.
Daniel Eischen [Fri, 10 Mar 2006 07:58:02 +0000 (07:58 +0000)]
Remove including of libc sources. All the required functions
are exported by libc with prototypes in our standard headers.
I guess at one time this was necessary, but not any longer.
When inserting a new component md_provsize metadata field wasn't set, which
means that old problem was triggered (when two providers end at the same
offset, eg. ad0 and ad0s1 and the wrong was is picked up by gmirror/graid3).
Reported by: Michal Suszko <dry@dry.pl>
MFC after: 3 days
Jung-uk Kim [Thu, 9 Mar 2006 22:49:44 +0000 (22:49 +0000)]
- Implement serial numbers, UUID, and asset tag (turned off by default).
Use 'BOOT_SENSITIVE_INFO=YES' variable to turn them on.
- Use 'uint*_t' instead of 'u_int*_t', correct compilation warnings, and
update copyright while I am here.
Rever the previous changes. It turns out that it perfectly correct
for a makefile to set 'NO_MAN=' when the makefile is for a program
that will not create a man page.
John Baldwin [Thu, 9 Mar 2006 16:38:52 +0000 (16:38 +0000)]
Flip the switch and don't route interrupts to hyperthreads in a HT system.
In at least one benchmark this showed around a 20% performance increase.
If other workloads do benefit from having hyperthreads service interrupts,
we can always make this a loader tunable.
Yaroslav Tykhiy [Thu, 9 Mar 2006 15:48:45 +0000 (15:48 +0000)]
The `pf' and `pflog' sources do not depend on DEV_PF or DEV_PFLOG,
which is normal for own files of a device driver.
DEV_FOO should be used if an unrelated kernel file needs to know of
the `foo' driver's static presence. Obviously, module source files
should never use DEV_*.
Yaroslav Tykhiy [Thu, 9 Mar 2006 14:58:09 +0000 (14:58 +0000)]
Revert to setting vlan and vlandev parametes synchronously, as soon
as both have been read from the command line. Still use the callback,
but this time only to verify that both vlan and vlandev have been
found on the command line.
This should allow for control over the relative order of processing
parameters, which is needed to satisfy some caveats of the if_vlan
driver. E.g., MTU cannot be changed on a vlan interface until it's
attached to its parent.
After revision 1.4 of `src/usr.sbin/bsnmpd/bsnmpd/Makefile' the
gensnmptree utility is required at "make depend" time, because it
is used to generate `oid.h' for bsnmpd.
This means that all versions of HEAD before 2004/01/23 16:22:49 need
gensnmptree as a bootstrap util when it's not already installed as
part of the base system. The first __FreeBSD_version that we can
assume this can work is 700014 which happened after the gensnmptree
change (in -r 1.263 of `src/sys/sys/param.h', at 2006/02/17 14:14:15).
For __FreeBSD_version values before 700014 add gensnmptree to the
bootstrap tools, to allow upgrades from versions of FreeBSD before
that date.
Søren Schmidt [Thu, 9 Mar 2006 08:34:44 +0000 (08:34 +0000)]
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.
Tor Egge [Wed, 8 Mar 2006 23:43:39 +0000 (23:43 +0000)]
Use vn_start_secondary_write() and vn_finished_secondary_write() as a
replacement for vn_write_suspend_wait() to better account for secondary write
processing.
Close race where secondary writes could be started after ffs_sync() returned
but before the file system was marked as suspended.
Detect if secondary writes or softdep processing occurred during vnode sync
loop in ffs_sync() and retry the loop if needed.
Switch these makefiles to use 'MAN=' to indicate they will not generate
a man page, instead of 'NO_MAN='. 'NO_MAN=' is something users would
set, not something a makefile should be using.