dragonfly.git
11 years agohammer(8): add HAMMER_RSH environment variable support.
Chris Turner [Wed, 12 Sep 2012 13:11:31 +0000 (13:11 +0000)]
hammer(8): add HAMMER_RSH environment variable support.

Add support for a HAMMER_RSH environment variable which can be used
to select an alternate remote shell to be used for hammer remote operations,
change remote shell invocation to rsh(1) style '-l user host' instead of
ssh-style user@host to permit usage of rsh(1) as an alternate HAMMER_RSH
without the need for a wrapper script. Also change exec call of subshell
to use execvp instead of a hardcoded path to facillitate this change.

Update hammer.8 docs, along with minor formatting fix to environment
variable summary header sentence.

11 years agohammer - Add ssh-remote directive
Matthew Dillon [Tue, 11 Sep 2012 21:39:17 +0000 (14:39 -0700)]
hammer - Add ssh-remote directive

* Adds a feature that allows you to set up a command="..." prefix for a
  ssh key in your ~/.ssh/authorized_keys file that only runs the hammer
  utility and only with specific commands and filesystem paths.

  For example:

  command="/sbin/hammer ssh-remote mirror-read,mirror-write /path/" ssh-rsa...

  Currently requires a trailing '/' if you want to restrict the path to
  a subdirectory.  Multiple commands can be listed but the filesystem path
  restriction is only currently tested for mirror-read and mirror-write.

* This allows ssh to be used for mirroring without having to give shell
  access to the remote.

11 years agohammer - Add scoreboard file option
Matthew Dillon [Tue, 11 Sep 2012 16:54:02 +0000 (09:54 -0700)]
hammer - Add scoreboard file option

* Add -e <scoreboardfile> option for mirror-stream, so one can see the
  progress of mirror-streams running in the background.

11 years agonetisr: rename cpu_portfn() to netisr_portfn().
Nuno Antunes [Tue, 11 Sep 2012 10:49:51 +0000 (11:49 +0100)]
netisr: rename cpu_portfn() to netisr_portfn().

No functional change.

Searched and replaced with:
find sys/ -type f -exec sed -i "" 's/cpu_portfn/netisr_portfn/g' '{}' \;

11 years agohier.7: Oops, use Xr
Sascha Wildner [Tue, 11 Sep 2012 12:52:03 +0000 (14:52 +0200)]
hier.7: Oops, use Xr

11 years agohier.7: Add some words about /usr/share/terminfo.
Sascha Wildner [Tue, 11 Sep 2012 12:43:43 +0000 (14:43 +0200)]
hier.7: Add some words about /usr/share/terminfo.

11 years agoFix buildworld.
Sascha Wildner [Tue, 11 Sep 2012 11:25:50 +0000 (13:25 +0200)]
Fix buildworld.

11 years agoixgbe: Document a performance tuning sysctl
François Tigeot [Tue, 11 Sep 2012 09:30:37 +0000 (11:30 +0200)]
ixgbe: Document a performance tuning sysctl

* It is needed to consistently increase single stream TCP send
  performance

* Without it, single tcp connections rarely reach the maximum
  recorded speed of 9.4Gb/s

11 years agokernel/inet: Remove some unused variables.
Sascha Wildner [Tue, 11 Sep 2012 08:39:21 +0000 (10:39 +0200)]
kernel/inet: Remove some unused variables.

11 years agomfi(4): Break some overly long lines.
Sascha Wildner [Tue, 11 Sep 2012 08:06:14 +0000 (10:06 +0200)]
mfi(4): Break some overly long lines.

11 years agoacpi/resource: We still need to make sure that IRQ is valid at least
Sepherosa Ziehau [Tue, 11 Sep 2012 01:40:48 +0000 (09:40 +0800)]
acpi/resource: We still need to make sure that IRQ is valid at least

11 years agokernel: Use NULL instead of 0 for pointers, part 1/x.
Sascha Wildner [Mon, 10 Sep 2012 21:37:54 +0000 (23:37 +0200)]
kernel: Use NULL instead of 0 for pointers, part 1/x.

Found-with: Coccinelle (http://coccinelle.lip6.fr/)

11 years agohammer - Fix core dump during remote termination of mirror-stream
Matthew Dillon [Mon, 10 Sep 2012 21:03:30 +0000 (14:03 -0700)]
hammer - Fix core dump during remote termination of mirror-stream

* Fix issue where remote-end hammer can core trying to fprintf() an error
  message if a mirror-stream connection is lost unexpectedly.

11 years agokernel/acpi: Add missing include (for acpi_sci_irqno()).
Sascha Wildner [Mon, 10 Sep 2012 17:00:54 +0000 (19:00 +0200)]
kernel/acpi: Add missing include (for acpi_sci_irqno()).

11 years agoixgbe: Replace the TX lockmgr lock by a serializer
François Tigeot [Sun, 9 Sep 2012 08:37:34 +0000 (10:37 +0200)]
ixgbe: Replace the TX lockmgr lock by a serializer

11 years agoixgbe: Do all RX/TX processing in ithreads
François Tigeot [Mon, 10 Sep 2012 12:11:41 +0000 (14:11 +0200)]
ixgbe: Do all RX/TX processing in ithreads

* There is no need to launch taskqueues if there is more data to
  process, the next interrupt thread will handle it.

* This will be no later than 125µs in the general case anyway.

* This change can even increase performance by removing lock contention
  between ithreads and taskqueues trying to run at the same time.

11 years agoifpoll: Dispatch netmsgs to netisr, which is MPSAFE now
Sepherosa Ziehau [Mon, 10 Sep 2012 09:45:15 +0000 (17:45 +0800)]
ifpoll: Dispatch netmsgs to netisr, which is MPSAFE now

11 years agoacpi/resource: Only skip SCI trigger/polarity configuration
Sepherosa Ziehau [Mon, 10 Sep 2012 09:03:41 +0000 (17:03 +0800)]
acpi/resource: Only skip SCI trigger/polarity configuration

The code before this commit could cause interrupt storm on certain
systems, on which certain IRQs are configured into different mode
but the configured IRQs are actually never used.

Reported-by: swildner@
11 years agoperiodic.conf(5): document new 'daily_clean_hammer_pfslist' variable.
Chris Turner [Mon, 10 Sep 2012 04:30:21 +0000 (04:30 +0000)]
periodic.conf(5): document new 'daily_clean_hammer_pfslist' variable.

On further reflection - as hammer cleanup is not limited to pfs's -
should this this variable be called 'fslist'? but then - does that
make the usage for pfs's less obvious. Hmm. A philosophical question.

Leave the name for now, and take a sip from a glass 100% full of
some percentage of air and liquid.

suggested-by: swildner@

11 years agoperiodic/daily: add option to specify list of pfs's to daily/160.clean-hammer
Chris Turner [Mon, 10 Sep 2012 00:55:21 +0000 (00:55 +0000)]
periodic/daily: add option to specify list of pfs's to daily/160.clean-hammer

Add a new variable, daily_clean_hammer_pfslist, which can be used to
specify a list of pfs's to cleanup. This is useful e.g. on systems
with offline hammer slave pfs's which should be cleaned but would
not be done so with the default 'hammer cleanup' command.

Defaults to previous online-only cleanup behavior if this variable is
not set.

11 years agoiscontrol(8): Remove unused header file.
Sascha Wildner [Sun, 9 Sep 2012 21:16:28 +0000 (23:16 +0200)]
iscontrol(8): Remove unused header file.

11 years agoixgbe: Remove the Adaptative Interrupt Moderation code
François Tigeot [Sun, 9 Sep 2012 12:30:05 +0000 (14:30 +0200)]
ixgbe: Remove the Adaptative Interrupt Moderation code

* It didn't work correctly, the number of ixgbe interrupts per second
  could become excessive

* Use a fixed rate for all interrupts, be they legacy, MSI or
  MSI-X vectors. 8000 intr/s is a good default value.

* This change increases single stream tcp performance up to almost 50%
  in the sending direction

11 years agoixgbe: Move sysctl creation to a separate function
François Tigeot [Thu, 6 Sep 2012 11:58:55 +0000 (13:58 +0200)]
ixgbe: Move sysctl creation to a separate function

11 years agokernel/bce: Fix an impossible && that should really be a ||.
Sascha Wildner [Sun, 9 Sep 2012 12:54:20 +0000 (14:54 +0200)]
kernel/bce: Fix an impossible && that should really be a ||.

Reviewed-by: sephe
11 years agoInstall apm(4)'s manual page on x86_64, too.
Sascha Wildner [Sun, 9 Sep 2012 13:00:26 +0000 (15:00 +0200)]
Install apm(4)'s manual page on x86_64, too.

acpi(4) emulates apm(4)'s ioctls so it is relevant on x86_64 too.

Also, mention these things.

11 years agoixgbe: Enable existing MSI-X code
François Tigeot [Thu, 6 Sep 2012 12:43:17 +0000 (14:43 +0200)]
ixgbe: Enable existing MSI-X code

11 years agokernel: Remove two bogus break statements.
Sascha Wildner [Fri, 7 Sep 2012 21:24:45 +0000 (23:24 +0200)]
kernel: Remove two bogus break statements.

11 years agoRemove pcidevs_data.h via 'make upgrade'.
Sascha Wildner [Fri, 7 Sep 2012 20:18:45 +0000 (22:18 +0200)]
Remove pcidevs_data.h via 'make upgrade'.

11 years agoBUS_SETUP_INTR.9: Add missing comma and bump .Dd
Sascha Wildner [Fri, 7 Sep 2012 20:02:08 +0000 (22:02 +0200)]
BUS_SETUP_INTR.9: Add missing comma and bump .Dd

11 years agokernel/hptmv: Fix the completion of a write.
Sascha Wildner [Fri, 7 Sep 2012 19:51:17 +0000 (21:51 +0200)]
kernel/hptmv: Fix the completion of a write.

What is intended here is to perform BUS_DMASYNC_POSTWRITE when a write
is completed, but the 'else if' had the wrong check.

11 years agoRename notes/ directory to doc/
François Tigeot [Fri, 7 Sep 2012 19:18:12 +0000 (21:18 +0200)]
Rename notes/ directory to doc/

11 years agodoc - Fix previous commit.
Antonio Huete Jimenez [Fri, 3 Sep 2010 08:39:27 +0000 (10:39 +0200)]
doc - Fix previous commit.

11 years agodoc - Add some more porting notes regarding CVS ids.
Antonio Huete Jimenez [Fri, 3 Sep 2010 08:32:38 +0000 (10:32 +0200)]
doc - Add some more porting notes regarding CVS ids.

11 years agoAdd some notes I had lying in my tree.
Sascha Wildner [Thu, 25 Dec 2008 21:57:13 +0000 (22:57 +0100)]
Add some notes I had lying in my tree.

11 years agoLose LK_EXCLUSIVE in the lockinit example and a typo fix.
Peter Avalos [Sun, 6 Apr 2008 19:08:30 +0000 (19:08 +0000)]
Lose LK_EXCLUSIVE in the lockinit example and a typo fix.

11 years agoAdd some documentation on converting sleep mutexes and fix a couple of typos.
Sascha Wildner [Sat, 29 Dec 2007 18:35:59 +0000 (18:35 +0000)]
Add some documentation on converting sleep mutexes and fix a couple of typos.

Submitted-by: Aggelos Economopoulos <aoiko@cc.ece.ntua.gr>
11 years agoAdd a section about renamed kernel functions and clean up a bit.
Sascha Wildner [Wed, 31 Oct 2007 04:52:52 +0000 (04:52 +0000)]
Add a section about renamed kernel functions and clean up a bit.

11 years agoAdd an internal document describing (in a very incomplete way at the moment) how...
Matthew Dillon [Sun, 3 Dec 2006 20:49:59 +0000 (20:49 +0000)]
Add an internal document describing (in a very incomplete way at the moment) how to port a driver from FreeBSD.

11 years agoDocument bus_setup_intr_descr(9)
François Tigeot [Fri, 7 Sep 2012 09:43:17 +0000 (11:43 +0200)]
Document bus_setup_intr_descr(9)

11 years agoVFS.9: Add a reference to VFS_SET(9).
Sascha Wildner [Fri, 7 Sep 2012 15:57:04 +0000 (17:57 +0200)]
VFS.9: Add a reference to VFS_SET(9).

Reported-by: Raimundo Santos <raitech@gmail.com>
11 years agokernel/ipx: Add a missing 'goto set_head;'.
Sascha Wildner [Fri, 7 Sep 2012 12:57:48 +0000 (14:57 +0200)]
kernel/ipx: Add a missing 'goto set_head;'.

11 years agoixgbe: Explicitely enable PCIe bus mastering
François Tigeot [Sat, 1 Sep 2012 17:25:04 +0000 (19:25 +0200)]
ixgbe: Explicitely enable PCIe bus mastering

11 years agokernel: Use NULL for pointers in some places.
Sascha Wildner [Thu, 6 Sep 2012 11:11:03 +0000 (13:11 +0200)]
kernel: Use NULL for pointers in some places.

11 years agokernel: Remove pcidevs_data.h. It serves no purpose.
Sascha Wildner [Wed, 5 Sep 2012 21:32:42 +0000 (23:32 +0200)]
kernel: Remove pcidevs_data.h. It serves no purpose.

11 years agokernel/ixgbe: Add missing braces.
Sascha Wildner [Tue, 4 Sep 2012 17:21:16 +0000 (19:21 +0200)]
kernel/ixgbe: Add missing braces.

11 years agotcp: Implement asynchronized pru_rcvd
Sepherosa Ziehau [Mon, 3 Sep 2012 09:46:58 +0000 (17:46 +0800)]
tcp: Implement asynchronized pru_rcvd

This mainly avoids extra scheduling cost on the reception path due to
lwkt_domsg().  lwkt_sendmsg() is now used to carry out TCP pru_rcvd.

Since TCP's pru_rcvd could be batched, one pru_rcvd netmsg is embedded
into struct socket to avoid pru_rcvd netmsg allocation for each pru_rcvd,
and this netmsg will be used by lwkt_sendmsg().  Whether this embedded
pcu_rcvd netmsg should be sent or not is determined by its MSG_DONE bit.
Since user thread and netisr thread could be on different CPUs, the
embedded pru_rcvd netmsg's MSG_DONE bit is protected by a spinlock.

To cope with the following race that could drop window updates,
tcp_usr_rcvd() replies asynchronized rcvd netmsg before tcp_output():

      netisr thread                     user thread

tcp_usr_rcvd()                   sorcvtcp()
{                                {
    tcp_output()                          :
          :                               :
          :                          sbunlinkmbuf()
          :                          if (rcvd & MSG_DONE) (2)
          :                              lwkt_sendmsg(rvcd)
          :                               :
    lwkt_replymsg(rcvd) (1)
}

At (2) window update is dropped, since rcvd netmsg is not replied yet at (1)

The result:
On i7-2600 (4C/8T, 3.4GHz):
32 parallel netperf -H 127.0.0.1 -t TCP_STREAM -P0 -l 30 (4 runs, unit: Mbps)

old   30253.88 30242.58 30162.55 30101.51
new   33962.74 33798.70 33499.92 33482.35

This gives ~12% performance improvement.

11 years agomsgport.9: Fix a path.
Nuno Antunes [Mon, 3 Sep 2012 04:30:05 +0000 (05:30 +0100)]
msgport.9: Fix a path.

* sys/kern/netisr.c -> sys/net/netisr.c

Pointed-out-by: Romick <yellowrabbit2010@gmail.com>
11 years agoacpi: Remove some unused files.
Sascha Wildner [Mon, 3 Sep 2012 04:04:38 +0000 (06:04 +0200)]
acpi: Remove some unused files.

11 years agoRemove another unused header (<machine/ultrasound.h>).
Sascha Wildner [Mon, 3 Sep 2012 03:04:55 +0000 (05:04 +0200)]
Remove another unused header (<machine/ultrasound.h>).

11 years agoRemove an unused old ral(4) firmware header.
Sascha Wildner [Mon, 3 Sep 2012 02:28:19 +0000 (04:28 +0200)]
Remove an unused old ral(4) firmware header.

11 years agoRemove an unused and empty header (<machine/mtpr.h>).
Sascha Wildner [Mon, 3 Sep 2012 02:18:05 +0000 (04:18 +0200)]
Remove an unused and empty header (<machine/mtpr.h>).

11 years agolibprop: Add two missing MLINKS.
Sascha Wildner [Sun, 2 Sep 2012 16:08:50 +0000 (18:08 +0200)]
libprop: Add two missing MLINKS.

11 years agotbridge: Sync NAME, SYNOPSIS and MLINKS.
Sascha Wildner [Sun, 2 Sep 2012 15:55:30 +0000 (17:55 +0200)]
tbridge: Sync NAME, SYNOPSIS and MLINKS.

11 years agolibm: Add missing MLINK.
Sascha Wildner [Sun, 2 Sep 2012 15:47:26 +0000 (17:47 +0200)]
libm: Add missing MLINK.

11 years agoBring in a VFS_SET(9) manual page (from FreeBSD).
Sascha Wildner [Sun, 2 Sep 2012 11:31:33 +0000 (13:31 +0200)]
Bring in a VFS_SET(9) manual page (from FreeBSD).

11 years agolink.2: Use .Fn and add .Nm linkat
Sascha Wildner [Sat, 1 Sep 2012 22:26:04 +0000 (00:26 +0200)]
link.2: Use .Fn and add .Nm linkat

11 years agoamr(4): Remove some unused code (amr_timeout()).
Sascha Wildner [Fri, 31 Aug 2012 22:06:05 +0000 (00:06 +0200)]
amr(4): Remove some unused code (amr_timeout()).

Taken-from: FreeBSD

11 years agoAdd CARP support to the GENERIC kernels.
Sascha Wildner [Fri, 31 Aug 2012 21:00:35 +0000 (23:00 +0200)]
Add CARP support to the GENERIC kernels.

http://leaf.dragonflybsd.org/mailarchive/users/2012-08/msg00086.html

Suggested-by: Charles Rapenne <charles.rapenne@gmail.com>
Approved-by: sephe
11 years agousched_bsd4 - topology sched: go for safe defaults
Alex Hornung [Thu, 30 Aug 2012 08:17:12 +0000 (08:17 +0000)]
usched_bsd4 - topology sched: go for safe defaults

 * When we don't know how to handle the level of the current CPU, go for
   safe defaults disabling both cache-coherent and SMT scheduling.

 * This seems to be the case on single-core machines where the level is
   the PACKAGE_LEVEL.

Reported-by: Max Herrgard, Ferruccio Zamuner, David Shao
Dragonfly-bug: http://bugs.dragonflybsd.org/issue2408
Dragonfly-bug: http://bugs.dragonflybsd.org/issue2413

11 years agosorecvtcp: Remove unapplied code
Sepherosa Ziehau [Thu, 30 Aug 2012 04:13:08 +0000 (12:13 +0800)]
sorecvtcp: Remove unapplied code

11 years agosocket: Replicate soreceive() to sorecvtcp() for cleanup and optimization
Sepherosa Ziehau [Thu, 30 Aug 2012 03:26:13 +0000 (11:26 +0800)]
socket: Replicate soreceive() to sorecvtcp() for cleanup and optimization

11 years agojme: RX interrupt to ~6000Hz, TX interrupt to ~4000Hz
Sepherosa Ziehau [Wed, 29 Aug 2012 09:51:35 +0000 (17:51 +0800)]
jme: RX interrupt to ~6000Hz, TX interrupt to ~4000Hz

11 years agojme: Record number of times that RX ring becomes empty
Sepherosa Ziehau [Wed, 29 Aug 2012 09:35:08 +0000 (17:35 +0800)]
jme: Record number of times that RX ring becomes empty

11 years agojme: Allow MSI-X be evenly spreaded across CPUs
Sepherosa Ziehau [Wed, 29 Aug 2012 09:10:43 +0000 (17:10 +0800)]
jme: Allow MSI-X be evenly spreaded across CPUs

11 years agoigb: Set default RX descriptor count to 512
Sepherosa Ziehau [Wed, 29 Aug 2012 08:40:29 +0000 (16:40 +0800)]
igb: Set default RX descriptor count to 512

11 years agoacpi/sci: Test ACPI MADT interrupt override entry's preferred mode first
Sepherosa Ziehau [Wed, 29 Aug 2012 02:25:47 +0000 (10:25 +0800)]
acpi/sci: Test ACPI MADT interrupt override entry's preferred mode first

11 years agowpa_supplicant(8): Use libpcap functions.
Sascha Wildner [Tue, 28 Aug 2012 22:16:01 +0000 (00:16 +0200)]
wpa_supplicant(8): Use libpcap functions.

11 years agokernel/acpi: Add smart battery support.
Sascha Wildner [Tue, 28 Aug 2012 22:08:24 +0000 (00:08 +0200)]
kernel/acpi: Add smart battery support.

I don't know which laptops have them, as far as I can tell, none of mine
do. But as some seem to have it, it's worth supporting.

https://en.wikipedia.org/wiki/Smart_Battery_System

This is the patch from the tracker with some later updates FreeBSD did.

Taken-from:    FreeBSD
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/1229>
Submitted-by: Dmitry Komissaroff <aunoor@gmail.com>
11 years agompt(4): We don't have MOD_QUIESCE.
Sascha Wildner [Tue, 28 Aug 2012 16:32:09 +0000 (18:32 +0200)]
mpt(4): We don't have MOD_QUIESCE.

11 years agotcp/ncr: Avoid using magic number
Sepherosa Ziehau [Tue, 28 Aug 2012 07:10:58 +0000 (15:10 +0800)]
tcp/ncr: Avoid using magic number

11 years agotcp: RFC3517bis is now officially RFC6675
Sepherosa Ziehau [Tue, 28 Aug 2012 07:00:28 +0000 (15:00 +0800)]
tcp: RFC3517bis is now officially RFC6675

11 years agoacpi/pcib: Guard against invalid GSI provided by PRT
Sepherosa Ziehau [Tue, 28 Aug 2012 06:30:47 +0000 (14:30 +0800)]
acpi/pcib: Guard against invalid GSI provided by PRT

11 years agoacpi/resource: Use legacy_intr_find to detect invalid IRQ configure
Sepherosa Ziehau [Tue, 28 Aug 2012 06:12:10 +0000 (14:12 +0800)]
acpi/resource: Use legacy_intr_find to detect invalid IRQ configure

11 years agopci: Guard against wrong user supplied IRQ assignment
Sepherosa Ziehau [Tue, 28 Aug 2012 06:02:10 +0000 (14:02 +0800)]
pci: Guard against wrong user supplied IRQ assignment

11 years agoacpi/fadt: Make sure that SCI IRQ is valid
Sepherosa Ziehau [Tue, 28 Aug 2012 05:43:35 +0000 (13:43 +0800)]
acpi/fadt: Make sure that SCI IRQ is valid

11 years agopci/pir: Make sure that the IRQ is allowed to be configured
Sepherosa Ziehau [Tue, 28 Aug 2012 04:46:20 +0000 (12:46 +0800)]
pci/pir: Make sure that the IRQ is allowed to be configured

If the IRQ is already configured into non-level/low mode, we should not
change the trigger and polarity

11 years agoMachIntr: Add two methods to find IRQ
Sepherosa Ziehau [Tue, 28 Aug 2012 04:23:26 +0000 (12:23 +0800)]
MachIntr: Add two methods to find IRQ

- Find IRQ conforming to the specified trigger and polarity, if it was
  configured.
- Find IRQ by GSI, the located IRQ must conform to the specified trigger
  and polarity if it was configured.

11 years agoacpi/intr: Fix comment, source index is GSI _not_ IRQ
Sepherosa Ziehau [Mon, 27 Aug 2012 02:43:48 +0000 (10:43 +0800)]
acpi/intr: Fix comment, source index is GSI _not_ IRQ

11 years agokernel: Turn the delay before mounting root into a tunable.
Sascha Wildner [Mon, 27 Aug 2012 18:00:46 +0000 (20:00 +0200)]
kernel: Turn the delay before mounting root into a tunable.

Submitted-by: Francis Gudin <fgudin@nerim.net>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2373>

11 years ago/boot/defaults/loader.conf: Adjust a comment.
Sascha Wildner [Mon, 27 Aug 2012 17:57:49 +0000 (19:57 +0200)]
/boot/defaults/loader.conf: Adjust a comment.

11 years agoixgbe: add tso_pullup function
François Tigeot [Sat, 25 Aug 2012 15:25:26 +0000 (17:25 +0200)]
ixgbe: add tso_pullup function

* This routine rearranges mbuf chains to get more continuous bytes,
  potentially increasing tcp send performance

* Single TCP streams are now able to push slightly more than 4Gb/s
  under the right circumstances

Taken-from: Sepherosa Ziehau's work on the igb(4) driver

11 years agoixgbe: enable existing FreeBSD IPv4 TSO code
François Tigeot [Sat, 25 Aug 2012 14:35:41 +0000 (16:35 +0200)]
ixgbe: enable existing FreeBSD IPv4 TSO code

* This is not perfect but increases sending speeds up to about 3.5 Gb/s
  by TCP connection

* Total throughput has been measured up to 9.22 Gb/s in the sending
  direction

11 years agokernel: IFCAP_TSO is really IPv4-specific
François Tigeot [Mon, 20 Aug 2012 19:59:03 +0000 (21:59 +0200)]
kernel: IFCAP_TSO is really IPv4-specific

* Rename IFCAP_TSO to IFCAP_TSO4 to make things crystal clear, keeping
  the old name for compatibility

* Add IFCAP_TSO6 for the future

11 years agokernel - reduce kern.maxvnodes default on 32 bit systems
Matthew Dillon [Sun, 26 Aug 2012 17:09:19 +0000 (10:09 -0700)]
kernel - reduce kern.maxvnodes default on 32 bit systems

* Reduce maximum kern.maxvnodes on standard-configured 32 bit systems
  from ~100K vnodes to ~80K vnodes to reduce kmem usage.

11 years agogrowfs(8)/ffsinfo(8): Use __func__
Sascha Wildner [Sun, 26 Aug 2012 11:15:35 +0000 (13:15 +0200)]
growfs(8)/ffsinfo(8): Use __func__

11 years agogrowfs(8): Fix building with -DFS_DEBUG.
Sascha Wildner [Sun, 26 Aug 2012 11:14:13 +0000 (13:14 +0200)]
growfs(8): Fix building with -DFS_DEBUG.

11 years agomake_dev.9: Fix typo.
Sascha Wildner [Sun, 26 Aug 2012 10:35:14 +0000 (12:35 +0200)]
make_dev.9: Fix typo.

11 years agokernel/ffs: Compare v_rdev directly when updating mounts.
Sascha Wildner [Sun, 26 Aug 2012 09:55:37 +0000 (11:55 +0200)]
kernel/ffs: Compare v_rdev directly when updating mounts.

Nowadays the vnode's v_rdev is always associated, so it can be used
directly to compare the devices.

Pointed-out-by: alexh
11 years agokernel/linprocfs: Implement /proc/devices.
Sascha Wildner [Sat, 25 Aug 2012 20:48:12 +0000 (22:48 +0200)]
kernel/linprocfs: Implement /proc/devices.

As close to Linux' format as I could get, and enough to make LSI's
MegaCli utility (for RAID configuration) work with mfi(4).

11 years agokernel/devfs: Fill out cdev_t's si_major field (and adjust one use case).
Sascha Wildner [Sun, 26 Aug 2012 10:12:46 +0000 (12:12 +0200)]
kernel/devfs: Fill out cdev_t's si_major field (and adjust one use case).

11 years agokernel/devfs: Pass more arguments to the callback for devfs_scan_callback.
Sascha Wildner [Sun, 26 Aug 2012 10:31:13 +0000 (12:31 +0200)]
kernel/devfs: Pass more arguments to the callback for devfs_scan_callback.

is_alias signals whether it is an alias or a real device. If true, name
is the alias name. If false, it is the device name.

Reviewed-by: alexh
11 years agokernel/devfs: Rename devfs_nodetype members (conflicts with {,lin}procfs.h).
Sascha Wildner [Thu, 23 Aug 2012 22:40:22 +0000 (00:40 +0200)]
kernel/devfs: Rename devfs_nodetype members (conflicts with {,lin}procfs.h).

11 years agoixgbe: enable VLAN code
François Tigeot [Sat, 25 Aug 2012 12:38:08 +0000 (14:38 +0200)]
ixgbe: enable VLAN code

11 years agokernel/devfs: Assert that the callback isn't NULL in devfs_scan_callback().
Sascha Wildner [Sat, 25 Aug 2012 06:04:39 +0000 (08:04 +0200)]
kernel/devfs: Assert that the callback isn't NULL in devfs_scan_callback().

11 years agoAdd a device_get_name(9) manual page (from FreeBSD).
Sascha Wildner [Sat, 25 Aug 2012 05:12:50 +0000 (07:12 +0200)]
Add a device_get_name(9) manual page (from FreeBSD).

11 years agokernel - Do not allow destroyed namecache entries to be re-resolved
Matthew Dillon [Sat, 25 Aug 2012 00:09:58 +0000 (17:09 -0700)]
kernel - Do not allow destroyed namecache entries to be re-resolved

* Do not allow a destroyed namecache entry to be re-resolved, as it
  might resolve as a completely different file, or even resolve as
  a file when it was originally a directory and so forth.

* Fixes inconsistencies in the current-dir fields in proc->p_fd.

* Note that most VFS's can't re-resolve a disconnected directory
  anyway but HAMMER1 actually can, so this was causing a problem
  in tests with HAMMER1 (the same tests that originally crashed
  tmpfs were also crashing HAMMER1, but for a different reason).

11 years agotmpfs - Fix numerous races and adjust to use cache_unlink()
Matthew Dillon [Fri, 24 Aug 2012 23:30:20 +0000 (16:30 -0700)]
tmpfs - Fix numerous races and adjust to use cache_unlink()

* Fix numerous issues when chdir'd into a directory that is then
  rmdir'd.

* Rewrite the link count handling code for directories, also removing
  two now unecessary recursions.

* Do not allow new files to be created in a directory which has been
  rmdir'd.

* Use the new cache_unlink facility.

11 years agokernel - Adjust devfs, hammer, and puffs to use the new cache_unlink()
Matthew Dillon [Fri, 24 Aug 2012 23:29:49 +0000 (16:29 -0700)]
kernel - Adjust devfs, hammer, and puffs to use the new cache_unlink()

* Adjust devfs, hammer, and puffs to use the new cache_unlink() mechanic.

11 years agokernel - add cache_unlink(), fix a rename issue.
Matthew Dillon [Fri, 24 Aug 2012 23:26:31 +0000 (16:26 -0700)]
kernel - add cache_unlink(), fix a rename issue.

* Add a rollup function called cache_unlink() to handle namecache
  effects when unlinking a file.

* Change namecache semantics a bit.  When a namecache entry is unlinked
  we allow it to be left in the topology as long as the vnode survives,
  but marked NCF_DESTROYED so it does not conflict with any new entries
  that might be named the same, and does not get returned in lookup results.

* This will solve the issue when renaming a file over an empty directory
  (destroying the directory) when one or more processes are chdir'd into
  that directory.  This would cause the process nchdir stuff to get out
  of sync with the retained directory vnode because the same namecache
  entry would get reused.

11 years agomutex.9: Misc updates and minor improvements.
Nuno Antunes [Fri, 24 Aug 2012 14:45:35 +0000 (15:45 +0100)]
mutex.9: Misc updates and minor improvements.

* mtx_spinlock_ex() and mtx_spinlock_sh() do not exist anymore. mtx_spinlock()
  replaced both.

* Add MLINKS for mtx_lock(), mtx_spinlock_try() and mtx_spinunlock().

* Use .Fn for function name mtx_lock_ex_quick().

* Add some text describing mtx_lock(), mtx_spinlock_try() and mtx_spinunlock().

* Start a sentence with capital letter but avoid starting with a function name.

* Add a missing .Fa.

* Add a cross reference to sleep(9) in the SEE ALSO section.

* Bump date.

Reviewed-by: swildner