Matthew Dillon [Fri, 18 Jan 2008 07:02:41 +0000 (07:02 +0000)]
HAMMER 21/many: B-Tree node locking finalization.
* Implement the final locking scheme for B-Tree nodes. Use shared locks
for all searches, upgrade to exclusive locks for modifications. If
unable to upgrade fall through with an EDEADLK error code and retry the
operation after releasing all other locks and blocking on the lock that
could not be obtained.
Simple iterations never fail and do not need to handle an EDEADLK error
code.
Because EDEADLK can actually occur quite often the error paths for most
code modules will begin to get some exercise, which is good for code
stability.
It is possible to cache cursor positions closer to the desired target
to reduce re-lookup times but I don't try to do this yet.
* Finalize code for basic (unbalanced) deletions. Neither leaf nor internal
nodes are allowed to be empty any more (except at the root of a cluster),
but recursive deletions may deadlock while going up the tree and leave
an internal node with a zero'd out element. The search and iteration
code now properly detects such elements and finishes off the deletion,
though a complete cleaning will be left up to the balancing module.
* Remove most instances of recursively instantiated cursors. There is still
one left in the directory deletion code.
* Remove all remaining unprotected cursor transitions (where locks had to be
released to avoid deadlocks).
Sepherosa Ziehau [Fri, 18 Jan 2008 03:58:05 +0000 (03:58 +0000)]
Nuke staled code
Sepherosa Ziehau [Fri, 18 Jan 2008 03:52:02 +0000 (03:52 +0000)]
- Extract RX sensitivity calibration capability from EEPROM
- Skip invalid BBP register/value entries extracted from EEPROM
- More debug messages
Sepherosa Ziehau [Fri, 18 Jan 2008 02:15:43 +0000 (02:15 +0000)]
- If channel TX power from EEPROM is above 32, set it to 24
- Rename rt2560_read_eeprom() to rt2560_read_config()
Sepherosa Ziehau [Fri, 18 Jan 2008 01:43:07 +0000 (01:43 +0000)]
Fix EEPROM channel TX power parsing.
Based-on: Ralink RT2500
Sascha Wildner [Thu, 17 Jan 2008 23:02:40 +0000 (23:02 +0000)]
Add some words about /usr/share/i18n and /usr/share/openssl/man.
Sepherosa Ziehau [Thu, 17 Jan 2008 13:33:11 +0000 (13:33 +0000)]
Add TX power compensation support in TX power calibration.
EEPROM layout for TSSI is obtained from Ralink RT61
Matthias Schmidt [Thu, 17 Jan 2008 12:51:22 +0000 (12:51 +0000)]
Remove tcsh emacs script which is obsolete due to the latest tcsh import.
Reminded-by: swildner@
Sepherosa Ziehau [Thu, 17 Jan 2008 08:56:14 +0000 (08:56 +0000)]
Add RX sensitivity calibration according to false CCA at relative long distance.
RX sensitivity adjustment step and two false CCA thresholds are according to
Ralink RT61, though they adjust RX sensitivity in the wrong direction.
# For my EW-7608PG
# without RX sensitivity calibration, false CCA is ~1200
# with RX sensitivity calibration, false CCA is 0 for most of the time
Sascha Wildner [Thu, 17 Jan 2008 07:39:00 +0000 (07:39 +0000)]
untabify
Sepherosa Ziehau [Thu, 17 Jan 2008 07:35:38 +0000 (07:35 +0000)]
- Add auto TX power and RX sensitivity calibration support. Add two sysctl
nodes to enable/disable them. Calibration is only done when NIC operates
as STA, since it does not make sense when the NIC operates in other mode.
By default, they are all disabled.
- Add sysctl node for TX power correction. TX power correction is disabled
by default. This could be used when TX power calibration should not be
performed, e.g. when NIC operates as AP
Enable TX power and RX sensitivity calibration and set TX power correction
to 8 (-4db) makes my EW-7608PG work well @48Mb and @54Mb when it is near AP
(-44dbm ~ -58dbm), @54Mb ~50 retries for ~1080 packets. Originally the NIC
requires at least one retry for every packets @48Mb.
TX power calibration needs further investigation. Calibrating TX power
based on RSSI may not work weel; integrate it into TX rate control may work
better.
Various limits and correction values are obtained from Ralink RT61 driver.
# TX power stepping for Auto-AGC capable NICs is not in place yet.
# RX sensitivity calibration for long distance is not in place yet.
Matthew Dillon [Thu, 17 Jan 2008 05:14:49 +0000 (05:14 +0000)]
HAMMER utilities:
* Fix missing releases, fix endless loop in cache flush.
Matthew Dillon [Thu, 17 Jan 2008 05:06:09 +0000 (05:06 +0000)]
HAMMER 20B/many: New spike topology, simplify the B-Tree code.
* Specify a spike as two B-Tree leaf elements instead of one B-Tree
internal element. This simplifies boundary corrections when traversing
through internal nodes.
* Remove subtree_count, which means we don't have to recurse through the
parent nodes to update it any more.
* Simplify the recursive deletion case. Neither Leaf or internal nodes
can be empty. If unable to remove a node due to a deadlock, simply zero
out the subtree_offset in the parent (internal) node and deal with it
later.
* Add some Debugger() shims for deletion cases not yet handled.
Matthew Dillon [Thu, 17 Jan 2008 04:59:50 +0000 (04:59 +0000)]
HAMMER utilities:
* Add a 'show' command to the hammer utility. This command dumps the B-Tree
for a HAMMER filesystem, allowing me to see just how bad my spike code
currently is.
* Remove the ClusterSize global (well, move it to newfs_hammer), the
hammer utilities pull the cluster size out of the volume header.
* UsingSuperClusters is only used by newfs_hammer. Super-cluster use
can be controlled on a volume-by-volume basis so pull the information
out of the volume header.
Matthias Schmidt [Wed, 16 Jan 2008 14:18:57 +0000 (14:18 +0000)]
Sync with FreeBSD to get support for SHA256
Sepherosa Ziehau [Wed, 16 Jan 2008 12:37:55 +0000 (12:37 +0000)]
Nuke staled code
Sepherosa Ziehau [Wed, 16 Jan 2008 12:31:25 +0000 (12:31 +0000)]
- Save two sets of average RSSI for 2529RF
- Extract secondary RSSI connection value from EEPROM
Matthias Schmidt [Wed, 16 Jan 2008 12:27:49 +0000 (12:27 +0000)]
Update the list of USB device IDs for umass(4) and needed routines.
Reviewed-by: hasso@
Taken-from: FreeBSD
Matthias Schmidt [Wed, 16 Jan 2008 12:25:36 +0000 (12:25 +0000)]
Update the list of USB device IDs for uscanner(4).
Reviewed-by: hasso@
Taken-from: FreeBSD
Matthias Schmidt [Wed, 16 Jan 2008 12:24:31 +0000 (12:24 +0000)]
Updated the list of USB device IDs for uvscom(4).
Reviewed-by: hasso@
Taken-from: FreeBSD
Matthias Schmidt [Wed, 16 Jan 2008 12:23:01 +0000 (12:23 +0000)]
Updated the list of USB device IDs for uvisor(4) and needed routines.
Reviewed-by: hasso@
Taken-from: FreeBSD
Sascha Wildner [Wed, 16 Jan 2008 11:33:43 +0000 (11:33 +0000)]
Add some more rc vars for Bluetooth to rc.conf and document them.
Matthias Schmidt [Wed, 16 Jan 2008 09:28:58 +0000 (09:28 +0000)]
Mention /etc/upgrade
Matthew Dillon [Wed, 16 Jan 2008 01:15:37 +0000 (01:15 +0000)]
HAMMER 20A/many: B-Tree lookup API cleanup, B-Tree changes.
* Abstract the as-of TID in the cursor API to hide the implementation
details.
* Key off of delete_tid instead of create_tid.
* Deal with a boundary key issue related to as-of lookups. This issue arises
when several records which differ only by their create_tid/delete_tid
reside in different leaf nodes. For example:
o(10) (delete_tid's listed)
/ \
6 16
If we want to do an as-of lookup of say, (8), the btree scan will dive
into the left branch and fail to find any elements visible to our as-of
request. The element '16' in the right branch, however, is visible
because it was deleted after the as-of timestamp of 8.
When this case arises btree_search() now detects that the boundary
element (10) exactly matches the request except for the delete_tid
and btree_search() now automatically iterates if an as-of search
is being executed.
For non-asof searches, such as insertion searches, the delete_tid is
treated as an absolute and it is desireable to recurse into the left
branch and stop there. If we popped over to the right branch our
new element (8) would be to the right of our boundary element (10)
instead of to the left.
* Remove code related to dealing with spike ranges in preparation for
a major change in the way spikes operate.
Simon Schubert [Wed, 16 Jan 2008 01:02:40 +0000 (01:02 +0000)]
Adjust for the DragonFly ELF ABI
Sascha Wildner [Tue, 15 Jan 2008 21:35:46 +0000 (21:35 +0000)]
Mention that '_enable' is not needed.
Sascha Wildner [Tue, 15 Jan 2008 21:35:09 +0000 (21:35 +0000)]
* Document the valid values for variables of type bool. They is already
documented in rc.subr(8) but it seems appropriate to add this info
here, too.
* Mention that '_enable' is not needed.
Sascha Wildner [Tue, 15 Jan 2008 20:54:02 +0000 (20:54 +0000)]
Add bluetooth files to the 'distribution' target.
Hasso Tepper [Tue, 15 Jan 2008 19:17:36 +0000 (19:17 +0000)]
Defaults for btconfig and sdpd rc.d scripts.
Reminded-by: swildner@ and matthias@
Matthias Schmidt [Tue, 15 Jan 2008 14:48:47 +0000 (14:48 +0000)]
If make upgrade deletes a file, print its name to stdout.
Matthias Schmidt [Tue, 15 Jan 2008 14:21:00 +0000 (14:21 +0000)]
Remove 3rd clause
Hasso Tepper [Tue, 15 Jan 2008 14:19:11 +0000 (14:19 +0000)]
Increase size of the umsm(4) buffers and tty(4) input buffer to allow high
speed serial devices like HSDPA modems work more reliably.
Matthias Schmidt [Tue, 15 Jan 2008 13:56:18 +0000 (13:56 +0000)]
Remove sh.exp.c.patch. The fix is included in version 6.15.00
Matthias Schmidt [Tue, 15 Jan 2008 13:54:43 +0000 (13:54 +0000)]
Switch to tcsh 6.15.00
Matthias Schmidt [Tue, 15 Jan 2008 13:50:59 +0000 (13:50 +0000)]
Add checkpoiting support to tcsh
Matthias Schmidt [Tue, 15 Jan 2008 13:46:32 +0000 (13:46 +0000)]
Add our READMEs
Matthias Schmidt [Tue, 15 Jan 2008 13:41:47 +0000 (13:41 +0000)]
Merge from vendor branch TCSH:
Vendor import of tcsh 6.15.00
Matthias Schmidt [Tue, 15 Jan 2008 13:41:47 +0000 (13:41 +0000)]
Vendor import of tcsh 6.15.00
Matthias Schmidt [Tue, 15 Jan 2008 12:30:44 +0000 (12:30 +0000)]
o Prepend output with a <TAB>
o Fix typo
Simon Schubert [Tue, 15 Jan 2008 10:09:29 +0000 (10:09 +0000)]
Add our register layout changes.
Sepherosa Ziehau [Tue, 15 Jan 2008 09:45:35 +0000 (09:45 +0000)]
More ids.
Obtained-from: Ralink RT73
Sepherosa Ziehau [Tue, 15 Jan 2008 09:01:13 +0000 (09:01 +0000)]
- Store tx rate control parameters in drivers, so switching between tx rate
control algorithms will not loose configured values.
- Move tx rate control private structures into its implementation file.
Matthew Dillon [Tue, 15 Jan 2008 06:02:57 +0000 (06:02 +0000)]
HAMMER 19/Many - Cleanup pass, cluster recovery code.
Sepherosa Ziehau [Tue, 15 Jan 2008 03:03:25 +0000 (03:03 +0000)]
Simplify tx rate control for drivers which only support periodic TX
data statistics.
Simon Schubert [Tue, 15 Jan 2008 00:39:15 +0000 (00:39 +0000)]
Update for import
Simon Schubert [Tue, 15 Jan 2008 00:38:45 +0000 (00:38 +0000)]
Import missed files from gdb-6.7.1
Simon Schubert [Tue, 15 Jan 2008 00:38:45 +0000 (00:38 +0000)]
Merge from vendor branch GDB:
Import missed files from gdb-6.7.1
Simon Schubert [Mon, 14 Jan 2008 21:36:39 +0000 (21:36 +0000)]
Switch to gdb-6.7.1
Simon Schubert [Mon, 14 Jan 2008 21:27:06 +0000 (21:27 +0000)]
Add our READMEs
Simon Schubert [Mon, 14 Jan 2008 21:25:33 +0000 (21:25 +0000)]
Remove erroneously imported files
Simon Schubert [Mon, 14 Jan 2008 21:04:52 +0000 (21:04 +0000)]
Customize the code to make it compile nicely.
Simon Schubert [Mon, 14 Jan 2008 21:00:22 +0000 (21:00 +0000)]
Import a stripped gdb-6.7.1
Simon Schubert [Mon, 14 Jan 2008 21:00:22 +0000 (21:00 +0000)]
Merge from vendor branch GDB:
Import a stripped gdb-6.7.1
Joe Talbott [Mon, 14 Jan 2008 19:27:11 +0000 (19:27 +0000)]
Add support for Cisco-Linksys WUSB54GC which has a different vendor ID
than the Linksys WUSB54GC.
Matthew Dillon [Mon, 14 Jan 2008 15:27:17 +0000 (15:27 +0000)]
Attempt to fix an interrupt recursion which can occur in specific
situations. The 'slow' interrupt code schedules an interrupt thread
without holding a critical section in an attempt to allow the thread to
preempt the current thread. If the thread preempts it can re-arm the
interrupt prior to returning and cause an interrupt recursion to occur
before the interrupt code is able to finish doreti, leading to a stack
overflow.
Since we want to preempt we cannot use a critical section to prevent
the recursion. Instead, use curthread->td_nest_count to prevent
recursive interrupts while the thread is unprotected by a critical
section. The same condition will now cause successive interrupts to
be queued and then dispatched synchronously by doreti.
Reported-by: "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>
Matthias Schmidt [Mon, 14 Jan 2008 12:39:27 +0000 (12:39 +0000)]
o Install Makefile_upgrade.inc to /etc/upgrade instead of /var/db.
Requested-by: dillon@
o Install the file really _after_ installworld this time. Thanks to
corecode@ for the report. This unbreaks buildworld
o Add an entry to the mtree file for /etc/upgrade
o Print a short message before deleting files
Matthias Schmidt [Mon, 14 Jan 2008 12:34:44 +0000 (12:34 +0000)]
Create four instead of one devices for vnode disks in /dev. If you use
vn(4) one entry is not enough in most cases.
Matthias Schmidt [Sun, 13 Jan 2008 19:05:27 +0000 (19:05 +0000)]
Remove the entries for the deleted tools.
Matthias Schmidt [Sun, 13 Jan 2008 19:03:08 +0000 (19:03 +0000)]
Remove rc/tools/tools/html-mv which is useless.
Matthias Schmidt [Sun, 13 Jan 2008 19:01:52 +0000 (19:01 +0000)]
Delete src/tools/tools/tcl_bmake. We don't have tcl in the source so the
script is useless.
Matthias Schmidt [Sun, 13 Jan 2008 19:00:33 +0000 (19:00 +0000)]
Nuke src/tools/tools/epfe. The script is useless because we don't have
a locally installed SGML handbook. If someone wants to use the tool with
the FreeBSD handbook, the tool remains in the Attic as well as in the
FreeBSD source.
Matthias Schmidt [Sun, 13 Jan 2008 18:21:50 +0000 (18:21 +0000)]
Add a new tool to convert FreeBSD USB device IDs to the format we use
in DragonFly. This eases the process of getting new IDs from FreeBSD, which
is currently necessary due to the fact that their lists are much longer
than our lists :)
To use the tool you need the usbdevs file from FreeBSD:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/usb/usbdevs
usage: ./convert_usb_ids.sh [-d] < FREEBSD-IDs > DFLY-IDs
The tool operates in two modi. The first one is for umass entries and
converts entries like this
{ USB_VENDOR_ADDONICS2, USB_PRODUCT_ADDONICS2_CABLE_205, RID_WILDCARD,
UMASS_PROTO_SCSI | UMASS_PROTO_BBB,
NO_QUIRKS
},
to
/* Addonics Cable 205 */
{ .vendor = 0x0bf6, .product = 0xa001, release = WILDCARD_ID,
.proto = UMASS_PROTO_SCSI | UMASS_PROTO_BBB,
.quirks = NO_QUIRKS
},
Pass -d option to use umass modi. The second one converts easier
entries:
{{ USB_VENDOR_ACEECA, USB_PRODUCT_ACEECA_MEZ1000 }, PALM4 },
to
{{ USB_DEVICE(0x4766, 0x0001) }, PALM4 }, /* Aceeca MEZ1000 RDA */
NOTE: Due to some peculiarities of the usbdevs file, it is possible that you
can get duplicate entries or wrong comments. So make sure that your converted
entry is correct.
Simon Schubert [Sun, 13 Jan 2008 18:02:20 +0000 (18:02 +0000)]
GC ifdef magic for old gcc version.
Sascha Wildner [Sun, 13 Jan 2008 17:56:03 +0000 (17:56 +0000)]
handbook.txt has been removed
Sascha Wildner [Sun, 13 Jan 2008 17:51:36 +0000 (17:51 +0000)]
Nuke remains of recently removed stuff.
Hasso Tepper [Sun, 13 Jan 2008 16:04:02 +0000 (16:04 +0000)]
Huawei UMTS/HSDPA adapetrs are already handled by umsm(4).
Matthias Schmidt [Sun, 13 Jan 2008 10:59:31 +0000 (10:59 +0000)]
Add Makefile_upgrade.inc to the tree. This file contains all files
which are obsolete as of now and can be removed by a 'make upgrade'
run. This should prevent further polluting of etc/Makefile with
rm -rf $foo statements.
The file is installed by 'make installworld' to ${DESTDIR}/var/db
and gets parsed by 'make upgrade'. If a user exchanges the two commands
by accident, 'make upgrade' prints a warning and doesn't remove any
files. The upgrade file itself is removed after a successful run.
Matthias Schmidt [Sun, 13 Jan 2008 10:05:21 +0000 (10:05 +0000)]
o Correct quirks entry for a MP3 player
o Add new quirk for Netak OnlyDisk drive
Obtained-from: FreeBSD
Sascha Wildner [Sun, 13 Jan 2008 08:41:15 +0000 (08:41 +0000)]
Rearrange a bit to avoid duplicate code.
Matthias Schmidt [Sat, 12 Jan 2008 20:11:53 +0000 (20:11 +0000)]
Sync page with FreeBSD to get mode pages for removable devices.
Matthias Schmidt [Sat, 12 Jan 2008 20:08:49 +0000 (20:08 +0000)]
Sync the file with FreeBSD to get the latest USB HID usage tables for
usbhid(3).
Matthias Schmidt [Sat, 12 Jan 2008 19:47:05 +0000 (19:47 +0000)]
Remove src/share/examples/BSD_daemon containing images/sources for the
BSD daemon and FreeBSD CD covers.
Matthias Schmidt [Sat, 12 Jan 2008 19:43:50 +0000 (19:43 +0000)]
Remove src/share/examples/worm used to build FreeBSD CDROMs. Its it
useless on DragonFly. Users who want to build their own CDROM can use our
nrelease stuff.
Matthias Schmidt [Sat, 12 Jan 2008 19:41:00 +0000 (19:41 +0000)]
Remove src/share/examples/FreeBSD_version which is not really useful on
DragonFly.
Sascha Wildner [Sat, 12 Jan 2008 17:53:16 +0000 (17:53 +0000)]
Remove some ancient HTML files and an obsolete copy of 'Theory' (there
is a newer version in share/zoneinfo).
Matthias Schmidt [Sat, 12 Jan 2008 16:30:47 +0000 (16:30 +0000)]
Remove handbook during next make upgrade run.
Matthias Schmidt [Sat, 12 Jan 2008 16:25:57 +0000 (16:25 +0000)]
Remove the SUBDIR line. The last entry was the handbook.
Matthias Schmidt [Sat, 12 Jan 2008 16:16:38 +0000 (16:16 +0000)]
Remove the ascii version of the handbook from the base system. This version
is badly out of date and barely helpful.
OK-by: swildner@
Sascha Wildner [Sat, 12 Jan 2008 15:47:43 +0000 (15:47 +0000)]
Clean up etc/mtree a bit:
* Remove BSD.release.dist, BSD.x11.dist and BSD.x11-4.dist which are
unused.
* Untabify the remaining files as per etc/mtree/README.
Hasso Tepper [Sat, 12 Jan 2008 12:30:22 +0000 (12:30 +0000)]
Make sure we really do only the software part if we're dying. Fixes panic
while detaching ohci device.
Nicolas Thery [Sat, 12 Jan 2008 08:17:44 +0000 (08:17 +0000)]
Minor fix.
Sascha Wildner [Sat, 12 Jan 2008 07:09:41 +0000 (07:09 +0000)]
Use .Fx and .Dx.
Nuno Antunes [Sat, 12 Jan 2008 06:01:27 +0000 (06:01 +0000)]
poll.h header should define the nfds_t type as required by the SUSv3.
Include the definition in the header and adjust poll(2) prototype.
Update the manpage accordingly.
Obtained from: FreeBSD
Ok by: swildner@
Hasso Tepper [Fri, 11 Jan 2008 19:45:27 +0000 (19:45 +0000)]
Add support for EVDO/UMTS card found in X61s Thinkpads.
Sepherosa Ziehau [Fri, 11 Jan 2008 14:28:59 +0000 (14:28 +0000)]
Add SparkLan RT2573
Obtained-from: OpenBSD via FreeBSD
Hasso Tepper [Fri, 11 Jan 2008 12:25:30 +0000 (12:25 +0000)]
- Fix compiling umsm(4) with UMSM_DEBUG
- Make it attach to individual interfaces, not to the device. All supported
devices I have seen have more than one ucom(4) device.
- Add support for Huawei Mobile Connect (various models use same id's).
Sepherosa Ziehau [Fri, 11 Jan 2008 11:59:41 +0000 (11:59 +0000)]
- Split if_clone.c out of if.c, license in if.c is attached to if_clone.c
- Split if_clone.h out of if.h and if_var.h, license of if_var.h is attached
to if_clone.h
- Staticize some variables and function in if_clone.c
- if_clonereq is the only userland visible structure related to this commit;
it is kept in if.h for now, so userland application won't be aware of this
commit. It will be moved to net/if_clone.h
No functional changes.
# if_clone.c is subjected to change to support clone creation with
# additional parameters.
Hasso Tepper [Fri, 11 Jan 2008 11:41:50 +0000 (11:41 +0000)]
Don't supress attach messages from devices other than first one while
attaching per interface.
Hasso Tepper [Fri, 11 Jan 2008 11:23:51 +0000 (11:23 +0000)]
Add few more usb devices. 0-5 are used in any modern machine and user might
want to use some more (via cardbus or smth). Also add some ucom devices,
USB modems (HSDPA/UMTS) are quite common nowadays and most of these cards
have 2-3 ucom(4) devices in use.
Sepherosa Ziehau [Fri, 11 Jan 2008 10:53:46 +0000 (10:53 +0000)]
Put benign warning message under bootverbose
Suggested-by: hasso@
Sepherosa Ziehau [Fri, 11 Jan 2008 10:34:15 +0000 (10:34 +0000)]
- Properly initialize flash bank size for ich9 based chips
- Bail out if hw flash status BERASE bits is b10, but chip itself is not ich9
Obtained-from: Intel em(4)
Matthew Dillon [Fri, 11 Jan 2008 05:45:19 +0000 (05:45 +0000)]
HAMMER 18B/many: Stabilization pass
* Fix B_LOCKED buffer leakages by clearing B_LOCKED when a bp is
disassociated from its related HAMMER structure.
* The sync code can be called with a buffer still referenced from
other sources, so hammer_flush_buffer_nodes() can't be called. The
refactored hammer_node abstraction no longer holds active refs on
the underlying buffer anyway (unless actively referenced itself), so
there is no need to flush it to guarentee that the buffer itself gets
flushed.
Matthew Dillon [Fri, 11 Jan 2008 01:41:34 +0000 (01:41 +0000)]
HAMMER 18/many: Stabilization pass
* Properly flag the inode when dirty buffer cache buffers are present so
fsync syncs them. Fixes a umount panic.
* Fix A-list bugs introduced when I added the '10' bit code to record
an all-allocated/initialized state vs '00' (all-allocated uninitialized).
* Fix an A-list bug in *alloc_rev. A comparison was off and could result
in a near full A-list from incorrectly believing it was completely full.
* When generating a spike also allocate a spike record for the recovery code
to find.
* Generate the initial free blocks for a hammer buffer via its cluster A-list
instead of directly so the cluster A-list's meta-data is properly
synchronized.
Nicolas Thery [Thu, 10 Jan 2008 22:30:28 +0000 (22:30 +0000)]
Add pselect syscall.
Add pselect man page (obtained from FreeBSD).
Add pselect wrapper in libthread_xu that calls pselect syscall.
Add pselect wrapper in libc_r that calls poll syscall (see XXX in code
and BUGS in pselect man page).
Changed libbind to use pselect syscall instead of locally defined wrapper.
Matthias Schmidt [Thu, 10 Jan 2008 14:18:39 +0000 (14:18 +0000)]
Warn the user if he uses -e and procfs(5) is not mounted.
Obtained-from: FreeBSD
Sepherosa Ziehau [Thu, 10 Jan 2008 13:01:40 +0000 (13:01 +0000)]
Don't enable ATTACH/INIT/TXPOWER debug prints by default.
Requested-by: hasso@
Sepherosa Ziehau [Thu, 10 Jan 2008 12:45:10 +0000 (12:45 +0000)]
- Add additional parameter to firmware_image_load(), since some devices do
not require firmware image to be in contiguous memory.
- Adjust bwi(4) according to above change.
- In firmware_image_load_file(), fix memory leakage by freeing temporary
firmware path.
Matthias Schmidt [Thu, 10 Jan 2008 10:44:28 +0000 (10:44 +0000)]
Add support for network devices found on Intel ICH9 hardware. I have one
of these devices in a 3GHz Core 2 Duo. More information can be found
here: http://download.intel.com/design/chipsets/datashts/
31697202.pdf
The diff is rather trivial, but let me know if I broke something :)
em0@pci0:25:0: class=0x020000 card=0x00018086 chip=0x10bd8086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '82566DM-2 Gigabit Network Connection'
class = network
subclass = ethernet
em0: <Intel(R) PRO/1000 Network Connection, Version - 6.2.9> port 0x30e0-0x30ff
mem 0x93224000-0x93224fff,0x93200000-0x9321ffff irq 11 at device 25.0 on pci0
Reviewed-by: sephe@
Taken-in-pieces-from: FreeBSD
Matthias Schmidt [Thu, 10 Jan 2008 10:31:48 +0000 (10:31 +0000)]
Replace home-grown list iteration with methods from sys/queue.h
Reviewed-by: corecode@, hasso@
Matthew Dillon [Thu, 10 Jan 2008 07:41:03 +0000 (07:41 +0000)]
HAMMER 17/many: Refactor IO backend, clean up buffer cache deadlocks.
Rewrite HAMMER's IO backend, sans locking which will occur in another patch.
The new backend is far less confusing though I wouldn't exactly call it
simple.
The new backend keeps track of dependancies with a structure->structure
dependancy list, plus implements the special case of opening and closing
a cluster header. Buffers are synchronized first, then cluster headers,
then volume headers. The new backend also removes a number of potential
deadlocks.