dragonfly.git
11 years agobnx: Save inetrrupt mailbox register in bnx_intr_data
Sepherosa Ziehau [Mon, 15 Apr 2013 14:27:47 +0000 (22:27 +0800)]
bnx: Save inetrrupt mailbox register in bnx_intr_data

11 years agobnx: There is no non-oneshot MSI interrupt handler now
Sepherosa Ziehau [Mon, 15 Apr 2013 14:09:47 +0000 (22:09 +0800)]
bnx: There is no non-oneshot MSI interrupt handler now

11 years agobnx: Chips supported by this driver always support "one shot" MSI
Sepherosa Ziehau [Mon, 15 Apr 2013 13:34:43 +0000 (21:34 +0800)]
bnx: Chips supported by this driver always support "one shot" MSI

11 years agobnx: Move status block related fields into bnx_intr_data
Sepherosa Ziehau [Mon, 15 Apr 2013 13:21:18 +0000 (21:21 +0800)]
bnx: Move status block related fields into bnx_intr_data

For MSI-X support, each MSI-X vector needs one status block.

11 years agobnx: Properly setup RX return ring cons index position
Sepherosa Ziehau [Sun, 14 Apr 2013 12:46:08 +0000 (20:46 +0800)]
bnx: Properly setup RX return ring cons index position

11 years agobnx: Use pre-configured array to setup TX ring's mailbox register
Sepherosa Ziehau [Sun, 14 Apr 2013 10:51:56 +0000 (18:51 +0800)]
bnx: Use pre-configured array to setup TX ring's mailbox register

11 years agobnx: Create dedicated thread for RX standard ring refilling
Sepherosa Ziehau [Sun, 14 Apr 2013 08:29:06 +0000 (16:29 +0800)]
bnx: Create dedicated thread for RX standard ring refilling

The RX standard ring descriptors and RX standard producer index register
are updated only in the dedicated thread.  The RX standard ring software
ring data are shared between RX return rings' processing threads and the
dedicated thread.  The RX standard ring software ring data are updated in
lockless fashion, since only one RX return ring could be the owner of the
entry of RX standard ring software ring data.

The RX standard ring refilling thread scheduling is optimized that only
when certain amount of packets are received by the RX return ring, the
RX standard ring refiling thread will be scheduled.

This prepares for the multiple RX rings support.

11 years agotouch(1): Constify where appropriate
Eitan Adler [Sat, 13 Apr 2013 20:37:10 +0000 (16:37 -0400)]
touch(1): Constify where appropriate

Reported-by: emaste@FreeBSD.org
11 years agoImport mdocml-1.12.1
Sascha Wildner [Sun, 14 Apr 2013 08:03:58 +0000 (10:03 +0200)]
Import mdocml-1.12.1

11 years agopathconf.2: Mention lpathconf() in the ERRORS section.
Sascha Wildner [Sat, 13 Apr 2013 07:31:42 +0000 (09:31 +0200)]
pathconf.2: Mention lpathconf() in the ERRORS section.

11 years agokernel/rmdir: Return EBUSY if the dir is a mount point for a mounted fs.
Sascha Wildner [Sat, 13 Apr 2013 07:09:58 +0000 (09:09 +0200)]
kernel/rmdir: Return EBUSY if the dir is a mount point for a mounted fs.

See: http://pubs.opengroup.org/onlinepubs/009695399/functions/rmdir.html

It was already documented like that in the manual page.

While here, also document that we return EINVAL if the last component of
the path is "." or ".." (taken from FreeBSD).

Reported-by: Joris Giovannangeli <joris@giovannangeli.fr>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2543>

11 years agokernel: Add lpathconf(2) syscall.
Sascha Wildner [Sat, 13 Apr 2013 06:58:19 +0000 (08:58 +0200)]
kernel: Add lpathconf(2) syscall.

It's like pathconf(2) but doesn't follow symlinks.

Manual page changes taken from FreeBSD.

11 years agotouch(1): Move ids back to the comments (as per 1de703daf6).
Sascha Wildner [Fri, 12 Apr 2013 15:43:26 +0000 (17:43 +0200)]
touch(1): Move ids back to the comments (as per 1de703daf6).

11 years agobnx: Fix up CPUID for tick callout
Sepherosa Ziehau [Fri, 12 Apr 2013 05:21:15 +0000 (13:21 +0800)]
bnx: Fix up CPUID for tick callout

11 years agobnx: Reimplement polling in non-compat mode
Sepherosa Ziehau [Fri, 12 Apr 2013 03:13:40 +0000 (11:13 +0800)]
bnx: Reimplement polling in non-compat mode

Take advantage of the independent TX/RX serializers.

Additionally, save the status tag's location in RX return ring struct.

11 years agotouch(1): Reintroduce local changes
François Tigeot [Thu, 11 Apr 2013 12:06:34 +0000 (14:06 +0200)]
touch(1): Reintroduce local changes

Major changes introduced by the update from FreeBSD:

* Add the 'h' flag to operate on symlinks rather than what they point to.

* Add -A flag to adjust existing time stamps.

* Add the -d option from POSIX.1-2008.
  This is much like -t but with a different format which is ISO8601-like
  and allows fractions of a second.

* Remove the advertising clause from UCB copyrighted files. This
  is in accordance with the information provided at
  ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

* Remove useless and potentially dangerous rw() function which tries to
update access and modification times by reading and writing the file.

11 years agotouch(1): Sync with FreeBSD
François Tigeot [Thu, 11 Apr 2013 07:02:56 +0000 (09:02 +0200)]
touch(1): Sync with FreeBSD

11 years agobnx: Add read-only sysctl node for RX/TX queue count
Sepherosa Ziehau [Thu, 11 Apr 2013 08:54:08 +0000 (16:54 +0800)]
bnx: Add read-only sysctl node for RX/TX queue count

11 years agobnx: Switch to IFQ subqueue functions and use per-TX queue watchdog
Sepherosa Ziehau [Thu, 11 Apr 2013 08:15:28 +0000 (16:15 +0800)]
bnx: Switch to IFQ subqueue functions and use per-TX queue watchdog

11 years agobnx: Split RX/TX serializers
Sepherosa Ziehau [Thu, 11 Apr 2013 07:33:24 +0000 (15:33 +0800)]
bnx: Split RX/TX serializers

11 years agoAdd EXIT STATUS messages in some manual pages.
Sascha Wildner [Wed, 10 Apr 2013 17:10:53 +0000 (19:10 +0200)]
Add EXIT STATUS messages in some manual pages.

11 years agormdir.1: Add EXIT STATUS section and fix a typo.
Sascha Wildner [Wed, 10 Apr 2013 16:57:21 +0000 (18:57 +0200)]
rmdir.1: Add EXIT STATUS section and fix a typo.

11 years agoMakefile_upgrade.inc: Fix typo.
Sascha Wildner [Wed, 10 Apr 2013 16:12:08 +0000 (18:12 +0200)]
Makefile_upgrade.inc: Fix typo.

11 years agobnx: Group interrupt related fields together
Sepherosa Ziehau [Wed, 10 Apr 2013 09:05:56 +0000 (17:05 +0800)]
bnx: Group interrupt related fields together

11 years agoioapic: Relocate IRQ if it hits SYSCALL entry
Sepherosa Ziehau [Wed, 10 Apr 2013 03:10:33 +0000 (11:10 +0800)]
ioapic: Relocate IRQ if it hits SYSCALL entry

The system hitting the "unused IRQ assertion" has 5x24 pin IOAPICs

Reported-by: ruse39
11 years agobnx: Save RX return ring and TX ring status block indices' location
Sepherosa Ziehau [Wed, 10 Apr 2013 02:13:56 +0000 (10:13 +0800)]
bnx: Save RX return ring and TX ring status block indices' location

11 years agobnx: Field renaming; no functional changes
Sepherosa Ziehau [Tue, 9 Apr 2013 12:52:24 +0000 (20:52 +0800)]
bnx: Field renaming; no functional changes

11 years agobnx: Factor out bnx_{alloc,setup,free}_intr()
Sepherosa Ziehau [Tue, 9 Apr 2013 09:41:37 +0000 (17:41 +0800)]
bnx: Factor out bnx_{alloc,setup,free}_intr()

11 years agobce: BCM5716's MSI does not have bug either
Sepherosa Ziehau [Tue, 9 Apr 2013 09:18:31 +0000 (17:18 +0800)]
bce: BCM5716's MSI does not have bug either

11 years agobnx: Don't commit coalesce param changes in interrupt/polling handler
Sepherosa Ziehau [Tue, 9 Apr 2013 09:03:40 +0000 (17:03 +0800)]
bnx: Don't commit coalesce param changes in interrupt/polling handler

This is only intended for old chips.  Just commit the coalesce param
changes in sysctl handlers.

11 years agobnx: Regroup RX std and return rings into their own structs
Sepherosa Ziehau [Sat, 6 Apr 2013 11:47:59 +0000 (19:47 +0800)]
bnx: Regroup RX std and return rings into their own structs

11 years agoip/udp: Fix IP source address setting for multicast address bound socket
Sepherosa Ziehau [Tue, 9 Apr 2013 03:06:39 +0000 (11:06 +0800)]
ip/udp: Fix IP source address setting for multicast address bound socket

It is a common practice to bind UDP socket to multicast address to enjoy
kernel level destination multicast address and port filtering.  However,
if data are sent on this kind of socket, source address of the IP packet
will be the bound multicast address?!

Two fixes are added to address this bug:

1) Don't set IP source address in udp_output(), if the inpcb's laddr is
   multicast address.  Instead the IP source address is set to INADDR_ANY,
   so ip_output() could pick up a proper IP source address.

2) With 1) in place, it is possible that IP source address is INADDR_ANY
   before the ifnet.if_output() using following steps:
   - If the IP_MULTICAST_IF socket option is set to iface0
   - The iface0's last IP address is unset, before the ip_output()

   This condition could easily be reproduced by using test/mcast:
   mcast -m 224.2.2.2 -p 3000 -i iface0_ip -D 10
   During the 10sec delay, wipe out all IP addresses from iface0

   Well, even without 1), raw IP still could generate IP packet using
   INADDR_ANY as source address.

   Two checks on the source IP address are added to ip_output() before
   ifnet.if_output()
   - IP source address should not be INADDR_ANY
   - IP source address should not be multicast address

   And for multicast IP packets, if the IP source address could be
   determined, they will not be looped back and forwarded.

Reported-by: zeroxia
11 years agotest/mcast: Add test for send(2) on multicast address bound socket
Sepherosa Ziehau [Tue, 9 Apr 2013 03:05:46 +0000 (11:05 +0800)]
test/mcast: Add test for send(2) on multicast address bound socket

11 years agoip_output: Record the "src was INADDR_ANY" for multicast packets
Sepherosa Ziehau [Tue, 9 Apr 2013 02:32:22 +0000 (10:32 +0800)]
ip_output: Record the "src was INADDR_ANY" for multicast packets

While I'm here, fix the comment on the unicast packet output path.

11 years agomined(1): Fix alignment issue on strict alignment architectures.
Sascha Wildner [Sun, 7 Apr 2013 21:59:44 +0000 (23:59 +0200)]
mined(1): Fix alignment issue on strict alignment architectures.

Reported-by: Eitan Adler <eadler@freebsd.org>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2541>

11 years agomined.1: Move some info from CAVEATS to DESCRIPTION.
Sascha Wildner [Sun, 7 Apr 2013 21:04:53 +0000 (23:04 +0200)]
mined.1: Move some info from CAVEATS to DESCRIPTION.

mandoc(1) warns about CAVEATS not being in conventional order and
silencing it by moving the section would have caused it to be behind
HISTORY even.

However, the info is more important than the editor's history, so
instead add it to the DESCRIPTION, which is short in this case, anyway.

Reported-by: Eitan Adler <eadler@freebsd.org>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2540>

11 years agoftp: Update files for tnftp-20121224 import.
Peter Avalos [Sun, 7 Apr 2013 04:55:23 +0000 (21:55 -0700)]
ftp: Update files for tnftp-20121224 import.

11 years agoMerge branch 'vendor/TNFTP'
Peter Avalos [Sun, 7 Apr 2013 05:00:55 +0000 (22:00 -0700)]
Merge branch 'vendor/TNFTP'

11 years agode: Reset chip after calling ether_ifattach()
Sepherosa Ziehau [Sun, 7 Apr 2013 04:57:49 +0000 (12:57 +0800)]
de: Reset chip after calling ether_ifattach()

Else the ifnet is not completely initialized

Reported-by: swildner@
11 years agoImport tnftp-20121224.
Peter Avalos [Sun, 7 Apr 2013 04:34:01 +0000 (21:34 -0700)]
Import tnftp-20121224.

* Add https support.
* When using the response to SYST to decide whether to default to
  'binary' be a lot less specific.

Obtained-from:   NetBSD

11 years agokernel/if_ndis: Grab the serializer around if_devstart().
Sascha Wildner [Fri, 5 Apr 2013 03:50:55 +0000 (05:50 +0200)]
kernel/if_ndis: Grab the serializer around if_devstart().

Submitted-by: sephe
11 years agodevelopment.7: Mention dragonfly.vim.
Sascha Wildner [Tue, 2 Apr 2013 19:23:19 +0000 (21:23 +0200)]
development.7: Mention dragonfly.vim.

11 years agokernel: Fix build without DDB.
Sascha Wildner [Tue, 2 Apr 2013 18:04:08 +0000 (20:04 +0200)]
kernel: Fix build without DDB.

11 years ago<sys/param.h>: Adjust comment indent.
Sascha Wildner [Tue, 2 Apr 2013 17:35:18 +0000 (19:35 +0200)]
<sys/param.h>: Adjust comment indent.

11 years agore: Don't enable MSI by default even for PCI-e chips
Sepherosa Ziehau [Tue, 2 Apr 2013 03:14:02 +0000 (11:14 +0800)]
re: Don't enable MSI by default even for PCI-e chips

It causes more troubles than the benefits it brings for us; it causes
watchdog, due to loosing interrupt, on certain PCI-e chips.

DragonFly-bug: http://bugs.dragonflybsd.org/issues/2533

11 years agoChange to DragonFly 3.5. v3.5.0
Justin C. Sherrill [Tue, 2 Apr 2013 02:11:01 +0000 (22:11 -0400)]
Change to DragonFly 3.5.

11 years agokernel: Fix buildkernel without INVARIANTS.
Sascha Wildner [Mon, 1 Apr 2013 21:43:09 +0000 (23:43 +0200)]
kernel: Fix buildkernel without INVARIANTS.

Reported-by: Filippo Moretti <filippomore@yahoo.com>
11 years agomfi(4)/mfiutil(8): Add support for foreign configurations and drives.
Sascha Wildner [Mon, 1 Apr 2013 21:26:47 +0000 (23:26 +0200)]
mfi(4)/mfiutil(8): Add support for foreign configurations and drives.

For this, the following commands are added to mfiutil(8):

foreign scan - lists the number of foreign configs
foreign drives - lists the drives which are flagged as foreign
foreign display - displays the specified foreign configuration
foreign preview - previews the specified foreign configuration after import
foreign clear - clears the foreign configuration
foreign import - imports the foreign configuration

Foreign drive support has been added to 'show drives' too.

Tested-by: ftigeot
Taken-from: http://www.freebsd.org/cgi/query-pr.cgi?pr=172091

11 years agokernel/mfi: Add a tunable/sysctl to modify the command timeout.
Sascha Wildner [Mon, 1 Apr 2013 15:41:51 +0000 (17:41 +0200)]
kernel/mfi: Add a tunable/sysctl to modify the command timeout.

11 years agokernel: Make tty_compat.c optional in 'files' instead of in the source.
Sascha Wildner [Mon, 1 Apr 2013 20:14:06 +0000 (22:14 +0200)]
kernel: Make tty_compat.c optional in 'files' instead of in the source.

11 years agobsd.sys.mk: Add -Wmissing-include-dirs to WARNS >= 1.
Sascha Wildner [Mon, 1 Apr 2013 13:47:21 +0000 (15:47 +0200)]
bsd.sys.mk: Add -Wmissing-include-dirs to WARNS >= 1.

It ensures that all directories passed with -I<dir> actually exist.

11 years agolibc: Fix -Wmissing-include-dirs.
Sascha Wildner [Mon, 1 Apr 2013 13:45:00 +0000 (15:45 +0200)]
libc: Fix -Wmissing-include-dirs.

11 years agobnx: Pack TX mbuf and dmamap together; improve cache utilization
Sepherosa Ziehau [Mon, 1 Apr 2013 09:55:27 +0000 (17:55 +0800)]
bnx: Pack TX mbuf and dmamap together; improve cache utilization

11 years agoMerge remote-tracking branch 'hofmann/wlan_serialize'
Sepherosa Ziehau [Mon, 1 Apr 2013 07:48:49 +0000 (15:48 +0800)]
Merge remote-tracking branch 'hofmann/wlan_serialize'

11 years agociss(4): Fix build with CISS_DEBUG.
Sascha Wildner [Sun, 31 Mar 2013 19:45:49 +0000 (21:45 +0200)]
ciss(4): Fix build with CISS_DEBUG.

11 years agobnx: Properly setup TX ring prod index position
Sepherosa Ziehau [Sun, 31 Mar 2013 12:29:46 +0000 (20:29 +0800)]
bnx: Properly setup TX ring prod index position

11 years agobge: Limit STD RX ring prod index increment to 8 for 5750, 5752 and 5755
Sepherosa Ziehau [Sun, 31 Mar 2013 10:26:40 +0000 (18:26 +0800)]
bge: Limit STD RX ring prod index increment to 8 for 5750, 5752 and 5755

This works around hardware errata.

NOTE:
For 5750, 5752 and 5755, the STD RX ring replesh threshold has already
been set to 8.

Obtained-from: tg3

11 years agolock(1): Use %jd for printing intmax_t.
Sascha Wildner [Sat, 30 Mar 2013 12:20:58 +0000 (13:20 +0100)]
lock(1): Use %jd for printing intmax_t.

11 years agolibc: Fix -Wunused-parameter.
Sascha Wildner [Fri, 29 Mar 2013 19:24:42 +0000 (20:24 +0100)]
libc: Fix -Wunused-parameter.

11 years agolibc: Fix -Wpointer-arith.
Sascha Wildner [Fri, 29 Mar 2013 14:09:02 +0000 (15:09 +0100)]
libc: Fix -Wpointer-arith.

11 years agolibc: Fix -Wmissing-field-initializers.
Sascha Wildner [Fri, 29 Mar 2013 13:51:55 +0000 (14:51 +0100)]
libc: Fix -Wmissing-field-initializers.

11 years agolibc: Fix -Wempty-body.
Sascha Wildner [Thu, 28 Mar 2013 22:44:27 +0000 (23:44 +0100)]
libc: Fix -Wempty-body.

11 years agolibc: Fix -Wreturn-type.
Sascha Wildner [Thu, 28 Mar 2013 22:32:39 +0000 (23:32 +0100)]
libc: Fix -Wreturn-type.

11 years agolibc: Fix -Wunused-label.
Sascha Wildner [Thu, 28 Mar 2013 22:28:33 +0000 (23:28 +0100)]
libc: Fix -Wunused-label.

11 years agolibc: Fix -Wformat.
Sascha Wildner [Thu, 28 Mar 2013 22:13:44 +0000 (23:13 +0100)]
libc: Fix -Wformat.

11 years agolibc: Fix -Wunused-variable.
Sascha Wildner [Thu, 28 Mar 2013 22:07:56 +0000 (23:07 +0100)]
libc: Fix -Wunused-variable.

11 years agolibc: Fix -Wold-style-definition.
Sascha Wildner [Thu, 28 Mar 2013 18:29:19 +0000 (19:29 +0100)]
libc: Fix -Wold-style-definition.

11 years agolibc: Bring back warnings to libc.
Sascha Wildner [Fri, 29 Mar 2013 13:11:13 +0000 (14:11 +0100)]
libc: Bring back warnings to libc.

To disable warnings for the gdtoa sources only, the tweaking of the
CWARNFLAGS has to come _after_ <bsd.lib.mk> is included.

Therefore, it has to be done in libc's Makefile instead of its
Makefile.inc.

Before this commit warnings were completely disabled for libc due
to '-w' passed to every command line.

Also reset WARNS back to 0 since right now, libc doesn't even pass
WARNS=1.

11 years agolibc/libc_r: Remove some obsolete comments.
Sascha Wildner [Fri, 29 Mar 2013 14:58:56 +0000 (15:58 +0100)]
libc/libc_r: Remove some obsolete comments.

11 years agokernel: Remove 'options COMPAT_SUNOS'.
Sascha Wildner [Fri, 29 Mar 2013 11:58:40 +0000 (12:58 +0100)]
kernel: Remove 'options COMPAT_SUNOS'.

It was supposed to provide binary compatibility with SunOS 4.x for the
sparc32 port of 4.4BSD.

11 years agokernel: Unbreak building kernels that have 'options BNX_TSO_DEBUG'.
Sascha Wildner [Fri, 29 Mar 2013 11:57:19 +0000 (12:57 +0100)]
kernel: Unbreak building kernels that have 'options BNX_TSO_DEBUG'.

11 years agolock(1): Do not require 'options COMPAT_43' in the kernel config.
Sascha Wildner [Fri, 29 Mar 2013 10:02:49 +0000 (11:02 +0100)]
lock(1): Do not require 'options COMPAT_43' in the kernel config.

We commented out COMPAT_43 in our configs some time ago, which broke
lock(1) that needed TIOCGETP and TIOCSETP ioctls which are only
available with COMPAT_43.

This commit converts lock(1) to use tcgetattr(3) and tcsetattr(3),
along with some minor cleanups.

Reported-by: noway on #dragonflybsd
Submitted-by: Joris Giovannangeli <joris@giovannangeli.fr>
Taken-from:   FreeBSD

11 years agobnx: Make sure that all of the TX rings receive tx_wreg update
Sepherosa Ziehau [Fri, 29 Mar 2013 09:40:21 +0000 (17:40 +0800)]
bnx: Make sure that all of the TX rings receive tx_wreg update

11 years agobnx: Make "force defrag" as TX ring flag
Sepherosa Ziehau [Fri, 29 Mar 2013 09:23:19 +0000 (17:23 +0800)]
bnx: Make "force defrag" as TX ring flag

11 years agobnx: Turn softc SHORTDMA flag into per TX ring flag
Sepherosa Ziehau [Fri, 29 Mar 2013 09:04:39 +0000 (17:04 +0800)]
bnx: Turn softc SHORTDMA flag into per TX ring flag

Avoid extra softc accessing during transmission.

11 years agore: Disable IP header checksum offloading on 8168C/8168CP
Sepherosa Ziehau [Fri, 29 Mar 2013 02:22:16 +0000 (10:22 +0800)]
re: Disable IP header checksum offloading on 8168C/8168CP

These chips will generate wrong IP header checksum if IP options exist.

Obtained-from: FreeBSD

11 years agolibc: Add a few missing xdr functions
François Tigeot [Thu, 28 Mar 2013 07:42:23 +0000 (08:42 +0100)]
libc: Add a few missing xdr functions

Obtained-from: FreeBSD

11 years agobnx: NIC based TX rings are only applicable to chips before 5705
Sepherosa Ziehau [Thu, 28 Mar 2013 09:53:32 +0000 (17:53 +0800)]
bnx: NIC based TX rings are only applicable to chips before 5705

11 years agobnx: Regroup TX related fields into TX ring struct
Sepherosa Ziehau [Thu, 28 Mar 2013 09:26:37 +0000 (17:26 +0800)]
bnx: Regroup TX related fields into TX ring struct

11 years agobnx: It does not make sense to have ret-ring size larger than prod-ring
Sepherosa Ziehau [Thu, 28 Mar 2013 07:35:19 +0000 (15:35 +0800)]
bnx: It does not make sense to have ret-ring size larger than prod-ring

11 years agobnx: Defer interrupt allocation until chip reset is done
Sepherosa Ziehau [Thu, 28 Mar 2013 06:44:19 +0000 (14:44 +0800)]
bnx: Defer interrupt allocation until chip reset is done

11 years agobnx: Remove remainder of BCM5906
Sepherosa Ziehau [Thu, 28 Mar 2013 03:10:34 +0000 (11:10 +0800)]
bnx: Remove remainder of BCM5906

11 years agokernel - Cleanup SWB_NPAGES
Matthew Dillon [Thu, 28 Mar 2013 00:03:12 +0000 (17:03 -0700)]
kernel - Cleanup SWB_NPAGES

* Remove the conditional for the SWB_NPAGES #define so the swblock
  structure remains consistent.  Remove the override in swap_pager.c.

* Previous code was confusing, but harmless.

Reported-by: Enjolras
11 years agovkernel - Add debugging
Matthew Dillon [Wed, 27 Mar 2013 23:36:27 +0000 (16:36 -0700)]
vkernel - Add debugging

* Provide more information when interrupting to the db> prompt.

11 years agojme: Enable PHY calibration to fix compat issue w/ certain switches
Sepherosa Ziehau [Wed, 27 Mar 2013 09:03:10 +0000 (17:03 +0800)]
jme: Enable PHY calibration to fix compat issue w/ certain switches

EA settings are obtained from JMicron Linux driver.

See-also: FreeBSD PR kern/177400

11 years agojme: Fix comment
Sepherosa Ziehau [Wed, 27 Mar 2013 07:04:29 +0000 (15:04 +0800)]
jme: Fix comment

11 years agovkernel - Fix copyin/copyout to return the correct error code
Matthew Dillon [Wed, 27 Mar 2013 01:09:15 +0000 (18:09 -0700)]
vkernel - Fix copyin/copyout to return the correct error code

* These functions must return EFAULT on error, not a KERN_* error code.

11 years agokernel - Fix bug in uiomove() error handling (2)
Matthew Dillon [Wed, 27 Mar 2013 01:07:52 +0000 (18:07 -0700)]
kernel - Fix bug in uiomove() error handling (2)

* Quickly fix bug in last commit related to setting the error
  code in vm_fault_page()

11 years agokernel - mps driver - Adjust M_NOWAIT -> M_INTWAIT.
Matthew Dillon [Tue, 26 Mar 2013 23:45:25 +0000 (16:45 -0700)]
kernel - mps driver - Adjust M_NOWAIT -> M_INTWAIT.

* This (and many other drivers) really should not be using M_NOWAIT,
  which can fail trivially even when memory is available.  Use
  M_INTWAIT instead.

11 years agokernel - Fix bug in uiomove() error handling, fix deadlock in read_shortcut
Matthew Dillon [Tue, 26 Mar 2013 23:35:56 +0000 (16:35 -0700)]
kernel - Fix bug in uiomove() error handling, fix deadlock in read_shortcut

* Fix a recently introduced bug in uiomove() related to error handling
  when iovcnt is greater than 1.

* Fix a deadlock in the vm.read_shortcut code, rare triggerable except
  by vkernels.

  The deadlock is due to a busied VM page being held across a uiomove().
  To fix a new function uiomove_nofault() was added which causes EFAULT
  to be returned for any non-trivial VM fault (any fault related to nested
  objects or vnode objects).

  The vop_helper_read_shortcut() procedure uses this new uiomove function
  and breaks out when the case occurs, returning and falling through to
  the filesystem's normal buffer-cache-based read() code.

* As an added bonus, we no longer have to unlock the VM object across
  the new uiomove_nofault() call in the read shorcut code, since it is
  no longer possible to deadlock against the VM object.

Reported-by: tuxillo
11 years agonrelease: Use variables.
Sascha Wildner [Tue, 26 Mar 2013 20:26:05 +0000 (21:26 +0100)]
nrelease: Use variables.

11 years agoipiq: Use cached mycpu to access per-cpu ipiq stats
Sepherosa Ziehau [Tue, 26 Mar 2013 08:15:17 +0000 (16:15 +0800)]
ipiq: Use cached mycpu to access per-cpu ipiq stats

Reminded-by: sjg@
11 years agobce: Don't use MSI-X, if the effective RX ring count is 1
Sepherosa Ziehau [Tue, 26 Mar 2013 07:53:08 +0000 (15:53 +0800)]
bce: Don't use MSI-X, if the effective RX ring count is 1

11 years agobce: Try enabling MSI-X on 5716 too
Sepherosa Ziehau [Tue, 26 Mar 2013 07:23:00 +0000 (15:23 +0800)]
bce: Try enabling MSI-X on 5716 too

Well, to be frank, I never saw any real "5716" in the field.

11 years agoipiq: Make stats per-cpu
Sepherosa Ziehau [Tue, 26 Mar 2013 07:21:34 +0000 (15:21 +0800)]
ipiq: Make stats per-cpu

11 years agoudp: Make stats per-cpu
Sepherosa Ziehau [Tue, 26 Mar 2013 06:16:29 +0000 (14:16 +0800)]
udp: Make stats per-cpu

11 years agolnc: Call ether_ifattach() before lance_stop()
Sepherosa Ziehau [Tue, 26 Mar 2013 04:41:51 +0000 (12:41 +0800)]
lnc: Call ether_ifattach() before lance_stop()

So ifnet is properly setup.

While I'm here, remove no longer needed lance_attach() and don't return
error code from lance_config(), which returned no error at all.

DragonFly-bug: http://bugs.dragonflybsd.org/issues/2528

11 years agokernel/cpu_topology: They are just bits, not BITS.
Sascha Wildner [Mon, 25 Mar 2013 18:27:44 +0000 (19:27 +0100)]
kernel/cpu_topology: They are just bits, not BITS.

11 years agoip: Cache align ip_stats
Sepherosa Ziehau [Mon, 25 Mar 2013 09:49:52 +0000 (17:49 +0800)]
ip: Cache align ip_stats

- ip_stats is padded to multiple cache line size; add comment about it
- Cache align the per-cpu ip_stats array

11 years agonatacontrol(8): Add commands to tweak power/acoustic management features.
Sascha Wildner [Sat, 23 Mar 2013 19:21:29 +0000 (20:21 +0100)]
natacontrol(8): Add commands to tweak power/acoustic management features.

Sometimes disks designed to operate in low power mode by default
constantly spin up/down during operation which leads to reduced
performance.

This commit adds the 'feature' command to natacontrol(8) which
can be used to tweak the 'advanced power management' and 'automatic
acoustic management' features. Their current setting could already
be viewed before this commit using the 'natacontrol cap' command.

I'd like this to be possible with camcontrol(8) too for CAM attached
disks, but afaict these are ATA specific features so I guess we'd
have to integrate ATA into CAM too before that is possible.

Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2531>
Reported-by: Maurizio Lombardi <m.lombardi85@gmail.com>
Taken-from:    FreeBSD PR 81692
Tested-by: Maurizio Lombardi <m.lombardi85@gmail.com>