9 years agoThis is a major revamping of the pageout and low-memory handling code.
Matthew Dillon [Thu, 18 Dec 2008 21:27:20 +0000 (13:27 -0800)]
This is a major revamping of the pageout and low-memory handling code.

The pageout daemon now detects out-of-memory conditions and properly
kills the largest process(es).  This condition occurs when swap is
full (or you have no swap) and most of the remaining VM pages in memory
have become dirty.  With no swap to page to the dirty pages squeeze out
the clean ones.  The pageout daemon detects the case and starts killing

The pageout daemon now detects stress in the form of excess cpu use
and tries to reduce its cpu footprint when that occurs.  Excess cpu use
can occur when the only pages left in-core are dirty and there is nowhere
to swap them to.  Previously if this case occured the system would basically
just stop working.

These changes make the system truely have VM = RAM+SWAP.  If you 1G of ram
and 1G of swap the system can run up to 2G worth of processes.

9 years agovnode_pager_haspage() could return TRUE but leave *before and *after
Matthew Dillon [Thu, 18 Dec 2008 21:18:29 +0000 (13:18 -0800)]
vnode_pager_haspage() could return TRUE but leave *before and *after
uninitialized, causing vm_fault's burst pagein feature to panic the system.

vm_fault was almost never using its burst pagein feature due to incorrect
test logic.  The burst pagein code itself was also seriously buggy, so it
is fortunate the test logic was broken.

Rewrite the broken test logic and fix the bugs in the burst pagein code.

Add a new sysctl vm.burst_fault, defaulting to 0 (disabled).  The default
will be changed to 1 in a week or two.

9 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into...
Matthew Dillon [Thu, 18 Dec 2008 01:07:33 +0000 (17:07 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel

9 years agoFix bugs in dealing with low-memory situations when the system has run out
Matthew Dillon [Thu, 18 Dec 2008 01:02:38 +0000 (17:02 -0800)]
Fix bugs in dealing with low-memory situations when the system has run out
of swap or has no swap.

* Fix an error where the system started killing processes before it needed

* Continue propagating pages from the active queue to the inactive queue
  when the system has run out of swap or has no swap, even though the
  inactive queue has become bloated.  This occurs because the inactive
  queue may be unable to drain due to an excess of dirty pages which
  cannot be swapped out.

* Use the active queue to detect excessive stress which combined with
  an out-of-swap or no-swap situation means the system has run out of
  memory.  THEN start killing processes.

* This also allows the system to recycle nearly all the clean pages
  available when it has no swap space left, to try to keep things going,
  leaving only dirty pages in the VM page queues.

9 years agoUnbreak buildworld
Michael Neumann [Wed, 17 Dec 2008 18:40:12 +0000 (18:40 +0000)]
Unbreak buildworld

9 years agoMerge branch 'vfsconf'
Michael Neumann [Wed, 17 Dec 2008 17:21:05 +0000 (17:21 +0000)]
Merge branch 'vfsconf'

9 years agoClean up a bit
Michael Neumann [Wed, 17 Dec 2008 17:10:58 +0000 (17:10 +0000)]
Clean up a bit

9 years agoMerge branch 'vfsconf'
Michael Neumann [Wed, 17 Dec 2008 15:50:04 +0000 (15:50 +0000)]
Merge branch 'vfsconf'

9 years agoRefactor filesystem types list and fix bug.
Michael Neumann [Wed, 17 Dec 2008 15:44:42 +0000 (15:44 +0000)]
Refactor filesystem types list and fix bug.

Refactor the management of the filesystem types list (vfsconf) by
introducing some management functions. Reduce inter-module coupling.

This actually fixes a potential "bug" in vfs_register() which does not
compare the new VFS to register with the last entry from the list, i.e.
two (or more) sequential vfs_register() calls with the same argument
would succeed.

9 years agoSymbol TX desc is only used by 64bits TX chain format.
Sepherosa Ziehau [Wed, 17 Dec 2008 13:23:16 +0000 (21:23 +0800)]
Symbol TX desc is only used by 64bits TX chain format.

9 years agoAlways free the passed in mbuf if jme_encap() failed.
Sepherosa Ziehau [Wed, 17 Dec 2008 12:30:46 +0000 (20:30 +0800)]
Always free the passed in mbuf if jme_encap() failed.
Non-EFBIG error probably will not recover.

9 years agoDon't use magic number
Sepherosa Ziehau [Wed, 17 Dec 2008 12:12:34 +0000 (20:12 +0800)]
Don't use magic number

9 years agoRename ring_cnt to desc_cnt.
Sepherosa Ziehau [Wed, 17 Dec 2008 12:10:05 +0000 (20:10 +0800)]
Rename ring_cnt to desc_cnt.

ring_cnt may be used when RSS (multi rx ring) support is experimented.

9 years agoTunable number of RX/TX descs
Sepherosa Ziehau [Wed, 17 Dec 2008 11:52:28 +0000 (19:52 +0800)]
Tunable number of RX/TX descs

9 years agoRemove unused macros
Sepherosa Ziehau [Wed, 17 Dec 2008 10:38:10 +0000 (18:38 +0800)]
Remove unused macros

9 years agoLIST_FOREACH_MUTUABLE() was tracking processes not held with PHOLD().
Matthew Dillon [Tue, 16 Dec 2008 17:54:38 +0000 (09:54 -0800)]
LIST_FOREACH_MUTUABLE() was tracking processes not held with PHOLD().
Use a normal LIST_FOREACH() instead because the main iterator is being
protected by PHOLD().

9 years agoAssert that nobody holds the process referenced with PHOLD() in
Matthew Dillon [Tue, 16 Dec 2008 17:53:32 +0000 (09:53 -0800)]
Assert that nobody holds the process referenced with PHOLD() in

9 years agoAdd missing range checks to sopt_valsize for the linux emulated
Matthew Dillon [Tue, 16 Dec 2008 17:49:35 +0000 (09:49 -0800)]
Add missing range checks to sopt_valsize for the linux emulated

9 years agoDue to races clean blocks can remain cached, remove a conditional from
Matthew Dillon [Tue, 16 Dec 2008 17:46:57 +0000 (09:46 -0800)]
Due to races clean blocks can remain cached, remove a conditional from
the ffs_truncate3 panic.

Reported-by: sorry, I forgot.
9 years agoCleanup and enhance the vnodeinfo output.
Matthew Dillon [Tue, 16 Dec 2008 17:46:10 +0000 (09:46 -0800)]
Cleanup and enhance the vnodeinfo output.

9 years agoAdd a socketpair performance tester.
Matthew Dillon [Tue, 16 Dec 2008 17:44:57 +0000 (09:44 -0800)]
Add a socketpair performance tester.

9 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into...
Matthew Dillon [Tue, 16 Dec 2008 17:40:20 +0000 (09:40 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel

9 years agoMake __fpending() take a const argument.
Matthew Dillon [Tue, 16 Dec 2008 17:31:42 +0000 (09:31 -0800)]
Make __fpending() take a const argument.

9 years agoReplace libpcap's pcap-bpf.h with system's net/bpf.h
Sepherosa Ziehau [Tue, 16 Dec 2008 14:26:58 +0000 (22:26 +0800)]
Replace libpcap's pcap-bpf.h with system's net/bpf.h

9 years agoRemove tcpcb.tt_msg == NULL tests in tcp_callout_*().
Sepherosa Ziehau [Tue, 16 Dec 2008 13:40:42 +0000 (21:40 +0800)]
Remove tcpcb.tt_msg == NULL tests in tcp_callout_*().

tcpcb.tt_msg == NULL could only happen for TCP listen sockets, while
for this kind of sockets, tcp timers should never be used.

Suggested-by: dillon@
9 years agoRestore the semantic of callout_active() testing on tcp timers.
Sepherosa Ziehau [Mon, 15 Dec 2008 14:29:35 +0000 (22:29 +0800)]
Restore the semantic of callout_active() testing on tcp timers.

Originally there is no time gap between the running of the tcp timer
handler and the deactivation of the tcp timer callout, but the message
based tcp timer has a time gap in between these two actions.  This
time gap affects the code path which depends on the current state of
the tcp timer, i.e. return value of callout_active(tcp_timer).  To
close this time gap, we take the pending and running tcp timer tasks
into consideration when testing the current state of the tcp timer.

Reviewed-by: dillon@
9 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Michael Neumann [Mon, 15 Dec 2008 23:11:24 +0000 (23:11 +0000)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly

9 years agoFix typo
Michael Neumann [Mon, 15 Dec 2008 23:09:33 +0000 (23:09 +0000)]
Fix typo

9 years agoRename a local function that conflicts with one in librpcsvc.
Peter Avalos [Mon, 15 Dec 2008 18:39:51 +0000 (10:39 -0800)]
Rename a local function that conflicts with one in librpcsvc.

9 years agoRemove superfluous shadow variable declaration
Michael Neumann [Mon, 15 Dec 2008 17:45:26 +0000 (17:45 +0000)]
Remove superfluous shadow variable declaration

9 years agoCosmetic changes (move assignment out of "if")
Michael Neumann [Mon, 15 Dec 2008 17:42:35 +0000 (17:42 +0000)]
Cosmetic changes (move assignment out of "if")

9 years agoFix typo (currenet -> current)
Michael Neumann [Mon, 15 Dec 2008 15:41:00 +0000 (15:41 +0000)]
Fix typo (currenet -> current)

9 years agoRemove unnecessary optimization.
Michael Neumann [Mon, 15 Dec 2008 00:46:58 +0000 (00:46 +0000)]
Remove unnecessary optimization.

The optimization (>> 9) will be automatically performed by the compiler.

9 years agoRemove some unnecessary casts.
Sascha Wildner [Sun, 14 Dec 2008 17:56:01 +0000 (18:56 +0100)]
Remove some unnecessary casts.

9 years agoAdjust the bt_gethostbyaddr(3) prototype to match gethostbyaddr(3).
Sascha Wildner [Sun, 14 Dec 2008 17:53:02 +0000 (18:53 +0100)]
Adjust the bt_gethostbyaddr(3) prototype to match gethostbyaddr(3).

9 years agoBring the prototype of gethostbyaddr(3) in line with the standard.
Sascha Wildner [Sun, 14 Dec 2008 17:50:21 +0000 (18:50 +0100)]
Bring the prototype of gethostbyaddr(3) in line with the standard.


9 years agoUse priority message for TCP timers
Sepherosa Ziehau [Sun, 14 Dec 2008 14:27:33 +0000 (22:27 +0800)]
Use priority message for TCP timers

9 years agoWhite space cleanup
Sepherosa Ziehau [Sun, 14 Dec 2008 10:47:31 +0000 (18:47 +0800)]
White space cleanup

9 years agoUse 32bit TX chain format on the platform or NIC which only supports
Sepherosa Ziehau [Sun, 14 Dec 2008 10:14:37 +0000 (18:14 +0800)]
Use 32bit TX chain format on the platform or NIC which only supports
32bit DMA buffer operation.

9 years agoSplit net/dlt.h out of net/bpf.h
Sepherosa Ziehau [Sun, 14 Dec 2008 06:30:08 +0000 (14:30 +0800)]
Split net/dlt.h out of net/bpf.h

Idea-from: NetBSD

9 years agoPull in libpcap's new DLTs
Sepherosa Ziehau [Sun, 14 Dec 2008 05:37:44 +0000 (13:37 +0800)]
Pull in libpcap's new DLTs

This commit targets using system net/bpf.h in libpcap instead of
libpcap's own pcap-bpf.h; mainly to make following code compile:
  #include <pcap.h>
  #include <net/bpf.h>

Reported-by: hasso@
As of this commit DLT_PFSYNC is changed to 18.  The original define
conflicts with libpcap's define and it looks like both libpcap,
NetBSD and OpenBSD use 18 as DLT_PFSYNC.  This may introduce compat
issue with dump files generated using DLT_PFSYNC before this change.

9 years agoSync ciss(4) with FreeBSD's RELENG_4 branch.
Sascha Wildner [Sat, 13 Dec 2008 08:49:26 +0000 (09:49 +0100)]
Sync ciss(4) with FreeBSD's RELENG_4 branch.

This adds support for many Smart Array controllers, fixes a couple of
bugs and cleans up some whitespace issues.

Note that hot-plugging does not seem to work yet.

Many thanks to Archimedes Gaviola <archimedes.gaviola@gmail.com> who
tested the patch on a HP ProLiant DL380 (Smart Array P400).

Taken-from: FreeBSD

9 years agoAdd ftw(), nftw(), associated header files and documentation.
Sascha Wildner [Fri, 12 Dec 2008 23:21:50 +0000 (00:21 +0100)]
Add ftw(), nftw(), associated header files and documentation.

It seems that security/prelude-manager in pkgsrc actually needs it.

Taken-from: FreeBSD
Tested-by: Rumko <rumcic@gmail.com>
9 years agoMerge branch 'misc'
Sascha Wildner [Fri, 12 Dec 2008 09:20:06 +0000 (10:20 +0100)]
Merge branch 'misc'

9 years agoSilence warnings and rearrange the includes a bit.
Sascha Wildner [Fri, 12 Dec 2008 09:16:38 +0000 (10:16 +0100)]
Silence warnings and rearrange the includes a bit.

9 years agoUse per-mount kmalloc pools for bulk data structures, particularly inodes
Matthew Dillon [Wed, 10 Dec 2008 23:42:40 +0000 (15:42 -0800)]
Use per-mount kmalloc pools for bulk data structures, particularly inodes
and records.

9 years agoAdd kmalloc_create() and kmalloc_destroy(), an API to dynamically create and
Matthew Dillon [Wed, 10 Dec 2008 19:30:12 +0000 (11:30 -0800)]
Add kmalloc_create() and kmalloc_destroy(), an API to dynamically create and
destroy kmmalloc pools.

9 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into...
Matthew Dillon [Wed, 10 Dec 2008 18:30:26 +0000 (10:30 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel

9 years agoFix a buffer cache deadlock which can occur when simulated disk devices
Matthew Dillon [Wed, 10 Dec 2008 18:27:32 +0000 (10:27 -0800)]
Fix a buffer cache deadlock which can occur when simulated disk devices
(VN) are backed by a HAMMER file.  Do not call bwillwrite() via the

Add a new IO_RECURSE flag to identify paths for which bwillwrite() should
never be called.

Reported-by: Rumko <rumcic@gmail.com>
9 years agoDon't enable hardware timer simulated interrupt moderation on 8139C+.
Sepherosa Ziehau [Tue, 9 Dec 2008 12:05:19 +0000 (20:05 +0800)]
Don't enable hardware timer simulated interrupt moderation on 8139C+.
This at least unbreaks the qemu support.

Reported-by: walt <wa1ter@myrealbox.com>
9 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into...
Matthew Dillon [Mon, 8 Dec 2008 04:01:17 +0000 (20:01 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel

9 years agoFix seg-fault in recent 'hammer cleanup' utility work.
Matthew Dillon [Mon, 8 Dec 2008 03:55:28 +0000 (19:55 -0800)]
Fix seg-fault in recent 'hammer cleanup' utility work.

Reported-by: Rumko <rumcic@gmail.com>
9 years agoAdd missing section number.
Sascha Wildner [Sun, 7 Dec 2008 15:22:55 +0000 (16:22 +0100)]
Add missing section number.

9 years agoImprove markup.
Sascha Wildner [Sun, 7 Dec 2008 01:34:16 +0000 (02:34 +0100)]
Improve markup.

9 years agoConstify the tip/sip parameters of arprequest/arprequest_async
Sepherosa Ziehau [Sat, 6 Dec 2008 09:10:24 +0000 (17:10 +0800)]
Constify the tip/sip parameters of arprequest/arprequest_async

9 years agoThe CVS ID isn't needed anymore.
Sascha Wildner [Fri, 5 Dec 2008 21:53:51 +0000 (22:53 +0100)]
The CVS ID isn't needed anymore.

9 years agoDeprecate MALLOC/FREE macros
Sepherosa Ziehau [Fri, 5 Dec 2008 14:09:51 +0000 (22:09 +0800)]
Deprecate MALLOC/FREE macros

9 years agoCorrect the reversed comparison logic
Sepherosa Ziehau [Fri, 5 Dec 2008 13:59:44 +0000 (21:59 +0800)]
Correct the reversed comparison logic

9 years agoDefer various TCP timer function from callout threads to TCP threads; mainly
Sepherosa Ziehau [Sun, 30 Nov 2008 08:56:16 +0000 (16:56 +0800)]
Defer various TCP timer function from callout threads to TCP threads; mainly
to avoid possible threading races, e.g. when output processing blocking the
current thread.  To save space, only one netmsg is used and is embedded in
tcpcb.  The timer functions needed to be carried out are indicated by the
tasks field in the netmsg.

Reviewed-by: dillon@
Discussed-with: dillon@
With-input-from: hsu@
Tested-by: hasso@
9 years agoDon't set max read request size on 10/100 only PCIe NICs.
Sepherosa Ziehau [Thu, 4 Dec 2008 04:11:25 +0000 (12:11 +0800)]
Don't set max read request size on 10/100 only PCIe NICs.
Setting max read request size to non-default value seems to cause these
kinds of NICs' DMA engine malfunction.

Reported-by: josepht@
Tested-by: josepht@
Based-on-patch-from: josepht@

9 years agoMake CIDR in "-net net gw mask" form work again.
Hasso Tepper [Thu, 4 Dec 2008 23:21:51 +0000 (01:21 +0200)]
Make CIDR in "-net net gw mask" form work again.

9 years agoSync termcap with FreeBSD preserving local changes.
Hasso Tepper [Wed, 3 Dec 2008 09:14:54 +0000 (11:14 +0200)]
Sync termcap with FreeBSD preserving local changes.

Fixes many bugs with TERM=xterm and screen.

Obtained-from: FreeBSD

9 years agoUpdate units(1) to allow conversion between degC and degF
Matthias Schmidt [Thu, 4 Dec 2008 14:10:23 +0000 (15:10 +0100)]
Update units(1) to allow conversion between degC and degF

This patch (in modified form from FreeBSD) rested for some time on
my disk, so I'll throw it in.  It allows conversion between Celsius
and Fahrenheit:

You have: 20 degC
You want: degF

Reminded-by: corecode@
9 years agoAdd CARP_IS_RUNNING() to test carp(4) iface's IFF_UP and IFF_RUNNING
Sepherosa Ziehau [Thu, 4 Dec 2008 10:35:13 +0000 (18:35 +0800)]
Add CARP_IS_RUNNING() to test carp(4) iface's IFF_UP and IFF_RUNNING

9 years agoRemove unused macro
Sepherosa Ziehau [Thu, 4 Dec 2008 10:14:29 +0000 (18:14 +0800)]
Remove unused macro

9 years agoMerge clearing IFF_UP and IFF_RUNNING
Sepherosa Ziehau [Thu, 4 Dec 2008 10:11:05 +0000 (18:11 +0800)]
Merge clearing IFF_UP and IFF_RUNNING

9 years agoUse in_cksum_{range,skip}()
Sepherosa Ziehau [Thu, 4 Dec 2008 10:05:51 +0000 (18:05 +0800)]
Use in_cksum_{range,skip}()
This is mainly used to avoid following code sequence:
  m->m_data += skip;
  in_cksum(m, len);
  m->m_data -= skip;

9 years agoDon't drag the host CCVER into the release build
Simon Schubert [Wed, 3 Dec 2008 23:20:05 +0000 (00:20 +0100)]
Don't drag the host CCVER into the release build

nrelease was defaulting WORLD_CCVER, which is passed as CCVER to buildworld
and KERNEL_CCVER, which is passed as CCVER to buildkernel, to CCVER.  However
the system makefiles set CCVER themselves, thus dragging their idea of the
default CCVER into the release build.

This commit should fix snapshots being built with gcc34 on chlamydia running 1.8-REL.

9 years agoRework carp_input()
Sepherosa Ziehau [Wed, 3 Dec 2008 13:18:59 +0000 (21:18 +0800)]
Rework carp_input()
- Use ip header length passed in
- Calculate minimal CARP packet size only once
- Nuke redundant mbuf length check and m_pullup()
- Use in_cksum_skip()
- Add comment
- Keep log message consistent with OpenBSD

9 years agoUse suser_cred()
Sepherosa Ziehau [Wed, 3 Dec 2008 11:48:01 +0000 (19:48 +0800)]
Use suser_cred()

9 years agoEmbed ifnet in carp_softc; ifnet allocation is never adopted.
Sepherosa Ziehau [Wed, 3 Dec 2008 11:41:36 +0000 (19:41 +0800)]
Embed ifnet in carp_softc; ifnet allocation is never adopted.
This commit fix the memory leakage when destroying a carp(4) iface.

9 years agoClean up and style changes
Sepherosa Ziehau [Tue, 2 Dec 2008 15:08:19 +0000 (23:08 +0800)]
Clean up and style changes

- Break long lines
- Strip/Add blank lines
- White space

9 years agoNuke lock remainders and related comment
Sepherosa Ziehau [Tue, 2 Dec 2008 14:29:43 +0000 (22:29 +0800)]
Nuke lock remainders and related comment

9 years agoStaticize
Sepherosa Ziehau [Tue, 2 Dec 2008 14:18:06 +0000 (22:18 +0800)]

9 years agoDrop locking in carp(4). carp(4) is under explicit BGL currently; we could
Sepherosa Ziehau [Tue, 2 Dec 2008 14:10:00 +0000 (22:10 +0800)]
Drop locking in carp(4).  carp(4) is under explicit BGL currently; we could
find other MP approach for it, but not locking.

9 years ago- Regroup type declaration
Sepherosa Ziehau [Tue, 2 Dec 2008 12:44:08 +0000 (20:44 +0800)]
- Regroup type declaration
- White space cleanup
- DragonFly has ifnet_detach_event not ifnet_departure_event
- Staticize carp_cloner

9 years agoCleanup header inclusion
Sepherosa Ziehau [Tue, 2 Dec 2008 12:21:42 +0000 (20:21 +0800)]
Cleanup header inclusion

9 years agoWhite space
Sepherosa Ziehau [Tue, 2 Dec 2008 12:08:30 +0000 (20:08 +0800)]
White space

9 years agou_int{8,16,32,64}_t -> uint{8,16,32,64}_t
Sepherosa Ziehau [Tue, 2 Dec 2008 12:02:55 +0000 (20:02 +0800)]
u_int{8,16,32,64}_t -> uint{8,16,32,64}_t

9 years agotest some more
Sascha Wildner [Wed, 3 Dec 2008 09:23:28 +0000 (10:23 +0100)]
test some more

9 years agoMerge branch 'ciss'
Sascha Wildner [Wed, 3 Dec 2008 09:11:37 +0000 (10:11 +0100)]
Merge branch 'ciss'

9 years agotest
Sascha Wildner [Wed, 3 Dec 2008 09:11:13 +0000 (10:11 +0100)]

9 years agoTesting cherry-pick from local branch & push.
Hasso Tepper [Wed, 3 Dec 2008 08:26:04 +0000 (10:26 +0200)]
Testing cherry-pick from local branch & push.

9 years agoMerge branch 'misc'
Sascha Wildner [Wed, 3 Dec 2008 05:00:06 +0000 (06:00 +0100)]
Merge branch 'misc'

9 years agokqueue support has been added to HAMMER.
Sascha Wildner [Wed, 3 Dec 2008 04:59:54 +0000 (05:59 +0100)]
kqueue support has been added to HAMMER.

9 years agoMerge branch 'misc'
Sascha Wildner [Wed, 3 Dec 2008 04:53:52 +0000 (05:53 +0100)]
Merge branch 'misc'

9 years agoAdd a UFS(5) MLINK and reference it from various places.
Sascha Wildner [Wed, 3 Dec 2008 04:53:20 +0000 (05:53 +0100)]
Add a UFS(5) MLINK and reference it from various places.

9 years agoRoll DragonFly 2.1.1 v2.1.1
Simon Schubert [Wed, 3 Dec 2008 03:42:24 +0000 (04:42 +0100)]
Roll DragonFly 2.1.1

9 years agoAdd script to output the current repo version
Simon Schubert [Wed, 3 Dec 2008 03:03:18 +0000 (04:03 +0100)]
Add script to output the current repo version

9 years agoMerge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into...
Matthew Dillon [Wed, 3 Dec 2008 02:38:22 +0000 (18:38 -0800)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into devel

9 years agoSome more cleanup & markup fixes.
Sascha Wildner [Wed, 3 Dec 2008 02:23:30 +0000 (03:23 +0100)]
Some more cleanup & markup fixes.

9 years agoHAMMER Filesystem changes:
Matthew Dillon [Wed, 3 Dec 2008 02:11:43 +0000 (18:11 -0800)]
HAMMER Filesystem changes:

* Add version checking to the hammer mount code.

* Add ioctls to fetch the hammer filesystem version and to upgrade it,
  to support future filesystem revisions.

* Rewrite the algorithm used to integrate reservations with the blockmap
  allocate/free code to fix a bug.  hammer_buffers were sometimes not
  being properly destroyed causing conflicts with later reallocations.

* Add support for up to four directory hash algorithms.  Add flexibility
  to the namekey iterator API to allow the algorithm to control the
  iteration space.

* When iterating memory with the CURSOR_DELETE_VISIBILITY flag set, ignore
  the record deleted flags.

HAMMER Utilities changes:

* Add two new hammer directives, 'version' and 'version-upgrade'.

* Change hammer namekey directive to 'namekey1' and 'namekey2', to support
  generating directory hashes for different hashing algorithms.

* Change hammer cleanup to still prune for existing snapshots even if
  new snapshot generation is disabled.

* Change hammer cleanup's default snapshots config for temporary
  filesystems from 'snapshots 0d 60d' to 'snapshots 0d 0d'.

Reported-by: "Justin C. Sherrill" <justin@shiningsilence.com> (blockmap bug)
9 years agoStart new sentences on new lines.
Sascha Wildner [Wed, 3 Dec 2008 00:56:45 +0000 (01:56 +0100)]
Start new sentences on new lines.

9 years agoAvoid NULL pointer dereference
Sepherosa Ziehau [Tue, 2 Dec 2008 13:27:37 +0000 (21:27 +0800)]
Avoid NULL pointer dereference

9 years agoFix carp_input() prototype to meet the requirement of protosw
Sepherosa Ziehau [Tue, 2 Dec 2008 10:58:27 +0000 (18:58 +0800)]
Fix carp_input() prototype to meet the requirement of protosw

9 years agoFix speed report on Intel SATA chips in compat mode.
Sepherosa Ziehau [Tue, 2 Dec 2008 10:40:13 +0000 (18:40 +0800)]
Fix speed report on Intel SATA chips in compat mode.

Obtained-from: FreeBSD ata-chipset.c rev 1.210 (partial)
Tested-by: matthias@
9 years agoPerform logarithmic volume control for vchans
Simon Schubert [Mon, 1 Dec 2008 23:52:00 +0000 (00:52 +0100)]
Perform logarithmic volume control for vchans

Previously we (and FreeBSD) would do a linear amplitude scaling, which
does not follow the natural expectation of a user.  Now volume knobs
actually behave like real life ones.

The curve is close enough to a sqare root, but whatever.

Inspired by 4front's opensound BSDL'd mixer code (which does the
opposite, i.e. converting log values to human linear scale).

9 years ago Test commit
Joe Talbott [Mon, 1 Dec 2008 20:00:13 +0000 (15:00 -0500)]
 Test commit

9 years agoFix makefile by rewriting parts into shell code
Simon Schubert [Mon, 1 Dec 2008 17:43:51 +0000 (18:43 +0100)]
Fix makefile by rewriting parts into shell code

We can't break one shell command by a make macro, or make will
split into multiple shell commands, thus losing environment (like the

9 years agoAdd support for MAP_TRYFIXED
Simon Schubert [Mon, 1 Dec 2008 12:12:24 +0000 (13:12 +0100)]
Add support for MAP_TRYFIXED

MAP_TRYFIXED signals to the kernel that the process is well aware
that the hint might fall into the heap area, but that it would still
like to map the area.  I think this is necessary for wine.