7 years agokernel: Clean up some module Makefiles.
Sascha Wildner [Fri, 13 Apr 2012 17:40:11 +0000 (19:40 +0200)]
kernel: Clean up some module Makefiles.

Remove unneeded .PATHs and variables. Use ${.TARGET}.

7 years agocxm(4): Remove an unused file (opt_cxm.h) from the Makefile.
Sascha Wildner [Fri, 13 Apr 2012 17:20:25 +0000 (19:20 +0200)]
cxm(4): Remove an unused file (opt_cxm.h) from the Makefile.

7 years agoem/emx: Add a note about why MSI-X should be not enable on 82574
Sepherosa Ziehau [Fri, 13 Apr 2012 10:40:16 +0000 (18:40 +0800)]
em/emx: Add a note about why MSI-X should be not enable on 82574

7 years agoem/emx: Update to Intel em-7.2.4
Sepherosa Ziehau [Fri, 13 Apr 2012 09:09:10 +0000 (17:09 +0800)]
em/emx: Update to Intel em-7.2.4

- Fix the max frame length settings for 82583 chips
- Workaround 82574 specification update errata #20.

Local changes:
- For 82574 specification update errata #20 workaround, we don't
  disable ASPM L1.  Disabling ASPM L1 is said to be unnecessary
  in the specification update.

7 years agopci: Add definition for PCI express Link capabilities/control
Sepherosa Ziehau [Fri, 13 Apr 2012 10:31:32 +0000 (18:31 +0800)]
pci: Add definition for PCI express Link capabilities/control

7 years agotcp/sack: Further optimize scoreboard block allocation
Sepherosa Ziehau [Fri, 13 Apr 2012 08:34:51 +0000 (16:34 +0800)]
tcp/sack: Further optimize scoreboard block allocation

Use one slot freed SACK scoreboard cache.

30minutes tests are conducted on a heavy congested real-life network path;
the new statistics:

  31254 SACK scoreboard updates
      2 overflows
      0 failures
      13392 records reused
      12703 records fast allocated

Before this commit, ~42% allocations are avoided (reused); after this commit,
~83% allocations are avoided (reused + fast allocated).

7 years agotcp/sack: Optimize scoreboard block allocation
Sepherosa Ziehau [Fri, 13 Apr 2012 07:30:26 +0000 (15:30 +0800)]
tcp/sack: Optimize scoreboard block allocation

Allocate SACK scoreboard block only if we can't extend the existing
one's right edge (end).

This commit could avoid ~70% SACK scoreboard block allocation on
leaf.dragonflybsd.org (11528032 updating, 8353353 reused) according
to the "netstat -s -f inet -p tcp" output as of today.  On my testing
sites, this commit could avoid 30%~50% SACK scoreboard block allocation.

7 years agotcp/sack: Move scoreboard block start/end setup into alloc function
Sepherosa Ziehau [Fri, 13 Apr 2012 06:31:55 +0000 (14:31 +0800)]
tcp/sack: Move scoreboard block start/end setup into alloc function

This paves way for further SACK scoreboard block allocation optimization

7 years agotcp/sack: Move empty scoreboard updating into insert_block()
Sepherosa Ziehau [Fri, 13 Apr 2012 06:25:52 +0000 (14:25 +0800)]
tcp/sack: Move empty scoreboard updating into insert_block()

7 years agoether: Don't manually packing up input mbufs
Sepherosa Ziehau [Fri, 13 Apr 2012 03:58:58 +0000 (11:58 +0800)]
ether: Don't manually packing up input mbufs

Since we use spin ports for netisrs now, we no longer need to explicitly
avoid IPI storm on input path.

7 years agokernel/tmpfs: Make compiling tmpfs into the kernel optional.
Sascha Wildner [Thu, 12 Apr 2012 21:04:33 +0000 (23:04 +0200)]
kernel/tmpfs: Make compiling tmpfs into the kernel optional.

If the user wants to build a kernel without tmpfs built in,
allow it to him.

Our GENERIC configs have 'options TMPFS', but even if it
isn't loaded or built into the kernel, it will be kldloaded
upon mount_tmpfs(8) via vfsload(3).

This behavior is the same with our other file systems: the
module will be autoloaded at the first mount -t <type> if
it isn't either in-kernel or already loaded.

7 years agotcp: Prefer IW parameters in routing entries
Sepherosa Ziehau [Thu, 12 Apr 2012 09:17:11 +0000 (17:17 +0800)]
tcp: Prefer IW parameters in routing entries

7 years agort_metrics: Add rmx_iw* to record user-set IW parameters
Sepherosa Ziehau [Thu, 12 Apr 2012 08:55:25 +0000 (16:55 +0800)]
rt_metrics: Add rmx_iw* to record user-set IW parameters

7 years agotcp: Support settable IW parameters
Sepherosa Ziehau [Thu, 12 Apr 2012 07:25:31 +0000 (15:25 +0800)]
tcp: Support settable IW parameters

As suggested in:

To be RFC3390 conforming, these parameters should be left as the default:
net.inet.tcp.iwcapsegs -> 3
net.inet.tcp.iwmaxsegs -> 4

7 years agotcp: Staticize tcp_do_rfc3390
Sepherosa Ziehau [Thu, 12 Apr 2012 07:04:52 +0000 (15:04 +0800)]
tcp: Staticize tcp_do_rfc3390

7 years agotcp: "Reasonably" reduce IW after SYN retransmition timeout
Sepherosa Ziehau [Thu, 12 Apr 2012 06:48:56 +0000 (14:48 +0800)]
tcp: "Reasonably" reduce IW after SYN retransmition timeout

7 years agokernel/nwfs: The NCP check only applies if it is not the module build.
Sascha Wildner [Wed, 11 Apr 2012 18:06:52 +0000 (20:06 +0200)]
kernel/nwfs: The NCP check only applies if it is not the module build.

Add some dependency stuff that will cause nwfs to load ncp if it is
not loaded or in the kernel.

However ncp ultimately depends on IPX which is not available as a
module, so that's the minimum that needs compiling into the kernel
in order to use nwfs.

This should really fix the kernel build.

7 years agokernel/smbfs: The netsmb check only applies if it is not the module build.
Sascha Wildner [Wed, 11 Apr 2012 17:38:12 +0000 (19:38 +0200)]
kernel/smbfs: The netsmb check only applies if it is not the module build.

The necessary files from netsmb are built into the module. In the kernel
it is two separate options.

This fixes buildkernel.

Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
7 years agodntpd - Update pool servers to be of the newly-created dragonfly ntp.org zone
Samuel J. Greear [Wed, 11 Apr 2012 16:26:02 +0000 (10:26 -0600)]
dntpd - Update pool servers to be of the newly-created dragonfly ntp.org zone

7 years agotcp/syncache: Use the calculated RTO instead of calculate again
Sepherosa Ziehau [Wed, 11 Apr 2012 14:15:08 +0000 (22:15 +0800)]
tcp/syncache: Use the calculated RTO instead of calculate again

The recalculation actually uses wrong backoff, grrr

7 years agotcp/syncache: Increase SYN|ACK max retransmit attempts from 3 to 4
Sepherosa Ziehau [Wed, 11 Apr 2012 14:07:24 +0000 (22:07 +0800)]
tcp/syncache: Increase SYN|ACK max retransmit attempts from 3 to 4

- It matches what the comment says: 15 seconds timeout, if RFC6298 is
  not enabled.
- Add comment about the timeout if RFC6298 is enabled.

7 years agocarp: Get rid of the null serializer function stubs
Sepherosa Ziehau [Wed, 11 Apr 2012 13:54:52 +0000 (21:54 +0800)]
carp: Get rid of the null serializer function stubs

They are used in the early carp development stage; no longer useful now

7 years agotcp/syncache: Use tcp_syn_backoff|low RTO multipler
Sepherosa Ziehau [Wed, 11 Apr 2012 10:24:53 +0000 (18:24 +0800)]
tcp/syncache: Use tcp_syn_backoff|low RTO multipler

7 years agotcp: Adjust SYN retransmit backoff a little bit.
Sepherosa Ziehau [Wed, 11 Apr 2012 10:09:43 +0000 (18:09 +0800)]
tcp: Adjust SYN retransmit backoff a little bit.

This pattern is proposed by:
  Chu, J., "Tuning TCP Parameters for the 21st Century",

7 years agotcp: RW=min(IW,cwnd) is standardized in RFC5681
Sepherosa Ziehau [Wed, 11 Apr 2012 10:05:04 +0000 (18:05 +0800)]
tcp: RW=min(IW,cwnd) is standardized in RFC5681

7 years agotcp: Increase IW to 2 segments, if RFC3390 is not enabled.
Sepherosa Ziehau [Wed, 11 Apr 2012 09:57:43 +0000 (17:57 +0800)]
tcp: Increase IW to 2 segments, if RFC3390 is not enabled.

First of all, RFC2581 allows this.  Additionally, it is intended to
fix sender and receiver deadlock before delayed ACK timer expires.
Add comment about these.

7 years agotcp: Factor out tcp_initial_window; ease further IW adjustment
Sepherosa Ziehau [Wed, 11 Apr 2012 09:51:04 +0000 (17:51 +0800)]
tcp: Factor out tcp_initial_window; ease further IW adjustment

7 years agosys/conf/options: Clean up and sort the file system related options.
Sascha Wildner [Wed, 11 Apr 2012 09:37:30 +0000 (11:37 +0200)]
sys/conf/options: Clean up and sort the file system related options.

7 years agonwfs/smbfs: Fix and cleanup the Makefiles a bit.
Sascha Wildner [Wed, 11 Apr 2012 09:36:43 +0000 (11:36 +0200)]
nwfs/smbfs: Fix and cleanup the Makefiles a bit.

7 years agocarp: Add comment about how lockless MPSAFE is done
Sepherosa Ziehau [Wed, 11 Apr 2012 08:45:12 +0000 (16:45 +0800)]
carp: Add comment about how lockless MPSAFE is done

7 years agovlan: Wording in comment
Sepherosa Ziehau [Wed, 11 Apr 2012 07:54:39 +0000 (15:54 +0800)]
vlan: Wording in comment

7 years agocarp: Change 1/0 usage of int into boolean_t, which is more expressive
Sepherosa Ziehau [Wed, 11 Apr 2012 07:44:11 +0000 (15:44 +0800)]
carp: Change 1/0 usage of int into boolean_t, which is more expressive

7 years agoRemove one more old OpenSSL file via 'make upgrade'.
Sascha Wildner [Wed, 11 Apr 2012 08:41:36 +0000 (10:41 +0200)]
Remove one more old OpenSSL file via 'make upgrade'.

7 years agotcp_input: Partly revert 98cb2337e1000153d84b64a5e9aabbecda8e8dbf
Sepherosa Ziehau [Wed, 11 Apr 2012 03:23:39 +0000 (11:23 +0800)]
tcp_input: Partly revert 98cb2337e1000153d84b64a5e9aabbecda8e8dbf

Since all TCP operations are carried in its own netisr thread, the
workaround/comment is no longer needed/applied; change it into
assertion instead.

The "snd_nxt < snd_una" should (hopefully) have been fixed by:

7 years agotcp_input: Use acceptable_window_update when applicable
Sepherosa Ziehau [Wed, 11 Apr 2012 03:09:33 +0000 (11:09 +0800)]
tcp_input: Use acceptable_window_update when applicable

While I'm here, adjust comment (ACK is always on when we reach that code)

7 years agotcp/sack: Cleanup the SACK related bits when return from tcp_input slow path
Sepherosa Ziehau [Fri, 6 Apr 2012 01:47:36 +0000 (09:47 +0800)]
tcp/sack: Cleanup the SACK related bits when return from tcp_input slow path

When the code path that could generate the invalid SACK block on out-of-order
FIN segment was walked through, it turned out that some SACK related bits
could be leftover from the previous input segment, e.g. SACKLEFT.

Since the observed invalid SACK option contains only one SACK block and the
block's right edge is same as its left edge, the code which can generate that
SACK block could be run only if SACKLEFT is turned on and reportblk's start
and end are same.
- If SACKLEFT is on then reportblk's start and end must not be same, so the
  SACKLEFT is leftover from the previous input segment.
- If KASSERTs about the clearance of the SACK bits are added immediately
  before returning from the tcp_input slow path, the KASSERTs could fail due
  to SACKLEFT are still on.

Obviously the SACK related bits are never intended to be inheritted from one
input segment to another input segment, so we just clear them before returning
from the tcp_input slow path.

7 years agotcp/sack: Take FIN bit into consideration when setup report SACK block end
Sepherosa Ziehau [Wed, 28 Mar 2012 08:17:32 +0000 (16:17 +0800)]
tcp/sack: Take FIN bit into consideration when setup report SACK block end

The invalid SACK option observed on the heavily segment reordering network
path (50% segments out of order) contains only one SACK block which tries
to cover the FIN segment but sets the right edge incorrectly, i.e. the right
edge is same as the left edge; mainly because the FIN bit is not counted.

7 years agoacpi_hp.4: List the HP Compaq nc6320 as tested with the acpi_hp(4) driver.
Sascha Wildner [Tue, 10 Apr 2012 19:46:27 +0000 (21:46 +0200)]
acpi_hp.4: List the HP Compaq nc6320 as tested with the acpi_hp(4) driver.

The reported values looked sane.

Tested-by: Andrea Magliano <masterblaster@tiscali.it>
7 years agoMerge branch 'vendor/OPENSSL'
Peter Avalos [Tue, 10 Apr 2012 17:28:26 +0000 (10:28 -0700)]
Merge branch 'vendor/OPENSSL'

7 years agoBring in the krb5 module in OpenSSL.
Peter Avalos [Tue, 10 Apr 2012 16:57:21 +0000 (09:57 -0700)]
Bring in the krb5 module in OpenSSL.

Even though we don't have Kerberos5 in base, we should still be
installing the krb5_asn.h header.

7 years agoMerge remote-tracking branch 'origin/master'
Peter Avalos [Tue, 10 Apr 2012 16:51:20 +0000 (09:51 -0700)]
Merge remote-tracking branch 'origin/master'

7 years agocarp: Lockless MPSAFE, step 11 of 11
Sepherosa Ziehau [Tue, 10 Apr 2012 13:26:53 +0000 (21:26 +0800)]
carp: Lockless MPSAFE, step 11 of 11

Remove big giant carp token.

7 years agocarp: Lock MPSAFE, step 10 of 11
Sepherosa Ziehau [Mon, 9 Apr 2012 13:06:57 +0000 (21:06 +0800)]
carp: Lock MPSAFE, step 10 of 11

Make carp_softc.sc_carpdev and ifnet.if_carp accessing and updating
lockless MPSAFE.

- Reader of the sc_carpdev will cache the value in temporary variable
  and use the cached value instead of always accessing sc_carpdev,
  which may be inconsistent due to change of sc_carpdev.

- if_carp is a pointer to the carp_softc container list, while the list
  only contains pointer to carp_softc
- Reader of if_carp will cache the value in temporary variable and use
  the cached value instead of always accessing if_carp, which may be
  inconsistent due to if_carp updating.
- Updating of the if_carp is done in the following way:
    ocif = ifp->if_carp;
    ncif = cif_copy(ocif);
    ifp->if_carp = ncif;
    /* when we reach here all users of old if_carp (ocif) are done */

7 years agopst(4): Add a missing contigfree().
Sascha Wildner [Mon, 9 Apr 2012 02:37:14 +0000 (04:37 +0200)]
pst(4): Add a missing contigfree().

7 years agomps(4): Add a missing kfree().
Sascha Wildner [Mon, 9 Apr 2012 01:31:45 +0000 (03:31 +0200)]
mps(4): Add a missing kfree().

7 years agokernel: Remove NULL checks after kmalloc() with M_WAITOK.
Sascha Wildner [Sun, 8 Apr 2012 23:28:51 +0000 (01:28 +0200)]
kernel: Remove NULL checks after kmalloc() with M_WAITOK.

7 years agoacpi_hp(4): Fix some previously overlooked issues.
Sascha Wildner [Sun, 8 Apr 2012 22:29:44 +0000 (00:29 +0200)]
acpi_hp(4): Fix some previously overlooked issues.

7 years agoIPXrouted(8): Re-indent some code to make the outer for() better visible.
Sascha Wildner [Sun, 8 Apr 2012 19:19:02 +0000 (21:19 +0200)]
IPXrouted(8): Re-indent some code to make the outer for() better visible.

7 years agocarp: Lockless MPSAFE step 9 of many
Sepherosa Ziehau [Sat, 7 Apr 2012 14:17:44 +0000 (22:17 +0800)]
carp: Lockless MPSAFE step 9 of many

Carry out timeout processing in netisr0

7 years agoDocument which drivers are using MSI and how it can be disabled.
Sascha Wildner [Sat, 7 Apr 2012 13:18:59 +0000 (15:18 +0200)]
Document which drivers are using MSI and how it can be disabled.

7 years agokernel/pci: Adjust MSI allocation verbose message a bit.
Sascha Wildner [Sat, 7 Apr 2012 12:36:54 +0000 (14:36 +0200)]
kernel/pci: Adjust MSI allocation verbose message a bit.

7 years agoarcmsr(4): Use the available dev variable (like bus_release_resource()).
Sascha Wildner [Sat, 7 Apr 2012 11:59:15 +0000 (13:59 +0200)]
arcmsr(4): Use the available dev variable (like bus_release_resource()).

7 years agoarcmsr(4): Add MODULE_VERSION.
Sascha Wildner [Sat, 7 Apr 2012 10:51:27 +0000 (12:51 +0200)]
arcmsr(4): Add MODULE_VERSION.

7 years agoarcmsr(4): Use MSI if it is supported by the device.
Sascha Wildner [Sat, 7 Apr 2012 10:50:02 +0000 (12:50 +0200)]
arcmsr(4): Use MSI if it is supported by the device.

7 years agokernel: Fix building with USERCONFIG but without VISUAL_USERCONFIG.
Sascha Wildner [Sat, 7 Apr 2012 11:15:38 +0000 (13:15 +0200)]
kernel: Fix building with USERCONFIG but without VISUAL_USERCONFIG.

Reported-by: v_2e on users@
7 years agoKernel - properly handle max. io size when dumping
François Tigeot [Sat, 7 Apr 2012 07:08:46 +0000 (09:08 +0200)]
Kernel - properly handle max. io size when dumping

* A magic constant was used to define the maximum IO size used when
  dumping core

* Stop this practice and use the information provided by the underlying
  device driver, capping the result to MAXPHYS if needed.

* This should fix issue #2343

7 years agoUpdate the pciconf(8) database.
Sascha Wildner [Sat, 7 Apr 2012 02:17:29 +0000 (04:17 +0200)]
Update the pciconf(8) database.

Apr 4, 2012 snapshot from http://pciids.sourceforge.net/

7 years ago<machine/param.h>: Bring back the DFLTPHYS define.
Sascha Wildner [Fri, 6 Apr 2012 15:42:09 +0000 (17:42 +0200)]
<machine/param.h>: Bring back the DFLTPHYS define.

This is needed in pkgsrc, too, at least in graphics/sane-backends, which
is needed by KDE4 via ksaneplugin.

Until the impact on pkgsrc has been estimated and fixed, this define will

7 years agodlfcn: How weak!
John Marino [Fri, 6 Apr 2012 11:05:50 +0000 (13:05 +0200)]
dlfcn: How weak!

7 years agortld: Fix rtld_functrace
John Marino [Fri, 6 Apr 2012 08:08:47 +0000 (10:08 +0200)]
rtld: Fix rtld_functrace

The replacement for the do_reloc functionality wasn't properly implemented
in commit 35b2b265aa300727e840990e41e604edb8b25314

Reported-by: swildner
7 years agortld: Implement fdlopen(3)
John Marino [Fri, 6 Apr 2012 07:33:33 +0000 (09:33 +0200)]
rtld: Implement fdlopen(3)

Implement rtld interface fdlopen.  It is similar to dlopen, but takes a
file description instead of a path to reference the shared object.

Taken from: FreeBSD SVN 229768 (07 JAN 2012)

7 years agoigb: Always prepare for vlan when setup reception unit
Sepherosa Ziehau [Fri, 6 Apr 2012 09:30:34 +0000 (17:30 +0800)]
igb: Always prepare for vlan when setup reception unit

vlan could be added after igb is initialized/brought up.

7 years agoigb: vlan could detect that the parent interface is gone; don't prevent detach
Sepherosa Ziehau [Fri, 6 Apr 2012 09:27:58 +0000 (17:27 +0800)]
igb: vlan could detect that the parent interface is gone; don't prevent detach

7 years agocarp: Lockless MPSAFE step 8 of many
Sepherosa Ziehau [Fri, 6 Apr 2012 09:08:26 +0000 (17:08 +0800)]
carp: Lockless MPSAFE step 8 of many

Dispatch virtual host addresses' extraction into netisr0

7 years agocarp: Cleanup, move most of the code left in ioctl into sub-ioctl functions
Sepherosa Ziehau [Fri, 6 Apr 2012 08:37:08 +0000 (16:37 +0800)]
carp: Cleanup, move most of the code left in ioctl into sub-ioctl functions

7 years agocarp: Lockless MPSAFE step 7 of many
Sepherosa Ziehau [Fri, 6 Apr 2012 08:09:58 +0000 (16:09 +0800)]
carp: Lockless MPSAFE step 7 of many

Dispatch backing device's name extraction into netisr0

7 years agocarp: In ioctl, we have to recompute HMAC only if any configures are changed
Sepherosa Ziehau [Fri, 6 Apr 2012 05:27:55 +0000 (13:27 +0800)]
carp: In ioctl, we have to recompute HMAC only if any configures are changed

7 years agonetstat: Reduce SACK scoreboard statistics description verbosity
Sepherosa Ziehau [Fri, 6 Apr 2012 04:57:17 +0000 (12:57 +0800)]
netstat: Reduce SACK scoreboard statistics description verbosity

7 years agodsched.9: A little mdoc correction.
Sascha Wildner [Thu, 5 Apr 2012 19:48:35 +0000 (21:48 +0200)]
dsched.9: A little mdoc correction.

7 years agokernel/ufs: Fix compilation without INVARIANTS.
Sascha Wildner [Thu, 5 Apr 2012 17:10:51 +0000 (19:10 +0200)]
kernel/ufs: Fix compilation without INVARIANTS.

7 years agoppp(8): Raise WARNS to 2 and fix the warnings.
Sascha Wildner [Thu, 5 Apr 2012 09:08:06 +0000 (11:08 +0200)]
ppp(8): Raise WARNS to 2 and fix the warnings.

7 years agokernel: Pass a real format string to functions which expect one.
Sascha Wildner [Wed, 4 Apr 2012 21:31:43 +0000 (23:31 +0200)]
kernel: Pass a real format string to functions which expect one.

This is safer than just passing a random string.

A few of these changes might be overly cautious but it doesn't
hurt to stick with using formats where they are expected more
or less generally.

7 years agobktr(4): Let kthread_create() construct the thread name.
Sascha Wildner [Wed, 4 Apr 2012 19:01:46 +0000 (21:01 +0200)]
bktr(4): Let kthread_create() construct the thread name.

7 years agokernel/acpi: Remove the redefinition of kthread_create().
Sascha Wildner [Wed, 4 Apr 2012 18:09:14 +0000 (20:09 +0200)]
kernel/acpi: Remove the redefinition of kthread_create().

It's a relict from an old pile of #ifdefs that defined various
incarnations of kthread_create()s for various FreeBSD versions.
The #ifdefs have since been removed and this #define is what
used to be the __DragonFly__ case.

There are only 3 places where kthread_create() is used in ACPI,
so remove it because it's just confusing.

While here, fix a non-constant format string in one of the

7 years agocarp: Lockless MPSAFE step 6 of many
Sepherosa Ziehau [Wed, 4 Apr 2012 13:11:36 +0000 (21:11 +0800)]
carp: Lockless MPSAFE step 6 of many

Run the carp information retrieving code in netisr0

7 years agocarp: Lockless MPSAFE step 5 of many
Sepherosa Ziehau [Wed, 4 Apr 2012 12:41:06 +0000 (20:41 +0800)]
carp: Lockless MPSAFE step 5 of many

Dispatch SIOCSVH to netisr0 for further processing

7 years agocarp: Lockless MPSAFE step 4 of many
Sepherosa Ziehau [Wed, 4 Apr 2012 12:07:22 +0000 (20:07 +0800)]
carp: Lockless MPSAFE step 4 of many

Dispatch "stop" method from if_ioctl to netisr0 for further processing

7 years agocarp: Lockless MPSAFE step 3 of many
Sepherosa Ziehau [Wed, 4 Apr 2012 10:59:57 +0000 (18:59 +0800)]
carp: Lockless MPSAFE step 3 of many

Dispatch main part of if_init to netisr0 for further processing

7 years agocarp: Lockless MPSAFE step 2 of many
Sepherosa Ziehau [Wed, 4 Apr 2012 09:52:18 +0000 (17:52 +0800)]
carp: Lockless MPSAFE step 2 of many

Dispatch major part of clone_destroy to netisr0 for further processing

7 years agocarp: Lockless MPSAFE step 1 of many
Sepherosa Ziehau [Wed, 4 Apr 2012 09:26:36 +0000 (17:26 +0800)]
carp: Lockless MPSAFE step 1 of many

Dispatch ifnet_detach_event to netisr0 for further processing

7 years agopf/carp: Our carp is never layed out in the fashion used by pf
Sepherosa Ziehau [Tue, 3 Apr 2012 13:19:48 +0000 (21:19 +0800)]
pf/carp: Our carp is never layed out in the fashion used by pf

Comment out the invalid usage temporarily

7 years agocarp: Remove unused code
Sepherosa Ziehau [Tue, 3 Apr 2012 13:11:55 +0000 (21:11 +0800)]
carp: Remove unused code

7 years agocarp: Make sure that carp_ifaddr only happens in netisr0
Sepherosa Ziehau [Tue, 3 Apr 2012 12:57:15 +0000 (20:57 +0800)]
carp: Make sure that carp_ifaddr only happens in netisr0

7 years agokernel -- vnlru: Remove MPLOCK from vnlru.
Venkatesh Srinivas [Tue, 3 Apr 2012 03:59:20 +0000 (20:59 -0700)]
kernel -- vnlru: Remove MPLOCK from vnlru.

vnlru didn't need the mplock through its main loop.

7 years agovkernel: cap vdisk max. io size to MAXPHYS
François Tigeot [Mon, 2 Apr 2012 17:21:17 +0000 (19:21 +0200)]
vkernel: cap vdisk max. io size to MAXPHYS

7 years agokernel - Add max I/O size cap to vmaxiosize()
Matthew Dillon [Mon, 2 Apr 2012 17:16:21 +0000 (10:16 -0700)]
kernel - Add max I/O size cap to vmaxiosize()

* Cap the returned value at MAXPHYS, allowing VCHR devices to set a
  higher max-IO limit (according to DMA limitations) without blowing
  out the pbuf's that the frontend uses to build clustered I/O.

7 years agokernel - Reduce impact of write_behind on small/temporary files
Matthew Dillon [Mon, 2 Apr 2012 17:12:16 +0000 (10:12 -0700)]
kernel - Reduce impact of write_behind on small/temporary files

* Do not start issuing write-behind writes until a file has grown past
  a certain size, otherwise we wind up issuing excessive I/O for
  small files and for temporary files which might be quickly deleted.

* Add vfs.write_behind_minfilesize sysctl (defaults to 10MB).

7 years agokernel -- FFS: Take softdep lock in softdep_disk_io_initiation.
Venkatesh Srinivas [Mon, 2 Apr 2012 17:02:25 +0000 (10:02 -0700)]
kernel -- FFS: Take softdep lock in softdep_disk_io_initiation.

softdep_disk_io_initiation was using the mplock rather than the softdep
lock to protect the softdep work queue and items on it. Take the softdep
lock and allow it to be taken recursively, so that io_start bioops can
call into other parts of softdep. Prevents softdep completion callback
from racing softdep_disk_io_initiation, remaining panics of 2291.

Eventually the MPLOCK in the bio_ops callback can go away, but that will
require more testing.

Closes-bug: 2291

7 years agoSync zoneinfo database with tzdata2012c from munnari.oz.au
Sascha Wildner [Mon, 2 Apr 2012 08:21:42 +0000 (10:21 +0200)]
Sync zoneinfo database with tzdata2012c from munnari.oz.au

africa:         8.33 -> 8.35
asia:           8.70 -> 8.73
northamerica:   8.53 -> 8.54

* africa: Morocco 2012 DST from last Sunday in April through last
    Sunday in September.

* asia: Change start of DST in Syria to last Friday in March in
    2012 and (as a guess) forward. Starts and (guessed) ends of
    DST in West Bank and Gaza for 2012. Also add a missing HTML
    directive at the top of the file.

* northamerica: Start and end of DST in Haiti in 2012 according
    to US rules.

7 years agoKernel: Set max io size limit for all disk devices
François Tigeot [Mon, 2 Apr 2012 06:34:35 +0000 (08:34 +0200)]
Kernel: Set max io size limit for all disk devices

* Prior to this change, slice and partition devices did not inherit their
  parent maximum IO size limit

* IO transactions on these devices could thus never be bigger than the
  old 64KB DFLTPHYS defaul kernel limit

7 years agofsstress: Adjust the sample script a bit.
Sascha Wildner [Sun, 1 Apr 2012 10:10:08 +0000 (12:10 +0200)]
fsstress: Adjust the sample script a bit.

7 years agoHAMMER VFS - Fix assertion with multi-volume setup
Matthew Dillon [Sun, 1 Apr 2012 01:35:33 +0000 (18:35 -0700)]
HAMMER VFS - Fix assertion with multi-volume setup

* The RB compare code for hammer_io was extracting the volume number
  from the wrong place, creating a situation where duplicate hammer_io's
  would sometimes be inserted in the RB tree (causing an assertion + panic).

* Pull the volume number from a different field.

Reported-by: Mark Saad <nonesuch@longcount.org>
7 years agokernel - Do not use M_USE_INTERRUPT_RESERVE for M_NOWAIT
Matthew Dillon [Sun, 1 Apr 2012 01:33:59 +0000 (18:33 -0700)]
kernel - Do not use M_USE_INTERRUPT_RESERVE for M_NOWAIT

* Redefine M_NOWAIT to not use M_USE_INTERRUPT_RESERVE.  This can result
  in mbuf exhaustion during bursts of mbuf allocations and cause kernel
  kvm expansion to assert and panic.

Reported-by: sephe
7 years agokernel - Fix signal masking race assertion panic w/vkernel
Matthew Dillon [Sun, 1 Apr 2012 01:30:13 +0000 (18:30 -0700)]
kernel - Fix signal masking race assertion panic w/vkernel

* sigsuspend() and pselect() record the old signal mask in order to
  allow an interrupting signal to run its handler before the old mask
  is restored.

* When multiple threads are present a race can ensue where another thread
  changes the signal handler after sigsuspend() or pselect() have interrupted,
  but before they are able to process the signal.

* If the signal is no longer enabled the old signal mask is not restored
  on system call return, resulting in an assertion and panic.

* Fix the problem by checking the flag and restoring the old signal mask
  on return (rather than asserting when the flag is found to be non-zero
  on return).

Reported-by: Venkatesh Srinivas
7 years agolibm: Fix a typo in the MLINKS.
Sascha Wildner [Sat, 31 Mar 2012 22:22:46 +0000 (00:22 +0200)]
libm: Fix a typo in the MLINKS.

7 years agoFix some indentation in various places.
Sascha Wildner [Sat, 31 Mar 2012 18:34:05 +0000 (20:34 +0200)]
Fix some indentation in various places.

7 years agoKernel - Restore the 64KB max. IO size limit
François Tigeot [Sat, 31 Mar 2012 18:23:56 +0000 (20:23 +0200)]
Kernel - Restore the 64KB max. IO size limit

* Some drivers and part of the kernel are dependent on an implicit
  64KB maximum IO size limit

* Explicitely set it to 64KB (or MAXPHYS if it is smaller) for devices
  which do not report a default value

* This should fix ATA DMA errors reported in issue #2342

7 years agoaic(4): Remove ISA attachment.
Sascha Wildner [Sat, 31 Mar 2012 14:48:23 +0000 (16:48 +0200)]
aic(4): Remove ISA attachment.

The only support that remains (and works) is for AHA-1460 PC Card adapters.

While here, reduce differences with FreeBSD a bit.

7 years agoVFS accounting: avoid VOP_GETATTR() calls
François Tigeot [Fri, 30 Mar 2012 21:09:51 +0000 (23:09 +0200)]
VFS accounting: avoid VOP_GETATTR() calls

* Only use them if VFS accounting is not disabled

7 years agoasr(4): Improve readability of an 'if' a bit.
Sascha Wildner [Sat, 31 Mar 2012 03:24:38 +0000 (05:24 +0200)]
asr(4): Improve readability of an 'if' a bit.