dragonfly.git
15 years agoMFC:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:57:49 +0000 (20:57 +0000)]
MFC:
Update ffs.5:
 * Add 's0' as DragonFly needs this

15 years agoMFC:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:56:17 +0000 (20:56 +0000)]
MFC:
Update mount_cd9660.8:
 * Fix SYNOPSIS

15 years agoMFC:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:54:18 +0000 (20:54 +0000)]
MFC:
Update fdisk.8:
 * Add note on 2TB limitation and hint on gpt.8

15 years agoMFC:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:48:01 +0000 (20:48 +0000)]
MFC:
Update fstab.5:
 * Add HAMMER to list of common file systems
 * Remove note that block special files has to be used
 * Xref HAMMER.5 and ffs.5
 * Add a bit of markup
 * s/filesystem/file system/ to get consistent spelling

15 years agoMFC: 1.5:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:41:13 +0000 (20:41 +0000)]
MFC: 1.5:
Update gpt.8:
 * Add note that GPT partitions are accessed as DragonFly disk slices
 * Describe that add command will print disk slice.
 * Correct default partition type: it is dfly, not UFS
 * Mention that dfly partition type is for disklabel64.5
 * Add FILES section
 * Add EXAMPLES section
 * Add some Xrefs
 * Mention that migrate command isn'r for DragonFly
 * Add note that booting from GPT isn't supported

15 years agoMFC: following 4 commits:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:35:47 +0000 (20:35 +0000)]
MFC: following 4 commits:
Fix small mdoc issue.

Update disklabel64.8:
 * Update one line description to include '64 bit'
 * Update description of DragonFly disk slice numbering to include GPT
 * Remove specifications without relevance, left over from disklabel.8
 * Add Xrefs to uuid.3 and gpt.8
 * Add note that booting isn't supported
 * Enhance markup a bit

Reference hammer(5).

Remove trailing whitespace.

15 years agoMFC: following 4 commits:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:31:36 +0000 (20:31 +0000)]
MFC: following 4 commits:
Fix two small mdoc issues.

Update disklabel.8:
 * Update description of DragonFly disk slice numbering to include GPT
 * Add note on 2TB limitation and hint on disklabel64
 * Enhance markup a bit

Reference hammer(5).

Remove trailing whitespace.

15 years agoMFC: following 2 commits:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:14:42 +0000 (20:14 +0000)]
MFC: following 2 commits:
Update mount_hammer.8
 * Update SYNOPSIS to reflect that ':' can be used as separator for specials
 * Rename `mount-options' to `options' to follow mount.8 and
save some space in SYNOPSIS
 * Add Xrefs for HAMMER.5 and gpt.8
 * Use consistent spelling for 'file system'
 * Add fstab(5) part to existing example
 * Add markup

Fix typo.

15 years agoMFC: following 2 commits:
Thomas Nikolajsen [Mon, 4 Aug 2008 20:07:46 +0000 (20:07 +0000)]
MFC: following 2 commits:
Update newfs_hammer.8:
 * Add Xrefs for HAMMER.5 and gpt.8
 * Change Xrefs from disklabel[64].8 to .5
 * Add some markup

Add description of how to specify sizes.

15 years agoMFC bandwith, delay, mirroring, and pfs work from HEAD.
Matthew Dillon [Mon, 4 Aug 2008 19:41:25 +0000 (19:41 +0000)]
MFC bandwith, delay, mirroring, and pfs work from HEAD.

15 years agoMFC: Fix a panic on boot that can occur if you hit keys on the keyboard
Matthew Dillon [Sun, 3 Aug 2008 03:00:58 +0000 (03:00 +0000)]
MFC: Fix a panic on boot that can occur if you hit keys on the keyboard
     before the console device's high level initialization is run.

15 years agoMFC:
Sascha Wildner [Sun, 3 Aug 2008 01:02:20 +0000 (01:02 +0000)]
MFC:

Actually install the blacklists of compromised SSH keys into /etc when doing
'make upgrade'.

15 years agoHAMMER: MFC to 2.0
Matthew Dillon [Sat, 2 Aug 2008 21:24:28 +0000 (21:24 +0000)]
HAMMER: MFC to 2.0

* Bug fix: fsync indefinite blocking

* Bug fix: missed invalidation which can cause an assertion

* Bug fix: kmalloc exhaustion panic on machines with > 2G of ram

* Feature: Streaming mirroring

15 years agoMFC 1.117 - fix desiredvnodes calculation for machines with >2G ram.
Matthew Dillon [Sat, 2 Aug 2008 14:34:29 +0000 (14:34 +0000)]
MFC 1.117 - fix desiredvnodes calculation for machines with >2G ram.

Requested-by: Francois Tigeot <ftigeot@wolfpond.org>
15 years agoSync with HEAD.
Sascha Wildner [Thu, 31 Jul 2008 20:09:43 +0000 (20:09 +0000)]
Sync with HEAD.

15 years agoMFC:
Michael Neumann [Wed, 30 Jul 2008 07:53:01 +0000 (07:53 +0000)]
MFC:
Implement mounting of a Hammer filesystem as a root filesystem.

  To mount a Hammer filesystem as root filesystem (e.g. /dev/ad0s1d),
  you have to specify the following in /boot/loader.conf:

      vfs.root.mountfrom="hammer:ad0s1d"

15 years agoMFC:
Sascha Wildner [Tue, 29 Jul 2008 13:10:57 +0000 (13:10 +0000)]
MFC:

Update for 2.0.

Reported-by: Michael Neumann <mneumann@ntecs.de>
15 years agoMFC:
Sascha Wildner [Sun, 27 Jul 2008 22:12:03 +0000 (22:12 +0000)]
MFC:

Actually install packages into ${ISOROOT}.

Submitted-by: corecode
Reported-by: M.K. <mk@freeweb.ozi.nu>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1092>

15 years agoMFC: Fix comments.
Sascha Wildner [Sun, 27 Jul 2008 21:14:41 +0000 (21:14 +0000)]
MFC: Fix comments.

15 years agoMFC: An off-by-one malloc size was corrupting the installer's memory,
Matthew Dillon [Sat, 26 Jul 2008 21:24:50 +0000 (21:24 +0000)]
MFC: An off-by-one malloc size was corrupting the installer's memory,
causing the time-zone selector to seg-fault.

Submitted-by: Pierre Riteau <pierre.riteau@gmail.com>
15 years agoMFC rev 1.89:
Sepherosa Ziehau [Sat, 26 Jul 2008 15:42:06 +0000 (15:42 +0000)]
MFC rev 1.89:
  Bring following change from FreeBSD (yar@freebsd.org):
    uipc_syscall.c rev 1.154

    If connect(2) has been interrupted by a signal and therefore the
    connection is to be established asynchronously, behave as in the

    - keep the SS_ISCONNECTING bit set thus indicating that
      the connection establishment is in progress, which is the case
      (clearing the bit in this case was just a bug);

    - return EALREADY, instead of the confusing and unreasonable
      EADDRINUSE, upon further connect(2) attempts on this socket
      until the connection is established (this also brings our
      connect(2) into accord with IEEE Std 1003.1.)

Tested-by: y0netan1@
Reviewed-by: hsu@
  Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1079>

15 years agoHAMMER commit - MFC ref count related panics when a HAMMER mount fails, etc.
Matthew Dillon [Sat, 26 Jul 2008 05:37:20 +0000 (05:37 +0000)]
HAMMER commit - MFC ref count related panics when a HAMMER mount fails, etc.

15 years agoMFC if_ethersubr.c rev1.77:
Sepherosa Ziehau [Sat, 26 Jul 2008 04:58:41 +0000 (04:58 +0000)]
MFC if_ethersubr.c rev1.77:
  Simplify ether_mport().  This also fixes the bug that m0 is not cleared in
  the first place, which causes caller panik.

Reported-by: elekktretterr@exemail.com.au
15 years agoMFC: Fix typos.
Sascha Wildner [Fri, 25 Jul 2008 03:18:44 +0000 (03:18 +0000)]
MFC: Fix typos.

15 years agoMFC: Document -f.
Sascha Wildner [Fri, 25 Jul 2008 03:18:36 +0000 (03:18 +0000)]
MFC: Document -f.

15 years agoSync with HEAD.
Sascha Wildner [Fri, 25 Jul 2008 03:16:12 +0000 (03:16 +0000)]
Sync with HEAD.

15 years agoMFC adjustments to newfs_hammer for minimum UNDO FIFO space.
Matthew Dillon [Thu, 24 Jul 2008 05:41:56 +0000 (05:41 +0000)]
MFC adjustments to newfs_hammer for minimum UNDO FIFO space.

15 years agoMFC:
Sascha Wildner [Tue, 22 Jul 2008 15:43:06 +0000 (15:43 +0000)]
MFC:

Fix path for the package tools.

Reported-by: Archimedes Gaviola <archimedes.gaviola@gmail.com>
15 years agoMFC change 'default' to 'English'
Matthew Dillon [Sat, 19 Jul 2008 22:15:16 +0000 (22:15 +0000)]
MFC change 'default' to 'English'

15 years agoPre-2.0 release: Sync with HAMMER 65 - simplify PFS operations.
Matthew Dillon [Sat, 19 Jul 2008 20:26:17 +0000 (20:26 +0000)]
Pre-2.0 release: Sync with HAMMER 65 - simplify PFS operations.

15 years agoPre-2.0 release: Sync with HAMMER 64 - simplify PFS operations.
Matthew Dillon [Sat, 19 Jul 2008 18:49:09 +0000 (18:49 +0000)]
Pre-2.0 release: Sync with HAMMER 64 - simplify PFS operations.

15 years agoPre-2.0 release: Sync with HAMMER 64 - simplify PFS operations, fix pfs-upgrade
Matthew Dillon [Sat, 19 Jul 2008 18:46:20 +0000 (18:46 +0000)]
Pre-2.0 release: Sync with HAMMER 64 - simplify PFS operations, fix pfs-upgrade

15 years agoAdjust path for the upcoming 2.0 release
Matthias Schmidt [Sat, 19 Jul 2008 12:26:26 +0000 (12:26 +0000)]
Adjust path for the upcoming 2.0 release

15 years agoMFC corrected printing of the slice number when adding a GPT partition.
Matthew Dillon [Sat, 19 Jul 2008 07:54:37 +0000 (07:54 +0000)]
MFC corrected printing of the slice number when adding a GPT partition.

Reported-by: Thomas Nikolajsen <thomas.nikolajsen@mail.dk>
15 years agoPre-2.0 release: Sync with HAMMER 64 - NFS and cross-device link fixes.
Matthew Dillon [Sat, 19 Jul 2008 04:51:09 +0000 (04:51 +0000)]
Pre-2.0 release: Sync with HAMMER 64 - NFS and cross-device link fixes.

15 years agoMFC 1.25: O_CREAT was being allowed to leak through a read-only NFS export.
Matthew Dillon [Sat, 19 Jul 2008 04:44:15 +0000 (04:44 +0000)]
MFC 1.25: O_CREAT was being allowed to leak through a read-only NFS export.

15 years agoRemove outdated hammer.txt.
Sascha Wildner [Fri, 18 Jul 2008 23:30:10 +0000 (23:30 +0000)]
Remove outdated hammer.txt.

15 years agoSync with HEAD.
Sascha Wildner [Fri, 18 Jul 2008 23:28:02 +0000 (23:28 +0000)]
Sync with HEAD.

15 years agoMFC: Fix message.
Sascha Wildner [Fri, 18 Jul 2008 23:25:05 +0000 (23:25 +0000)]
MFC: Fix message.

15 years agoPre-2.0 release, MFC some driver fixes related to interrupt management.
Matthew Dillon [Fri, 18 Jul 2008 03:52:01 +0000 (03:52 +0000)]
Pre-2.0 release, MFC some driver fixes related to interrupt management.

15 years agoPre-2.0 release, MFC firewire disk changes to properly detach SIMs.
Matthew Dillon [Fri, 18 Jul 2008 03:50:00 +0000 (03:50 +0000)]
Pre-2.0 release, MFC firewire disk changes to properly detach SIMs.

15 years agoMFC: Set count to a negative value for an initial burst.
Sascha Wildner [Fri, 18 Jul 2008 00:30:02 +0000 (00:30 +0000)]
MFC: Set count to a negative value for an initial burst.

15 years agoPre-2.0 release, MFC 63 - HAMMER I/O error handling and catastrophic
Matthew Dillon [Fri, 18 Jul 2008 00:21:09 +0000 (00:21 +0000)]
Pre-2.0 release, MFC 63 - HAMMER I/O error handling and catastrophic
umount support.

15 years agoMFC 1.45 for the 2.0 release: Properly set B_INVAL after failed read.
Matthew Dillon [Fri, 18 Jul 2008 00:13:23 +0000 (00:13 +0000)]
MFC 1.45 for the 2.0 release: Properly set B_INVAL after failed read.

15 years agoMFC CAM fixes for the 2.0 release.
Matthew Dillon [Fri, 18 Jul 2008 00:08:23 +0000 (00:08 +0000)]
MFC CAM fixes for the 2.0 release.

15 years agoMFC:
Thomas Nikolajsen [Fri, 18 Jul 2008 00:07:54 +0000 (00:07 +0000)]
MFC:
Capitalize TAP and add some markup.

15 years agoMFC:
Thomas Nikolajsen [Fri, 18 Jul 2008 00:05:26 +0000 (00:05 +0000)]
MFC:
Add VKERNEL to FILES and make some paths a bit shorter.

15 years agoMFC:
Thomas Nikolajsen [Fri, 18 Jul 2008 00:02:59 +0000 (00:02 +0000)]
MFC:
Add VKERNEL.

15 years agoMFC 1.113 - buffer cache adjustments for handling write errors.
Matthew Dillon [Fri, 18 Jul 2008 00:02:10 +0000 (00:02 +0000)]
MFC 1.113 - buffer cache adjustments for handling write errors.

15 years agoMFC:
Thomas Nikolajsen [Fri, 18 Jul 2008 00:00:19 +0000 (00:00 +0000)]
MFC:
Update newfs_hammer doc:
   - sync usage() & newfs_hammer.8
   - add a cross reference

15 years agoMFC: following 2 commits:
Thomas Nikolajsen [Thu, 17 Jul 2008 23:58:08 +0000 (23:58 +0000)]
MFC: following 2 commits:
Update mount_hammer doc:
   - sync usage() & mount_hammer.8
   - add missing \n to usage()
   - rename transactionid to transaction-id to ease reading
   - describe that special files can be `:' separated
   - add some more cross references

Add a pointer to hammer(5) and fix some minor issues.

15 years agoMFC 1.21: Give krateprintf() a burst capability.
Matthew Dillon [Thu, 17 Jul 2008 23:56:43 +0000 (23:56 +0000)]
MFC 1.21: Give krateprintf() a burst capability.

15 years agoMFC:
Thomas Nikolajsen [Thu, 17 Jul 2008 23:54:06 +0000 (23:54 +0000)]
MFC:
Update mount_hammer doc:
   - sync usage() & mount_hammer.8
   - add missing \n to usage()
   - rename transactionid to transaction-id to ease reading
   - describe that special files can be `:' separated
   - add some more cross references

15 years agoMFC: following 4 commits:
Thomas Nikolajsen [Thu, 17 Jul 2008 23:50:02 +0000 (23:50 +0000)]
MFC: following 4 commits:
undo(1) doc fixes:
   - sync usage() to undo.1
   - improve wording a bit in a few places

Update `-t' flag; now it is always transaction-id.

Add logic to warn of possible renames, and clearly state when failures may
  be due to prior renames.

  Change -h to -a (-a for 'all'), which is a more obvious option name.

Add missing space and newline to error message.

15 years agoMFC: HAMMER can now be demand-loaded.
Thomas Nikolajsen [Thu, 17 Jul 2008 23:36:58 +0000 (23:36 +0000)]
MFC: HAMMER can now be demand-loaded.

15 years agoSync with HEAD.
Sascha Wildner [Thu, 17 Jul 2008 10:18:37 +0000 (10:18 +0000)]
Sync with HEAD.

15 years agoMFC: Enable building of hammer.ko.
Sascha Wildner [Thu, 17 Jul 2008 10:18:06 +0000 (10:18 +0000)]
MFC: Enable building of hammer.ko.

15 years agoChange the man page ident string from 1.13 to 2.0 for the release
Matthias Schmidt [Thu, 17 Jul 2008 09:25:51 +0000 (09:25 +0000)]
Change the man page ident string from 1.13 to 2.0 for the release

15 years agoMerge 1.17: Add hammer(5).
Sascha Wildner [Wed, 16 Jul 2008 21:11:27 +0000 (21:11 +0000)]
Merge 1.17: Add hammer(5).

15 years agoAdd files from parent branch HEAD:
branch-fixup [Wed, 16 Jul 2008 20:39:28 +0000 (20:39 +0000)]
Add files from parent branch HEAD:
share/man/man5/hammer.5

15 years agoPre-2.0 release, synchronize with HAMMER 62
Matthew Dillon [Wed, 16 Jul 2008 18:39:32 +0000 (18:39 +0000)]
Pre-2.0 release, synchronize with HAMMER 62

15 years agoMFC 1.79 - fix lock leak in nfs_create().
Matthew Dillon [Wed, 16 Jul 2008 18:22:25 +0000 (18:22 +0000)]
MFC 1.79 - fix lock leak in nfs_create().

15 years agoPre-2.0 release, synchronize with HAMMER 61H
Matthew Dillon [Tue, 15 Jul 2008 22:14:40 +0000 (22:14 +0000)]
Pre-2.0 release, synchronize with HAMMER 61H

15 years agoPre-2.0 release, synchronize with HAMMER 61G
Matthew Dillon [Tue, 15 Jul 2008 18:04:54 +0000 (18:04 +0000)]
Pre-2.0 release, synchronize with HAMMER 61G

15 years agoMFC: Exclude acd* and fd* from the list of disks.
Sascha Wildner [Tue, 15 Jul 2008 02:32:09 +0000 (02:32 +0000)]
MFC: Exclude acd* and fd* from the list of disks.

15 years agoMFC: Fix an issue w/libthread_xu's priority ranges.
Matthew Dillon [Tue, 15 Jul 2008 01:24:54 +0000 (01:24 +0000)]
MFC: Fix an issue w/libthread_xu's priority ranges.

15 years agoAdd files from parent branch HEAD:
branch-fixup [Mon, 14 Jul 2008 23:57:10 +0000 (23:57 +0000)]
Add files from parent branch HEAD:
usr.sbin/installer/libinstaller/survey.c.patch

15 years agoMFC 1.14: Fix bug where mount_nfs w/ IP address could still fail if
Matthew Dillon [Mon, 14 Jul 2008 22:23:45 +0000 (22:23 +0000)]
MFC 1.14: Fix bug where mount_nfs w/ IP address could still fail if
name resolution is down.

15 years agoMFC 1.36: Fix a bug in the mount scan.
Matthew Dillon [Mon, 14 Jul 2008 22:19:42 +0000 (22:19 +0000)]
MFC 1.36: Fix a bug in the mount scan.

15 years agoMFC NFS performance fixes.
Matthew Dillon [Mon, 14 Jul 2008 17:46:41 +0000 (17:46 +0000)]
MFC NFS performance fixes.

15 years ago2.0 Release Engineering:
Matthew Dillon [Mon, 14 Jul 2008 04:20:39 +0000 (04:20 +0000)]
2.0 Release Engineering:

* Post-branch adjustments for 2.0-release

15 years ago2.0 Release Engineering:
Matthew Dillon [Mon, 14 Jul 2008 03:50:00 +0000 (03:50 +0000)]
2.0 Release Engineering:

* cvsup file, slip tag target

15 years ago2.0 Release Engineering:
Matthew Dillon [Mon, 14 Jul 2008 03:46:52 +0000 (03:46 +0000)]
2.0 Release Engineering:

* Bump DragonFly_version
* Bump HEAD sub-vers

15 years agoHAMMER Utilities: Features
Matthew Dillon [Mon, 14 Jul 2008 03:21:34 +0000 (03:21 +0000)]
HAMMER Utilities: Features

* hammer show: report the CRC in verbose mode.

15 years agoHAMMER 61F/Many: Stabilization w/ simultanious pruning and reblocking
Matthew Dillon [Mon, 14 Jul 2008 03:20:49 +0000 (03:20 +0000)]
HAMMER 61F/Many: Stabilization w/ simultanious pruning and reblocking

* BUG FIX: When doing direct-read check to see if any device buffers
  are aliasing the disk block and flush any we find which are dirty.
  This ensures that reblocked data gets to disk before a direct-read
  tries to read them FROM the disk.

* BUG FIX: Fix a bug introduced in a recent commit where the flusher
  wlll not always completely flush the UNDO FIFO or completely flush
  all meta-data, resulting in a rollback after a normal umount/mount.

* BUG FIX: Direct-writes queue I/O independant of the in-memory record.
  When the backend flusher flushes the record, making it available in the
  B-Tree, make sure that the indepent I/O has completed.  Otherwise
  a later reblocking operation might read the media before the direct-write
  has actually completed.

* BUG FIX: In-memory records are not subject direct-IO, since their data
  is not yet on the media.

* BUG FIX: Do not allow mount to succeed unless all volumes have been found.
  (Reported-by: Sascha Wildner <saw@online.de>)

* BUG FIX: The bd_heatup() call in the reblocker was in the wrong place,
  potentially causing the cursor to shift unexpectedly.

* Reorient some of the buffer invalidation code by enhancing
  the reservation code.

* Add read CRC verification logic for some direct-reads, but comment it out
  because the VM system's bogus-page replacement breaks it.

15 years agoKernel support for HAMMER:
Matthew Dillon [Mon, 14 Jul 2008 03:09:00 +0000 (03:09 +0000)]
Kernel support for HAMMER:

* Add another type to the bio->bio_caller_info1 union

* Add two new flags to getblk(), used by the cluster code.

  GETBLK_SZMATCH - Tell getblk() to fail and return NULL if a
  pre-existing buffer's size does not match
  the requested size (this prevents getblk()
  from doing a potentially undesired bwrite()
  sequence).

  GETBLK_NOWAIT - Tell getblk() to use a non-blocking lock.

* pop_bio() now returns the previous BIO (or NULL if there is no previous
  BIO).  This allows HAMMER to chain bio_done()'s

* Fix a bug in cluster_read().  The cluster code's read-ahead at the
  end could go past the caller-specified limit and force a block to
  the wrong block size.

15 years agoFix an asf core dump.
Matthew Dillon [Mon, 14 Jul 2008 00:09:42 +0000 (00:09 +0000)]
Fix an asf core dump.

Submitted-by: ejc <eric.j.christeson@gmail.com>
15 years agoSync the 'hammer show' description with reality.
Sascha Wildner [Sun, 13 Jul 2008 22:18:18 +0000 (22:18 +0000)]
Sync the 'hammer show' description with reality.

15 years agoUniformly refer to 'B-tree'.
Sascha Wildner [Sun, 13 Jul 2008 22:14:16 +0000 (22:14 +0000)]
Uniformly refer to 'B-tree'.

15 years agoUnload the bus dmamap, which was successfully loaded
Sepherosa Ziehau [Sun, 13 Jul 2008 11:02:50 +0000 (11:02 +0000)]
Unload the bus dmamap, which was successfully loaded

15 years agoWe're building live CDs using the installer in base for some time now,
Sascha Wildner [Sun, 13 Jul 2008 10:55:05 +0000 (10:55 +0000)]
We're building live CDs using the installer in base for some time now,
so they don't need to identify anymore as being built with it.

15 years agoFix deadlock occuring when booting vkernel from gdb. One lwp in the vkernel
Nicolas Thery [Sun, 13 Jul 2008 10:28:51 +0000 (10:28 +0000)]
Fix deadlock occuring when booting vkernel from gdb.  One lwp in the vkernel
sends a signal to another one and is preempted by the signal receiving one in
userexit().  As the vkernel is traced, the vkernel process is stopped and the
receiving lwp stops too.  The emitting lwp then resumes and blocks later on a
condition variable.  The gdb process sleeps on wait(2) which never completes
because the emitting lwp is not stopped.

To prevent this, stop lwps in userexit(), after lwkt_reschedule, if their
owning process is stopped.

Reported-by: Simon Schubert <corecode@fs.ei.tum.de>
15 years agoHAMMER 61E/Many: Stabilization, Performance
Matthew Dillon [Sun, 13 Jul 2008 09:32:48 +0000 (09:32 +0000)]
HAMMER 61E/Many: Stabilization, Performance

* PERFORMANCE: hammer_sync_inode() was generating a new transaction id
  for each inode, causing hammer_btree_do_propagation() to have to
  modify B-Tree nodes all the way to root on a per-file basis when
  syncing a rm -rf.

  Change the code to use the flusher's transaction id so all inodes
  bundled into the same flush group use the same transaction id.

* BUG FIX:  The reblocker was able to blow out the buffer cache with
  dirty data buffers.  Even though HAMMER allows these buffers to be
  flushed to the disk at any time by the kernel, calls to bwillwrite()
  are still needed to prevent a buffer cache deadlock.

15 years agoIncreate receive max coalesced bds to 80 to prevent system from being
Sepherosa Ziehau [Sun, 13 Jul 2008 03:57:41 +0000 (03:57 +0000)]
Increate receive max coalesced bds to 80 to prevent system from being
livelocked when 64bytes packets are injected @1.48Mpps.

It's RX side interrupt moderation logic is quite similar to et(4)'s:
(# recved packets > recv max coalesced bds) || (ticks > recv coalescing ticks)

# The 5750A1 I have tested could only sink packets @1.26Mpps

15 years agoUse a 64 bit quantity to collect file size data instead of
Matthew Dillon [Sun, 13 Jul 2008 03:37:43 +0000 (03:37 +0000)]
Use a 64 bit quantity to collect file size data instead of
32 bits, fixing overflows in the printed output.

Requested-by: "Trevor Kendall" <trevorjkendall@gmail.com>
15 years agoperror() will print its own colon.
Sascha Wildner [Sun, 13 Jul 2008 02:02:40 +0000 (02:02 +0000)]
perror() will print its own colon.

15 years agoHAMMER 61G/Many: Stabilization of new flush_group code
Matthew Dillon [Sun, 13 Jul 2008 01:12:41 +0000 (01:12 +0000)]
HAMMER 61G/Many: Stabilization of new flush_group code

* The mirroring, reblocking, and pruning code are now more robust in
  checking that too many meta-data buffers have not built up.

* Fix a bug in the flusher (today's flusher work) where pure meta-data
  changes to the media were not being flushed unless there was also a
  modified inode or two to flush.

15 years agoTypo fixing & minor cleanup.
Sascha Wildner [Sun, 13 Jul 2008 00:56:06 +0000 (00:56 +0000)]
Typo fixing & minor cleanup.

15 years agoHAMMER 61F2/Many: Fix bug in last commit
Matthew Dillon [Sat, 12 Jul 2008 23:55:22 +0000 (23:55 +0000)]
HAMMER 61F2/Many: Fix bug in last commit

* ip -> dip (pun intended)

15 years agoHAMMER 61F/Many: Stabilization
Matthew Dillon [Sat, 12 Jul 2008 23:47:13 +0000 (23:47 +0000)]
HAMMER 61F/Many: Stabilization

* Fix a bug triggered by rm -rf where HAMMER was failling to wait for
  reclaimed inodes to drain, allowing a build-up that would result in
  a kmalloc() pool-full panic.

  Add a required call to hammer_inode_waitreclaims() in the dounlink
  code.  Because this code acquires and releases inodes without having
  to mess around with related vnodes, it bypassed the reclaim checks in
  the vnode path.

Reported-by: Michael Neumann <mneumann@ntecs.de>
15 years agoHAMMER Utilities: Cleanup
Matthew Dillon [Sat, 12 Jul 2008 23:05:30 +0000 (23:05 +0000)]
HAMMER Utilities: Cleanup

* Cleanup the printfs for mirror-read, mirror-write, and mirror-copy.

15 years agoHAMMER 61E/Many: Stabilization, Performance
Matthew Dillon [Sat, 12 Jul 2008 23:04:50 +0000 (23:04 +0000)]
HAMMER 61E/Many: Stabilization, Performance

* The UNDO FIFO could get over-full, causing an assertion.  This was because
  certain load tests could cuase directories to end up with tens of
  thousands of directory entries and all of them were being flushed in
  a single flush group.

  Rewrite the flush group infrastructure to fix the issue.  Instead of
  having a two-stage flush we now have flush compartmentalization with
  the new hammer_flush_group structure.  Flushes can thus be broken down
  into transactions that don't blow out the UNDO FIFO.

* Improve flush performance by quite a bit.  The new infrastructure
  generates fewer B-Tree conflicts and appears to flush the work more
  smoothly, probably owing to the fact that the upper size of each
  flush group is now bounded.

15 years agoAdd quirk for the Samsung YP-U3.
Peter Avalos [Sat, 12 Jul 2008 20:36:06 +0000 (20:36 +0000)]
Add quirk for the Samsung YP-U3.

Obtained-from: FreeBSD

15 years agoFix an venerable bug: if we're reducing a rule that has an empty
Michael Neumann [Sat, 12 Jul 2008 16:52:48 +0000 (16:52 +0000)]
Fix an venerable bug: if we're reducing a rule that has an empty
right hand side and the yacc stackpointer is pointing at the very
end of the allocated stack, we end up accessing the stack out of
bounds by the implicit $$ = $1 action.

Obtained-from: OpenBSD (skeleton.c rev 1.29)

15 years ago* Add support for the nVidia MCP61, MCP65, MCP67, MCP73 and MCP77
Michael Neumann [Sat, 12 Jul 2008 16:38:10 +0000 (16:38 +0000)]
* Add support for the nVidia MCP61, MCP65, MCP67, MCP73 and MCP77
  series chipsets.

  Obtained-from: FreeBSD
  (ata-chipset.c rev 1.198 and parts of 1.204)
  (ata-pci.h rev 1.77 and 1.82)

* Fix clearing of nVidia interrupts.

  Obtained-from: FreeBSD
  (ata-chipset.c rev 1.214)

* Add support for MCP67 (revision 0xa2) not found in FreeBSD.

15 years agoUpdate build structure for libarchive-2.5.5.
Peter Avalos [Sat, 12 Jul 2008 14:57:33 +0000 (14:57 +0000)]
Update build structure for libarchive-2.5.5.

Start building bsdcpio.  It is not the default, but it can be installed by
setting WITH_BSDCPIO.  bsdcpio will become the default in 2.1, and GNU cpio
will be removed in 2.3.

15 years agoMerge from vendor branch LIBARCHIVE:
Peter Avalos [Sat, 12 Jul 2008 14:42:23 +0000 (14:42 +0000)]
Merge from vendor branch LIBARCHIVE:
Import libarchive-2.5.5.

15 years agoImport libarchive-2.5.5.
Peter Avalos [Sat, 12 Jul 2008 14:42:23 +0000 (14:42 +0000)]
Import libarchive-2.5.5.

15 years ago- Check number of free TX descs before trying to xmit packets
Sepherosa Ziehau [Sat, 12 Jul 2008 11:44:17 +0000 (11:44 +0000)]
- Check number of free TX descs before trying to xmit packets
- Recollect TX descs in nfe_start() if nfe(4) is going to enter OACTIVE
- Use dynamic segment limit for bus_dmamap_load() in nfe_encap()

This change gives me following result on AMD64X2 3600+ with MCP51:

10 seconds, TX 64bytes packets, before/after

256 TX desc
 imtimer | packets     | if_snd full    | if_oerrors
  -125     1.08M/1.08M   84532/82786      90/0
  -250     990K/1.08M    3735886/157125   38872/0

4096 TX desc
 imtimer | packets     | if_snd full    | if_oerrors
  -125     1.08M/1.09M   0/0              45/0
  -250     1.08M/1.10M   0/0              39/0

It gives great improvement when number of TX desc is 256 (default),
and it at least will not loose any packets if number TX desc is 4096.

15 years agoAdd brief description about tx_ring_count
Sepherosa Ziehau [Sat, 12 Jul 2008 09:31:08 +0000 (09:31 +0000)]
Add brief description about tx_ring_count