12 years agoMerge from vendor branch OPENSSH:
Peter Avalos [Sun, 6 Apr 2008 17:29:06 +0000 (17:29 +0000)]
Merge from vendor branch OPENSSH:
Import OpenSSH 5.0p1.

12 years agoImport OpenSSH 5.0p1.
Peter Avalos [Sun, 6 Apr 2008 17:29:06 +0000 (17:29 +0000)]
Import OpenSSH 5.0p1.

12 years agoAdd a line about netrate/
Sepherosa Ziehau [Sun, 6 Apr 2008 03:23:49 +0000 (03:23 +0000)]
Add a line about netrate/

Reminded-by: swildner@
12 years agoAnsify a bit.
Sascha Wildner [Sat, 5 Apr 2008 22:10:14 +0000 (22:10 +0000)]
Ansify a bit.

I've left out raising WARNS since there are still warnings left.

Submitted-by: Kevin L. Kane <kevin.kane@gmail.com>
Dragonfly-bug: <https://bugs.dragonflybsd.org/issue77>

12 years agoFix a snafu with the last commit. Not all of the new AHCI detection support
Matthew Dillon [Sat, 5 Apr 2008 20:13:04 +0000 (20:13 +0000)]
Fix a snafu with the last commit.  Not all of the new AHCI detection support
was properly brought in, causing intel AHCI detection to panic with a
NULL pointer indirection.

Reported-by: Cristi Magherusan <cristi.magherusan@net.utcluj.ro>
12 years agoDRM update to git snapshot from 2008-01-04.
Hasso Tepper [Sat, 5 Apr 2008 18:12:30 +0000 (18:12 +0000)]
DRM update to git snapshot from 2008-01-04.

12 years agoRemove trailing space.
Sascha Wildner [Sat, 5 Apr 2008 09:13:24 +0000 (09:13 +0000)]
Remove trailing space.

12 years agoFix typo in comment.
Sascha Wildner [Sat, 5 Apr 2008 09:12:45 +0000 (09:12 +0000)]
Fix typo in comment.

12 years agoSync with FreeBSD (adds -n, -s and -x).
Sascha Wildner [Sat, 5 Apr 2008 08:50:41 +0000 (08:50 +0000)]
Sync with FreeBSD (adds -n, -s and -x).

12 years agoFix typo.
Matthias Schmidt [Sat, 5 Apr 2008 08:07:11 +0000 (08:07 +0000)]
Fix typo.

Noticed-by: swildner@
12 years agoWhen aarpwhohas() is called, interface's serializer has already been held:
Sepherosa Ziehau [Sat, 5 Apr 2008 07:57:22 +0000 (07:57 +0000)]
When aarpwhohas() is called, interface's serializer has already been held:
ether_output() -> aarpresolve() -> aarpwhohas()

12 years agoHold serializer of the correct interface when calling if_output
Sepherosa Ziehau [Sat, 5 Apr 2008 07:40:28 +0000 (07:40 +0000)]
Hold serializer of the correct interface when calling if_output

12 years agotunoutput() is declared as static function and is used in this way too.
Sepherosa Ziehau [Sat, 5 Apr 2008 06:28:35 +0000 (06:28 +0000)]
tunoutput() is declared as static function and is used in this way too.

12 years agosppp_output() is installed in ifnet.if_output and is only called through that
Sepherosa Ziehau [Sat, 5 Apr 2008 05:57:07 +0000 (05:57 +0000)]
sppp_output() is installed in ifnet.if_output and is only called through that
interface, so it has already been serialized.

12 years agoatm_output() must be serialized.
Sepherosa Ziehau [Sat, 5 Apr 2008 05:30:29 +0000 (05:30 +0000)]
atm_output() must be serialized.

12 years agoTreat the argument as a file name only if it contains a '/'.
Sascha Wildner [Fri, 4 Apr 2008 19:25:46 +0000 (19:25 +0000)]
Treat the argument as a file name only if it contains a '/'.

This catches the case where a user would do 'man foo' from a directory
which contains a file named foo.

12 years agoStart sentences on a new line and add some markup.
Sascha Wildner [Fri, 4 Apr 2008 19:09:50 +0000 (19:09 +0000)]
Start sentences on a new line and add some markup.

12 years agoUnbreak UP building
Sepherosa Ziehau [Thu, 3 Apr 2008 16:02:32 +0000 (16:02 +0000)]
Unbreak UP building

12 years agoParallelize ip_flow:
Sepherosa Ziehau [Thu, 3 Apr 2008 13:43:29 +0000 (13:43 +0000)]
Parallelize ip_flow:
- Create per-CPU ipflow hash table.  During initial ipflow installation, route
  entry to the destination is allocated on each CPU and cached in the ipflow,
  so each CPU will only access the route entry owned by itself.
- Timeout processing on per-CPU ipflow hash table is initialized by broadcasting
  IPI to each CPU.  In IPI, a per-CPU netmsg is used to inform CPU local netisr
  to do the real timout processing.
- Add sysctl node to show how many ipflow entries are used on the each CPU.

12 years agoAdd counters for serializer enter/try
Sepherosa Ziehau [Thu, 3 Apr 2008 12:55:15 +0000 (12:55 +0000)]
Add counters for serializer enter/try

Suggested-by: aggelos@
12 years agoAdd support for the Core 2 Duo T7500.
Sascha Wildner [Wed, 2 Apr 2008 21:25:30 +0000 (21:25 +0000)]
Add support for the Core 2 Duo T7500.

Submitted-by: Cristi Magherusan <cristi.magherusan@net.utcluj.ro>
12 years agoFix buffer overflow in config parser.
Joerg Sonnenberger [Wed, 2 Apr 2008 14:46:37 +0000 (14:46 +0000)]
Fix buffer overflow in config parser.

12 years ago- Save statistics
Sepherosa Ziehau [Wed, 2 Apr 2008 14:18:55 +0000 (14:18 +0000)]
- Save statistics
- Factor out common routine to end threads

12 years agoConstify second parameter of timeval{add,sub}()
Sepherosa Ziehau [Wed, 2 Apr 2008 14:16:16 +0000 (14:16 +0000)]
Constify second parameter of timeval{add,sub}()

12 years agoCorrect print format
Sepherosa Ziehau [Wed, 2 Apr 2008 13:27:24 +0000 (13:27 +0000)]
Correct print format

12 years ago- Add two fields in lwkt_serialize to profile serializer contention.
Sepherosa Ziehau [Wed, 2 Apr 2008 13:11:48 +0000 (13:11 +0000)]
- Add two fields in lwkt_serialize to profile serializer contention.
- Expose serializer contention data through em's private sysctl tree.

12 years agoUse sysctl_ctx in softc
Sepherosa Ziehau [Wed, 2 Apr 2008 11:48:30 +0000 (11:48 +0000)]
Use sysctl_ctx in softc

12 years ago* MLINK nrelease(7) -> release(7).
Sascha Wildner [Tue, 1 Apr 2008 21:10:26 +0000 (21:10 +0000)]
* MLINK nrelease(7) -> release(7).

* Merge relevant information from nrelease/README.

* Prerequisite for realquickrel is buildworld/-kernel and not necessarily
  make release (reported by Max Herrgaard <herrgard@gmail.com>).

12 years agoMake ISOROOT overridable.
Sascha Wildner [Tue, 1 Apr 2008 20:55:06 +0000 (20:55 +0000)]
Make ISOROOT overridable.

12 years agoUse M_ZERO instead of bzero().
Nicolas Thery [Tue, 1 Apr 2008 20:20:29 +0000 (20:20 +0000)]
Use M_ZERO instead of bzero().

12 years agoMigrate allocation of proc structures from zones to kmalloc(). This gives us
Nicolas Thery [Tue, 1 Apr 2008 18:06:34 +0000 (18:06 +0000)]
Migrate allocation of proc structures from zones to kmalloc().  This gives us
MP-safety and does not seem to decrease performance (using make buildworld as
benchmark).  Using an objcache seems unnecessary because there isn't much
pre-initialization code we could move to a constructor and there is no
performance gain.

Debatted-With: dillon@, hsu@, corecode@

12 years agoMake the value of PTT_RELAY_SID match the RFC.
Sascha Wildner [Tue, 1 Apr 2008 15:22:44 +0000 (15:22 +0000)]
Make the value of PTT_RELAY_SID match the RFC.

This fixes problems with relayed PPPoE.

Reported-by: Jordan Gordeev <jgordeev@dir.bg>
Taken-from:  FreeBSD

12 years agoHAMMER 36B/many: Misc debugging.
Matthew Dillon [Sun, 30 Mar 2008 21:33:42 +0000 (21:33 +0000)]
HAMMER 36B/many: Misc debugging.

* Add vfs.hammer.contention_count to report B-Tree node contention

* Conditionalize debugging kprintf's for B-Tree node contention
  around vfs.hammer.debug_locks, default disabled.

12 years agoIt's frankly long past time that we turn net.inet.tcp.always_keepalive
Matthew Dillon [Sun, 30 Mar 2008 20:39:01 +0000 (20:39 +0000)]
It's frankly long past time that we turn net.inet.tcp.always_keepalive
on by default.

The default test internal is 2 hours of idle (left unchanged).  I am not
going to make it shorter but I will note that while you might not have wanted
to have the feature enabled 15 years ago (because many people were using
demand-dial), these days you actually almost universally want the feature
enabled for a multitude of reasons:

(1) Because you will often be running over a NAT and can lose the NAT
    entry if the connection stays idle with no traffic at all for too
    long a period of time.

(2) Because you will often be running over stateful filters which can also
    get confused and lose the table entry if they see no traffic for too
    long a period of time.

(3) Because having this turned on guarantees that stuck tcp connections,
    especially those generated through batch operations, will eventually
    get unstuck.  A TCP connection can become stuck if it is waiting on
    data and the remote end has closed the connection, but the RST got lost.
    Without this feature such connections can remain stuck literally

In some cases you might even need a far shorter interval but that is another
issue not addressed by this commit.

12 years agoFix 'testmain' building.
Sascha Wildner [Sun, 30 Mar 2008 18:11:58 +0000 (18:11 +0000)]
Fix 'testmain' building.

12 years agoSync audio data with other output.
Simon Schubert [Sun, 30 Mar 2008 16:45:04 +0000 (16:45 +0000)]
Sync audio data with other output.

12 years agoDecrease the number of reported stray interrupts from 100 to 10. Problems
Hasso Tepper [Sun, 30 Mar 2008 14:40:13 +0000 (14:40 +0000)]
Decrease the number of reported stray interrupts from 100 to 10. Problems
with stray interrupt 7 seem to be common nowadays when many computers don't
have parallel ports at all.

12 years agoClean it up a little bit
Sepherosa Ziehau [Sun, 30 Mar 2008 10:15:46 +0000 (10:15 +0000)]
Clean it up a little bit

12 years agoRemove old time zone files.
Sascha Wildner [Sun, 30 Mar 2008 00:32:33 +0000 (00:32 +0000)]
Remove old time zone files.

12 years ago* Update to Ficl 3.03:
Sascha Wildner [Sat, 29 Mar 2008 23:31:07 +0000 (23:31 +0000)]
* Update to Ficl 3.03:

  - Newly implemented CORE EXT words: CASE, OF, ENDOF, and ENDCASE. Also
    added FALLTHROUGH, which works like ENDOF but jumps to the instruction
    just after the next OF.
  - Bugfix: John-Hopkins locals syntax now accepts | and -- in the comment
    (between the first -- and the }.)
  - Bugfix: Changed vmGetWord0() to make Purify happier. The resulting
    code is no slower, no larger, and slightly more robust.

* Instead of just not defining a bunch of words when TESTMAIN is set,
  provide stubs that at least handle the stack correctly.  This makes it
  much easier to experiment with loader scripts from userland.

Taken-from: FreeBSD

12 years agoHAMMER 36/many: Stabilization pass.
Matthew Dillon [Sat, 29 Mar 2008 20:12:54 +0000 (20:12 +0000)]
HAMMER 36/many: Stabilization pass.

* Assert that no cursor linkages remain when releasing the last ref on
  an inode.

* Rewrite the node lock upgrade and downgrade code and fix a bug where
  a no-error (0) from locking the cursors parent was overriding a
  possible error from locking the cursors current node, which could
  result in B-Tree node corruption or an assertion later on.

12 years agoAdd configuration to generate packets with different [sd]port and/or [sd]addr
Sepherosa Ziehau [Sat, 29 Mar 2008 11:45:46 +0000 (11:45 +0000)]
Add configuration to generate packets with different [sd]port and/or [sd]addr
in round-robin fashion.

12 years agoAdd tunable for polling burst max, which is a significant tuning parameter
Sepherosa Ziehau [Sat, 29 Mar 2008 05:27:07 +0000 (05:27 +0000)]
Add tunable for polling burst max, which is a significant tuning parameter
in addition to polling hz for polling(4) operation

12 years agoAdd two tunables to run netisr and udp_thread without mplock, so experiment
Sepherosa Ziehau [Sat, 29 Mar 2008 04:45:47 +0000 (04:45 +0000)]
Add two tunables to run netisr and udp_thread without mplock, so experiment
could be conducted under controlled environment.
Default values of these two tunables are to run netisr/udp_thread with mplock.

12 years agoifaddr threads does not need MP lock
Sepherosa Ziehau [Sat, 29 Mar 2008 03:38:53 +0000 (03:38 +0000)]
ifaddr threads does not need MP lock

12 years agoAdd MPSAFE version of netmsg_service_loop()
Sepherosa Ziehau [Sat, 29 Mar 2008 03:37:15 +0000 (03:37 +0000)]
Add MPSAFE version of netmsg_service_loop()

12 years agoPull back part of rev1.7
Sepherosa Ziehau [Fri, 28 Mar 2008 11:03:44 +0000 (11:03 +0000)]
Pull back part of rev1.7

12 years agoFix layout.
Simon Schubert [Thu, 27 Mar 2008 19:37:15 +0000 (19:37 +0000)]
Fix layout.

Submitted-by: Andreas Burghardt <a-burghardt@gmx.de>
12 years agoInstall into /usr/sbin
Sepherosa Ziehau [Thu, 27 Mar 2008 11:42:11 +0000 (11:42 +0000)]
Install into /usr/sbin

12 years agoMake sure there is no possibility of a cothread trying to access the
Matthew Dillon [Thu, 27 Mar 2008 04:28:09 +0000 (04:28 +0000)]
Make sure there is no possibility of a cothread trying to access the
per-cpu globaldata space.  cothreads operate like coprocessors and run
outside the cpu abstraction, and thus have no per-cpu abstraction.

12 years agoRemove debug prints
Sepherosa Ziehau [Wed, 26 Mar 2008 15:05:33 +0000 (15:05 +0000)]
Remove debug prints

12 years agoFix bugs concerning cached route entry in UDP inpcb.
Sepherosa Ziehau [Wed, 26 Mar 2008 14:44:59 +0000 (14:44 +0000)]
Fix bugs concerning cached route entry in UDP inpcb.

For an unconnected and unbound UDP socket, first sending calls in_pcbladdr()
to fix the local port, which may change the target CPU of the next sending.
in_pcbladdr() has a side effect to allocate the route entry cached in inpcb.
If the target CPU after in_pcbladdr() is no longer the current CPU, then
the route entry will be accessed/freed on non-owner CPU during later sending.
Similarly, connect/disconnect a UDP socket may change the target CPU too; the
target CPU may no longer the owner of the cached route entry.

So, for the first sending happens on an unconnected and unbound UDP socket,
the target CPU of next sending is compared with the current CPU.  If they
are different, then cached route entry will be freed, so next time a packet
sent on this socket, a new route entry owned by the correct CPU will be
cached.  Same target CPU check is applied to UDP socket connect/disconnect.

Originally UDP PRU_CONNECT always happens on CPU0, which will cause problem if
following conditions are met:
- Dst of the cached route entry is different from the dst to be connected
- Cached route entry is not allocated on CPU0
This could happen if two datagram are sent on an unbounded and unconnected UDP
socket, then later connectting this UDP socket will cause cached route entry
being freed on different CPU.  To solve this problem, PRU_CONNECT is dispatched
according to existing [lf]{addr,port} pairs.

If in_pcbladdr() fails after altering the cached route entry, the cached route
entry is freed to make sure that freeing this cached route entry happens on
its owner CPU.

Reported-by: y0netan1@
Tested-by: y0netan1@
12 years agoAdd kernel module and a simple configure tool to generate packets at full speed
Sepherosa Ziehau [Wed, 26 Mar 2008 13:53:14 +0000 (13:53 +0000)]
Add kernel module and a simple configure tool to generate packets at full speed

Sending host:
  Athlon64 X2 3600+
  em(4) (1000PT), hw.em0.int_throttle_ceil set to 4000
  Result of a 10 seconds test:
  cnt 14475256, err 0, time 9.990372

Receiving host:
  Turion64 X2 TL-58
  msk(4) (Yukon EU), hw.mskc0.intr_rate set to 4000
  Output of 'netstat -w 1 -I msk0':
            input         (msk0)           output
   packets  errs      bytes    packets  errs      bytes colls
         0     0          0          0     0          0     0
         0     0          0          0     0          0     0
    103556     0    6213360          0     0          0     0
   1465259     0   87915540          0     0          0     0
   1461728     0   87703680          0     0          0     0
   1463788     0   87827280          0     0          0     0
   1456630     0   87397800          0     0          0     0
   1459206     0   87552360          0     0          0     0
   1464240     0   87854400          0     0          0     0
   1468240     0   88094400          0     0          0     0
   1464305     0   87858300          0     0          0     0
   1468011     0   88080660          0     0          0     0
   1200293     0   72017580          0     0          0     0
         0     0          0          0     0          0     0

12 years agoHAMMER 35C/many: Stabilization pass.
Matthew Dillon [Wed, 26 Mar 2008 04:32:54 +0000 (04:32 +0000)]
HAMMER 35C/many: Stabilization pass.

* The reblock code was only adjusting the data offset for B-Tree elements
  when moving records containing in-line data.  Also adjust the offset in
  the record itself.

12 years ago* Allow nrelease/Makefile to build the local installer in usr.sbin
Dave Hayes [Tue, 25 Mar 2008 22:55:38 +0000 (22:55 +0000)]
* Allow nrelease/Makefile to build the local installer in usr.sbin
  onto a LiveCD for installation.

* Tweak the installer shell scriptage to use the correct installer.

* Create a share/installer directory for installer data
  (e.g. cmdnames.conf, fred.txt)

* Patch the installer so it does not coredump, and identifies itself
  as the local installer.

* Tweak usr.sbin/installer/Makefiles to allow patches to the
  installer to be automatically included in the build.

Please test the new local installer! Thanks. :)

12 years agoHAMMER 35B/many: Stabilization pass, cleanups.
Matthew Dillon [Tue, 25 Mar 2008 06:43:44 +0000 (06:43 +0000)]
HAMMER 35B/many: Stabilization pass, cleanups.

* Fix a B-Tree node load race which could result in an assertion.  A
  B-Tree node load is backed by a hammer_buffer and can race a buffer
  teardown.  Interlock the two and properly deal with a loading
  B-Tree node whos buffer gets ripped out from under it.

* Fix an ordering issue with the volume->io.loading field, plus some

12 years agoHAMMER utilities: Add -lm for double arithmatic.
Matthew Dillon [Tue, 25 Mar 2008 03:58:21 +0000 (03:58 +0000)]
HAMMER utilities: Add -lm for double arithmatic.

12 years agoHAMMER utilities: automatic sync/sleep
Matthew Dillon [Tue, 25 Mar 2008 03:57:58 +0000 (03:57 +0000)]
HAMMER utilities: automatic sync/sleep

* Add 64 bit versions of the 'now' and 'stamp' commands, called
  'now64' and 'stamp64'.

* The 'now' and 'now64' commands now automatically sync.

* The 'now' command also sleeps until the second hand turns over.

* Add a new option, -x, which may be used to disable the automatic sync &
  sleep.  The stamp and stamp64 commands do not sync or sleep.

Suggested-by: "Thomas E. Spanjaard" <tgen@netphreax.net>
12 years agoHAMMER 35/many: Stabilization pass, cleanups
Matthew Dillon [Mon, 24 Mar 2008 23:50:23 +0000 (23:50 +0000)]
HAMMER 35/many: Stabilization pass, cleanups

* Fix a buffer load race which could result in an assertion or panic
  related to a referenced HAMMER buffer with a NULL bp.  The problem was
  that the loading flag must be used when releasing the buffer as well
  as when acquiring the buffer.  Change the loading flag to a loading

* Do not lose flush requests.  The flush request now stays flagged until
  the buffer is able to be flushed.

* Fix stale blockmap offsets cached in hammer_buffer.  Clear the cached
  offset when freeing a big block from the blockmap.  NOTE: We do not yet
  try to index buffers based on the blockmap offset but we should.

* Remove the old write ordering code in preparation for redoing the algorithm.

* General code cleanups.

12 years agogx(4) and ray(4) are gone
Sascha Wildner [Mon, 24 Mar 2008 23:45:29 +0000 (23:45 +0000)]
gx(4) and ray(4) are gone

12 years agoBring in some fixes from FreeBSD.
Sascha Wildner [Mon, 24 Mar 2008 23:04:19 +0000 (23:04 +0000)]
Bring in some fixes from FreeBSD.

Matthew Dillon [Mon, 24 Mar 2008 14:28:44 +0000 (14:28 +0000)]

12 years agoSync zoneinfo database with tzdata2008b from elsie.
Sascha Wildner [Mon, 24 Mar 2008 12:54:43 +0000 (12:54 +0000)]
Sync zoneinfo database with tzdata2008b from elsie.

asia:           8.14 -> 8.18
backward:       8.4  -> 8.6
northamerica:   8.20 -> 8.23
southamerica:   8.18 -> 8.19
zone.tab:       8.13 -> 8.16

From Arthur David Olson's comments:

* Iraq abandons DST.

* Syria switched (from 2008 forward) to start DST at the start of the first
  Friday in April and end DST at the start of October 1.

* Change Cuba (from 2008 forward) to start DST the third Sunday in March.

* Add America/Argentina/San_Luis information.

* "Saigon" zone renamed "Ho_Chi_Minh".

* "Calcutta" zone renamed to "Kolkata".

12 years agoSynchronize various changes from FreeBSD. This is not exhaustive but gets
Matthew Dillon [Mon, 24 Mar 2008 06:41:56 +0000 (06:41 +0000)]
Synchronize various changes from FreeBSD.  This is not exhaustive but gets
the most important patches.

* Better AHCI detection and reporting.
* More robust AHCI chipinit.
* Fixes for additional chipsets which do not support 64K DMA transfers
* VIA8237S support
* Hitachi detection logic.
* Vendor identification for otherwise unidentified chipsets.
* keep ivars intact on atapi-cd reinit.

12 years agoRemove ipw(4) remains.
Sascha Wildner [Sun, 23 Mar 2008 19:46:49 +0000 (19:46 +0000)]
Remove ipw(4) remains.

12 years agoNuke debug prints.
Sepherosa Ziehau [Sun, 23 Mar 2008 09:48:20 +0000 (09:48 +0000)]
Nuke debug prints.

Noticed-by: swildner@
12 years agoAdd Broadcom 4402 in bfe(4)
Sepherosa Ziehau [Sun, 23 Mar 2008 09:44:36 +0000 (09:44 +0000)]
Add Broadcom 4402 in bfe(4)

Obtained-from: Linux b44

12 years agoregen
Sepherosa Ziehau [Sun, 23 Mar 2008 09:40:07 +0000 (09:40 +0000)]

12 years agoAdd PCI id for Broadcom 4402 10/100 ethernet controller
Sepherosa Ziehau [Sun, 23 Mar 2008 09:31:50 +0000 (09:31 +0000)]
Add PCI id for Broadcom 4402 10/100 ethernet controller

12 years agoHAMMER 34B/many: Stabilization pass.
Matthew Dillon [Sun, 23 Mar 2008 04:43:26 +0000 (04:43 +0000)]
HAMMER 34B/many: Stabilization pass.

Lookups on non-data in-memory records (aka symlinks) were failing, causing
readlink() to fail prior to the record being synchronized to disk.  Fix
the memory record search code to properly handle ASOF.

buildworld now completes with a HAMMER /usr/obj.

12 years agoAdd mount_hammer, newfs_hammer, and the hammer utility to the build.
Matthew Dillon [Sun, 23 Mar 2008 00:07:46 +0000 (00:07 +0000)]
Add mount_hammer, newfs_hammer, and the hammer utility to the build.

12 years agoBump .Dd for -V.
Sascha Wildner [Sat, 22 Mar 2008 21:34:23 +0000 (21:34 +0000)]
Bump .Dd for -V.

12 years agoFix collision in conf/files, add hammer_signal.c.
Matthew Dillon [Sat, 22 Mar 2008 21:24:44 +0000 (21:24 +0000)]
Fix collision in conf/files, add hammer_signal.c.

12 years agoAdd a FS_HAMMER id for disklabel.
Matthew Dillon [Sat, 22 Mar 2008 20:52:00 +0000 (20:52 +0000)]
Add a FS_HAMMER id for disklabel.

12 years agoBump cpdup's version to 1.08.
Matthew Dillon [Sat, 22 Mar 2008 18:09:42 +0000 (18:09 +0000)]
Bump cpdup's version to 1.08.

12 years agoMiscellanious features and adjustments to cpdup.
Matthew Dillon [Sat, 22 Mar 2008 18:09:16 +0000 (18:09 +0000)]
Miscellanious features and adjustments to cpdup.

* Add the -V option to cpdup.  If specified cpdup will verify the contents
  of regular files which otherwise appear to be the same.

* Only MD5 regular files.

* Separate out target bytes read from source bytes read, and do not count
  the stat structure as bytes read.

* Track the number of hard-links created and report in -I output.

12 years agoRemove ipw(4) module and manpage during upgrading
Sepherosa Ziehau [Sat, 22 Mar 2008 09:55:41 +0000 (09:55 +0000)]
Remove ipw(4) module and manpage during upgrading

12 years agoRemove ipw(4) manpage
Sepherosa Ziehau [Sat, 22 Mar 2008 09:51:46 +0000 (09:51 +0000)]
Remove ipw(4) manpage

12 years agoGC ipw(4)
Sepherosa Ziehau [Sat, 22 Mar 2008 09:49:11 +0000 (09:49 +0000)]
GC ipw(4)

12 years agoRemove ipw(4) from LINT building and module building
Sepherosa Ziehau [Sat, 22 Mar 2008 09:45:44 +0000 (09:45 +0000)]
Remove ipw(4) from LINT building and module building

12 years ago- Set number of TX descriptors to 512.
Sepherosa Ziehau [Sat, 22 Mar 2008 07:07:34 +0000 (07:07 +0000)]
- Set number of TX descriptors to 512.
- Add interrupt moderation support in msk(4).
- Add a sysctl node for interrupt rate, which is disabled by default. (*)

Obtained-from: Marvell's myk(4)

# Set interrupt rate to 4000(/sec) on Yukon EC(rev2):
# - If the other side sends at 200Kpps, interrupt time will be reduced from
#   50%-70% to 30%-50%
# - If msk(4) is used to blast packets, interrupt time will be reduced from
#   35%-40% to 25%-%35 and packet rate will be increased by 10Kpps-15Kpps

# (*) Marvell's myk(4) uses different clock for EC_U/FE/XL than the value set
#     in mskc_attach(), due to lack of document, it is unclear which clock is
#     correct, so disabling interrupt moderation timer by default is the safest
#     choice.

12 years agoHAMMER 34/many: Stabilization pass
Matthew Dillon [Sat, 22 Mar 2008 02:06:55 +0000 (02:06 +0000)]
HAMMER 34/many: Stabilization pass

* Fix a node reference count leak in hammer_btree_lock_children().  This
  was resulting in a panic at umount time.

* Fix a misordered lock in hammer_cursor_up() which could result in
  an assertion in the B-Tree iteration code.  The cursor-up code was
  resolving the parent index prior to acquiring a shared lock on the
  parent node.  An insertion by another thread could do a split and
  change the parent index.  The shared lock must be acquired first.

* Add additional debugging output and add additional assertions.  HAMMER
  now has 205 assert lines in the code.

Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx> (umount panic)
12 years agoWe must hold the lwp we are trying to kill to prevent it from being
Matthew Dillon [Fri, 21 Mar 2008 19:42:41 +0000 (19:42 +0000)]
We must hold the lwp we are trying to kill to prevent it from being
ripped out from under our loop due to lwpsignal() potentially blocking.

This fixes a crash which can occur when killing a multi-threaded program.

12 years agoRemove old function (no longer used since r1.25).
Sascha Wildner [Fri, 21 Mar 2008 00:40:33 +0000 (00:40 +0000)]
Remove old function (no longer used since r1.25).

12 years agoRemove unused variables.
Sascha Wildner [Thu, 20 Mar 2008 21:25:30 +0000 (21:25 +0000)]
Remove unused variables.

12 years ago- Nuke last parameter of ether_ipfw_chk(), which is always FALSE
Sepherosa Ziehau [Thu, 20 Mar 2008 14:08:45 +0000 (14:08 +0000)]
- Nuke last parameter of ether_ipfw_chk(), which is always FALSE
- Remove trailing white spaces

12 years agoChange ether_demux() interface to accept mbuf containing ether header.
Sepherosa Ziehau [Thu, 20 Mar 2008 12:55:32 +0000 (12:55 +0000)]
Change ether_demux() interface to accept mbuf containing ether header.

12 years agoTypo
Sepherosa Ziehau [Thu, 20 Mar 2008 10:42:15 +0000 (10:42 +0000)]

12 years agoHAMMER 33C/many: features and bug fixes.
Matthew Dillon [Thu, 20 Mar 2008 06:08:40 +0000 (06:08 +0000)]
HAMMER 33C/many: features and bug fixes.

* Add a signal test for long-running ioctl's which allows them to be

* Assert that a record update's delete_tid does not match it's create_tid
  and fix a case in the rename code and another case in the inode update
  code where this could occur.

* Add a feature to the pruning ioctl that the new snapshot softlink
  option for 'hammer prune' needs.

* Fix a minor overflow assertion in the transaction code.

12 years agoRemove calls to pmap_clear_modify() in the swap_pager, fixing a kernel panic.
Matthew Dillon [Thu, 20 Mar 2008 06:02:50 +0000 (06:02 +0000)]
Remove calls to pmap_clear_modify() in the swap_pager, fixing a kernel panic.
The modify bit is cleared by the pageout code's call to vm_page_protect()
and does not need to be cleared again.

The pmap code cannot safely access non-kernel pmaps from the interrupt
service routine it uses to process the asynchronous I/O completion.  These
non-kernel pmaps are present because the pageout code protects the page
with VM_PROT_READ (which is desireable) rather then VM_PROT_NONE.

12 years agoHAMMER utilities: feature add.
Matthew Dillon [Thu, 20 Mar 2008 04:03:03 +0000 (04:03 +0000)]
HAMMER utilities: feature add.

* Add an option to hammer prune which creates softlinks to available
  snapshots based on the pruning regimen.

12 years agoA threaded process going into SZOMB may still have active threads which are
Matthew Dillon [Thu, 20 Mar 2008 03:59:10 +0000 (03:59 +0000)]
A threaded process going into SZOMB may still have active threads which are
in the midst of exiting.  Wait for those threads to exit before trying to
reap the master thread.

This fixes a crash where kern_wait() improperly reaps threads other then the
master thread.

12 years agoImprove vkernel support.
Matthew Dillon [Thu, 20 Mar 2008 02:14:56 +0000 (02:14 +0000)]
Improve vkernel support.

* Add a new cothread API for vkernel drivers.  This creates real threads
  to act as DMA engines for I/O.  These threads operate OUTSIDE the
  vkernel's cpu abstraction and thus work with UP builds or SMP builds with
  -n 1.

* Asynchronize the virtual disk (vkd).   VKD now queues I/O to a cothread
  which runs it and then generates a signal to the vkernel's cpu 0 to run
  the virtual device's 'interrupt' function.

* The new cothread code works better then the kqueue code because it allows
  I/O's to be ganged together for bulk operation without causing a signal
  for each one.  The kqueue code is still used by VKE but should
  be considered obsolete.

12 years agoUpdate our README for the 1.0.5 import.
Peter Avalos [Thu, 20 Mar 2008 02:12:19 +0000 (02:12 +0000)]
Update our README for the 1.0.5 import.

12 years agoMerge from vendor branch BZIP:
Peter Avalos [Thu, 20 Mar 2008 02:02:11 +0000 (02:02 +0000)]
Merge from vendor branch BZIP:
Import bzip-1.0.5 which fixes CVE-2008-1372.

12 years agoImport bzip-1.0.5 which fixes CVE-2008-1372.
Peter Avalos [Thu, 20 Mar 2008 02:02:11 +0000 (02:02 +0000)]
Import bzip-1.0.5 which fixes CVE-2008-1372.

12 years agoHAMMER 33B/many: Further B-Tree fix.
Matthew Dillon [Wed, 19 Mar 2008 20:49:46 +0000 (20:49 +0000)]
HAMMER 33B/many: Further B-Tree fix.

* The last commit didn't get all the cases.  This one should.

12 years agoHAMMER 33/many: Expand transaction processing, fix bug in B-Tree
Matthew Dillon [Wed, 19 Mar 2008 20:18:17 +0000 (20:18 +0000)]
HAMMER 33/many: Expand transaction processing, fix bug in B-Tree

* Expand transaction processing to cover more of the code space for
  upcoming undo code.

* Fix a bug in the btree_split_leaf(), the separator would sometimes not
  properly be to the left of the split point, resulting in a panic.
  Temporarily add many more assertions to btree_split_leaf().

* Improve the critical path for blockmap lookups, the (newly) passed trans
  already contains a referenced root volume so the blockmap code does not
  have to acquire one.

Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx> (B-Tree bug)
12 years agoTiny step to keep ether header in mbuf on ethernet input path:
Sepherosa Ziehau [Wed, 19 Mar 2008 14:46:03 +0000 (14:46 +0000)]
Tiny step to keep ether header in mbuf on ethernet input path:
- ng_ether_input_p does not need interface to release its serializer.
- Instead of letting ng_ether_input_p glue back ether header, we simply
  pass mbuf with ether header to it.  Change ng_ether_input_p interface

12 years ago- Factor out ether_restore_header() from ether_ipfw_chk() and
Sepherosa Ziehau [Wed, 19 Mar 2008 13:20:48 +0000 (13:20 +0000)]
- Factor out ether_restore_header() from ether_ipfw_chk() and
- Add statistics to count number of ether header restoration and number of
  ether header restoration which needs mbuf prepending