dragonfly.git
21 months agobge: Zero out the status block during initialization
Sepherosa Ziehau [Fri, 29 Jun 2012 08:26:35 +0000 (16:26 +0800)]
bge: Zero out the status block during initialization

Obtained-from: FreeBSD 209741

21 months agobge: For dual mode PHY controllers, make sure to enable GMII
Sepherosa Ziehau [Fri, 29 Jun 2012 08:16:54 +0000 (16:16 +0800)]
bge: For dual mode PHY controllers, make sure to enable GMII

Obtained-from: OpenBSD via FreeBSD 202293

21 months agobge: Don't touch jumbo frame registers on chips which do not support them
Sepherosa Ziehau [Fri, 29 Jun 2012 08:00:09 +0000 (16:00 +0800)]
bge: Don't touch jumbo frame registers on chips which do not support them

Obtained-from: FreeBSD 200228

Unlike above FreeBSD commit, we don't change mini ring handling

21 months agobge: Improve TX performance on certain low end chips
Sepherosa Ziehau [Fri, 29 Jun 2012 07:39:10 +0000 (15:39 +0800)]
bge: Improve TX performance on certain low end chips

These chips, e.g. BCM5761, only allow one outstanding DMA read operation,
so on TX path, mbuf chain should be packed to reduce number of DMA reads
from chip to improve performance.

hw.bgeX.force_defrag is added for PCI-E chips to enable this mbuf chain
packing.  It is not enabled by default.

Obtained-from: FreeBSD 200088

21 months agobge: Reduce status block device update size
Sepherosa Ziehau [Fri, 29 Jun 2012 07:06:54 +0000 (15:06 +0800)]
bge: Reduce status block device update size

This reduced the amount of data that device needs to DMAed into
host mmeory update status updating.

Obtained-from: FreeBSD 199679

Changes made to the above FreeBSD commit:
- We don't reduce the amount of host memory allocated for status block
- Properly comment why BCM5700 AX/BX need to have full status block
  update setting according to the Broadcom datasheet

21 months agobge: x86_64 does not have alignment constraint either
Sepherosa Ziehau [Fri, 29 Jun 2012 01:48:30 +0000 (09:48 +0800)]
bge: x86_64 does not have alignment constraint either

21 months agotop - Display threads when asked to
Alex Hornung [Thu, 28 Jun 2012 11:11:09 +0000 (12:11 +0100)]
top - Display threads when asked to

21 months agoMerge branch 'master' of git://git.dragonflybsd.org/dragonfly
Alex Hornung [Thu, 28 Jun 2012 10:53:08 +0000 (11:53 +0100)]
Merge branch 'master' of git://git.dragonflybsd.org/dragonfly

21 months agobge: Proper configure PCI-X for BCM5703/5704 devices
Sepherosa Ziehau [Thu, 28 Jun 2012 06:55:18 +0000 (14:55 +0800)]
bge: Proper configure PCI-X for BCM5703/5704 devices

Set maximum read byte count to 2048.  Also disable relaxed ordering
as recommended by data sheet for PCI-X devices.  For PCI-X BCM5704,
set maximum outstanding split transactions to 0 as indicated by
datasheet.

Obtained-from: FreeBSD 204978

21 months agobge: For BCM5703, limit DMA read watermark
Sepherosa Ziehau [Thu, 28 Jun 2012 06:45:58 +0000 (14:45 +0800)]
bge: For BCM5703, limit DMA read watermark

For BCM5703 in PCI-X mode, DMA read watermark should be less than
or equal to maximum read byte count configuration. Enforce this
limitation in DMA read watermark configuration.

Obtained-from: FreeBSD 204978

21 months agobge: Enable hardware fixes for BCM5704 B0 as recommended by datasheet.
Sepherosa Ziehau [Thu, 28 Jun 2012 06:18:21 +0000 (14:18 +0800)]
bge: Enable hardware fixes for BCM5704 B0 as recommended by datasheet.

Obtained-from: FreeBSD 204975

21 months agobge: Revert small part of f47afe1, which setup PHY bugs
Sepherosa Ziehau [Thu, 28 Jun 2012 06:10:47 +0000 (14:10 +0800)]
bge: Revert small part of f47afe1, which setup PHY bugs

21 months agobge: In bge_stop, don't isolate PHY; it is unnecessary
Sepherosa Ziehau [Thu, 28 Jun 2012 05:54:54 +0000 (13:54 +0800)]
bge: In bge_stop, don't isolate PHY; it is unnecessary

21 months agobge: Add busdma constraints for old chips
Sepherosa Ziehau [Thu, 28 Jun 2012 05:41:15 +0000 (13:41 +0800)]
bge: Add busdma constraints for old chips

- Most pre BCM5755 controllers have a DMA bug when buffer address
  crosses a multiple of the 4GB boundary
- For BCM5714/BCM5715 controllers, limit the DMA address to be within
  40bit address space.

Obtained-from: FreeBSD 199670

21 months agobge: Add missing bit of commit f47afe1
Sepherosa Ziehau [Thu, 28 Jun 2012 04:45:32 +0000 (12:45 +0800)]
bge: Add missing bit of commit f47afe1

21 months agobge: Limit BCM5701 B5 to 32-bit mode
Sepherosa Ziehau [Thu, 28 Jun 2012 03:40:17 +0000 (11:40 +0800)]
bge: Limit BCM5701 B5 to 32-bit mode

This is a workaround for a bug which causes data corruption in
combination with certain bridges.

Obtained-from: FreeBSD 185812

21 months agotcp: Add XMITNOW which bypasses the Nagle algorithm temporarily
Sepherosa Ziehau [Fri, 15 Jun 2012 09:54:59 +0000 (17:54 +0800)]
tcp: Add XMITNOW which bypasses the Nagle algorithm temporarily

This flag acts differently from ACKNOW that no pure ACK will be sent.
It is currently used by the (extended) limited transmit and the SACK
based fast recovery.

This flag is intended to fix the following bug in the SACK based fast
recovery:
The NextSeg() requires that if the unACKed segments could not pass
IsLost(), previously unsent segment should be selected.  In the
application limited period, the size of the previously unsent segment
could be less than the MSS, thus it could not be sent immediately
according to the Nagle algorithm.  In our SACK based fast recovery
implementation, if the tcp_output() sends no segments, the current
recovery transmit process will stop immediately.  This could stop ACK
clock and cause timeout retransmit, which could be avoided, if the
Nagle algorithm is bypassed temporarily for the small unsent segment
selected by NextSeg().

When this flag is used with (extended) limited transmit, certain amount
of spurious early retranmits could be avoided.

21 months agolibrefuse: No puffs_fuse_unlink() function exists.
Sascha Wildner [Sun, 24 Jun 2012 17:21:00 +0000 (19:21 +0200)]
librefuse: No puffs_fuse_unlink() function exists.

21 months agolibpuffs: Comment out some info about a non-existant function.
Sascha Wildner [Sun, 24 Jun 2012 17:15:39 +0000 (19:15 +0200)]
libpuffs: Comment out some info about a non-existant function.

21 months agolibpuffs: Fix some function names in the manpages.
Sascha Wildner [Sun, 24 Jun 2012 17:14:59 +0000 (19:14 +0200)]
libpuffs: Fix some function names in the manpages.

21 months agofind(1): Revert back to using statfs.f_type again for fstype comparison.
Sascha Wildner [Sat, 23 Jun 2012 12:14:16 +0000 (14:14 +0200)]
find(1): Revert back to using statfs.f_type again for fstype comparison.

It was breaking the weekly locate database update. More investigation
is needed here.

While here, also bring back 00a0ead88e3b856b49bc34aa4c3d8b0d80940600
which was accidentally removed.

21 months agoMerge branch 'master' of git://git.dragonflybsd.org/dragonfly
Alex Hornung [Thu, 21 Jun 2012 07:34:54 +0000 (08:34 +0100)]
Merge branch 'master' of git://git.dragonflybsd.org/dragonfly

21 months agokernel: Clean up some Makefiles (custom flags, useless .PATH).
Sascha Wildner [Thu, 21 Jun 2012 07:16:32 +0000 (09:16 +0200)]
kernel: Clean up some Makefiles (custom flags, useless .PATH).

21 months agoFix more wrong sizeof() usages, part 3/x
Sascha Wildner [Thu, 21 Jun 2012 02:25:19 +0000 (04:25 +0200)]
Fix more wrong sizeof() usages, part 3/x

Some comments:

* The gzip fix speeds up uncompression of compress(1)'d files with gzip.
  A test here took 9s with the fix when it previously took 15s.

* Our OpenSSH is without J-PAKE support, hence the OpenSSH fix is only
  cosmetical.

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

21 months agolibedit: Remove a leftover \
Sascha Wildner [Thu, 21 Jun 2012 01:37:28 +0000 (03:37 +0200)]
libedit: Remove a leftover \

21 months agolibedit: Remove documentation of wchar functions (which we don't have).
Sascha Wildner [Thu, 21 Jun 2012 01:18:09 +0000 (03:18 +0200)]
libedit: Remove documentation of wchar functions (which we don't have).

21 months agokernel: Remove a bogus .PATH from ntfs_iconv's Makefile.
Sascha Wildner [Wed, 20 Jun 2012 16:50:47 +0000 (18:50 +0200)]
kernel: Remove a bogus .PATH from ntfs_iconv's Makefile.

21 months agokernel: fix a checkloop panic caused by EOPNOTSUPP not being passed down correctly
Markus Pfeiffer [Wed, 20 Jun 2012 21:59:48 +0000 (21:59 +0000)]
kernel: fix a checkloop panic caused by EOPNOTSUPP not being passed down correctly

* When poll(2)ing /dev/tty dev_dkqfilter gets called twice,
  on the inner call, since EOPNOTSUPP is returned the outer
  call returns ENODEV leading to a checkloop panic.

* A new testcase in test/testcases/io/poll_1 will panic
  the system if started without this patch applied.

22 months agopuffs - don't lock dvp on nresolve
Alex Hornung [Tue, 19 Jun 2012 13:07:26 +0000 (14:07 +0100)]
puffs - don't lock dvp on nresolve

 * locking dvp on nresolve causes a deadlock with the puffsop thread
   when the dvp is the root vnode.

 * If a lookup/nresolve occurs at the same time as a flush via the
   puffsop, then puffsop will not be able to acquire a lock on the root
   vnode as the lookup routine already holds it. Similarly the lookup
   routine never gets woken up waiting for the message to arrive, since
   puffsop is stuck and can't reply.

22 months agorc.d - Add a message to initrandom
Antonio Huete Jimenez [Tue, 19 Jun 2012 23:28:23 +0000 (01:28 +0200)]
rc.d - Add a message to initrandom

Previously as no message was shown, it seemed the time was spent in
loading devfs rules. This makes things clearer.

22 months agontfs - Set CNP_PDIRUNLOCK flag if we unlock the parent dir.
Antonio Huete Jimenez [Tue, 19 Jun 2012 22:05:41 +0000 (00:05 +0200)]
ntfs - Set CNP_PDIRUNLOCK flag if we unlock the parent dir.

If we unlocked the parent dir, we must specify it via CNP_PDIRUNLOCK
flag to avoid further vn_unlock attempts.

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

Reported by: swildner, Raimundo Santos

22 months agontfs - Add NTFS_DEBUG kernel option.
Antonio Huete Jimenez [Tue, 19 Jun 2012 20:56:37 +0000 (22:56 +0200)]
ntfs - Add NTFS_DEBUG kernel option.

Remove also CVS IDs from the files that still have it.

22 months agocommit test
Sascha Wildner [Tue, 19 Jun 2012 14:11:30 +0000 (16:11 +0200)]
commit test

22 months agopuffs - don't lock dvp on nresolve
Alex Hornung [Tue, 19 Jun 2012 13:07:26 +0000 (14:07 +0100)]
puffs - don't lock dvp on nresolve

 * locking dvp on nresolve causes a deadlock with the puffsop thread
   when the dvp is the root vnode.

 * If a lookup/nresolve occurs at the same time as a flush via the
   puffsop, then puffsop will not be able to acquire a lock on the root
   vnode as the lookup routine already holds it. Similarly the lookup
   routine never gets woken up waiting for the message to arrive, since
   puffsop is stuck and can't reply.

22 months agontfs - Fix build with NTFS_DEBUG
Antonio Huete Jimenez [Mon, 18 Jun 2012 22:24:35 +0000 (00:24 +0200)]
ntfs - Fix build with NTFS_DEBUG

22 months agouse rb-tree for directory lookups
Johannes Hofmann [Tue, 22 May 2012 21:37:55 +0000 (23:37 +0200)]
use rb-tree for directory lookups

* tmpfs directories are structured as lists of directory entries; this
  leads to linear lookup costs. Directories with many files become fairly
  expensive to operate on.

* This patch uses a rb-tree keyed on the name of the searched file to
  speed up lookups

* Besides this rb-tree implementation, a hash version was also tested.
  Both gave solid performance enhancements compared to the previous tmpfs
  implementation.
  The rb-tree version was the faster of the two and thus becomes the
  choosen one.

* See issue 2375 for details and performance numbers
  https://bugs.dragonflybsd.org/issues/2375

22 months agocryptdisks(8): Fix a wrong sizeof.
Sascha Wildner [Mon, 18 Jun 2012 06:35:20 +0000 (08:35 +0200)]
cryptdisks(8): Fix a wrong sizeof.

Use the size passed to the alloc_safe_mem() here.

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

22 months agovkernel: revert two commits that break i386 vkernel
Markus Pfeiffer [Sun, 17 Jun 2012 19:38:49 +0000 (19:38 +0000)]
vkernel: revert two commits that break i386 vkernel

revert i386 parts of
  commit c55fa5eeab3eaf11e01222d6412b91dafdcd9e94
  commit 1a482e3fea833c34264b54d566ddd0f4276d8bcf
because it breaks build. This is still a kludge.

22 months agohammer(8): Fix a wrong sizeof.
Sascha Wildner [Sun, 17 Jun 2012 19:21:15 +0000 (21:21 +0200)]
hammer(8): Fix a wrong sizeof.

Use the size passed to the malloc() here.

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

22 months agoRemove unneeded inclusions of <sys/cdefs.h> throughout the tree.
Sascha Wildner [Sun, 17 Jun 2012 14:57:24 +0000 (16:57 +0200)]
Remove unneeded inclusions of <sys/cdefs.h> throughout the tree.

22 months agokernel/ufs: Remove some unused variables.
Sascha Wildner [Sun, 17 Jun 2012 10:45:58 +0000 (12:45 +0200)]
kernel/ufs: Remove some unused variables.

22 months agoigb: Factor out igb_{alloc,free}_intr
Sepherosa Ziehau [Sun, 17 Jun 2012 07:30:02 +0000 (15:30 +0800)]
igb: Factor out igb_{alloc,free}_intr

22 months agoigb: Move interrupt allocation after RX/TX ring allocation
Sepherosa Ziehau [Sun, 17 Jun 2012 07:16:40 +0000 (15:16 +0800)]
igb: Move interrupt allocation after RX/TX ring allocation

22 months agoigb: White space
Sepherosa Ziehau [Sun, 17 Jun 2012 07:01:46 +0000 (15:01 +0800)]
igb: White space

22 months agoigb: Move RX/TX ring count configuration before interrupt allocation
Sepherosa Ziehau [Sun, 17 Jun 2012 06:34:23 +0000 (14:34 +0800)]
igb: Move RX/TX ring count configuration before interrupt allocation

This paves way for the MSI-X allocation

22 months agoFix more wrong sizeof() usages, part 2/x
Sascha Wildner [Sun, 17 Jun 2012 01:28:37 +0000 (03:28 +0200)]
Fix more wrong sizeof() usages, part 2/x

Take the size of the struct instead of the size of its address.

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

22 months agosavecore(8): Use the buf's size and not char *'s size for reading the kernel.
Sascha Wildner [Sat, 16 Jun 2012 23:42:28 +0000 (01:42 +0200)]
savecore(8): Use the buf's size and not char *'s size for reading the kernel.

This speeds up the kernel saving part by a couple of seconds.

22 months agofind(1): Sync with FreeBSD.
Sascha Wildner [Sat, 16 Jun 2012 21:20:13 +0000 (23:20 +0200)]
find(1): Sync with FreeBSD.

The only things left out were inode creation time related, ACL related
and locale specific affirmation for -ok.

New primaries: -d, -gid, -ignore_readdir_race, -ilname -iwholename, lname,
-mount, -noignore_readdir_race, -noleaf, -quit, -samefile, -true, -uid and
-wholename.

Some of the new primaries are aliases of existing ones, and some others
exist just for GNU find compatibility and have no function.

For further information refer to the manual page.

22 months agoigb: In shared interrupt handler, use ICR to process TX ring or RX rings
Sepherosa Ziehau [Sat, 16 Jun 2012 12:59:30 +0000 (20:59 +0800)]
igb: In shared interrupt handler, use ICR to process TX ring or RX rings

22 months agoigb: Allow used RX rings less than allocated ones
Sepherosa Ziehau [Sat, 16 Jun 2012 11:24:38 +0000 (19:24 +0800)]
igb: Allow used RX rings less than allocated ones

If MSI-X interrupt is not used or polling is used, two RX rings are
enabled:
- Packets' RSS hash still could be extracted
- Avoid extra memory reading of RX ring, thus avoid unnecessary cache
  trashing

22 months agovkernel/vkernel64: fix a bug in cpu_regs.c
Markus Pfeiffer [Sat, 16 Jun 2012 11:20:58 +0000 (11:20 +0000)]
vkernel/vkernel64: fix a bug in cpu_regs.c

followup to the previous typo which was repeated in the handling
of old FreeBSD style arguments.

22 months agoFix more wrong sizeof() usages, part 1/x
Sascha Wildner [Sat, 16 Jun 2012 10:31:23 +0000 (12:31 +0200)]
Fix more wrong sizeof() usages, part 1/x

These cases should all be taking the size of the pointed to struct etc.,
instead of the pointer size.

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

22 months agovkernel/vkernel64: fix a bug in cpu_regs.c
Markus Pfeiffer [Sat, 16 Jun 2012 10:52:43 +0000 (10:52 +0000)]
vkernel/vkernel64: fix a bug in cpu_regs.c

the sendsig function incorrectlty delivered tf_err in the
si_addr field of siginfo leading to weird behaviour.

22 months agobsd.prog.mk: Enhance the 'lint' target a bit.
Sascha Wildner [Fri, 15 Jun 2012 22:01:39 +0000 (00:01 +0200)]
bsd.prog.mk: Enhance the 'lint' target a bit.

* Remove piping the outputs of running ${LINT} to more(1)

* Don't stop when ${LINT} returns an error.

* Pass ${CFLAGS} beginning with '-I' to ${LINT} and ensure the
  directory is separated with a space.

These changes make it easier to use coccinelle and other checkers as
${LINT}.

22 months agotcp/sack: Take bwnd into consideration when calculate length of new segment
Sepherosa Ziehau [Fri, 15 Jun 2012 09:28:32 +0000 (17:28 +0800)]
tcp/sack: Take bwnd into consideration when calculate length of new segment

22 months agotcp_output: Always clear TF_ACKNOW before returning
Sepherosa Ziehau [Fri, 15 Jun 2012 09:17:48 +0000 (17:17 +0800)]
tcp_output: Always clear TF_ACKNOW before returning

22 months agotcp/sack: Discard HighRxt, RescueRxt and LostSeq along with SACK scoreboard
Sepherosa Ziehau [Fri, 15 Jun 2012 09:00:57 +0000 (17:00 +0800)]
tcp/sack: Discard HighRxt, RescueRxt and LostSeq along with SACK scoreboard

22 months agotimed(8): Add missing braces.
Sascha Wildner [Thu, 14 Jun 2012 17:29:07 +0000 (19:29 +0200)]
timed(8): Add missing braces.

22 months agos/__const/const/ in some header files.
Sascha Wildner [Thu, 14 Jun 2012 11:30:39 +0000 (13:30 +0200)]
s/__const/const/ in some header files.

22 months agotcp: Properly detect duplicated FIN
Sepherosa Ziehau [Tue, 5 Jun 2012 05:27:41 +0000 (13:27 +0800)]
tcp: Properly detect duplicated FIN

According to RFC5681, ACKs w/ FIN should not be taken as duplicated
ACKs.  We refine it a little bit that ACKs w/ FIN will be taken as
duplicated ACKs, only if FIN has been seen.

22 months agokernel: Remove an unused variable.
Sascha Wildner [Wed, 13 Jun 2012 21:31:18 +0000 (23:31 +0200)]
kernel: Remove an unused variable.

Reported-by: Davide Italiano
22 months agoatomic.9: Add a few words about our atomic_*_cpumask().
Sascha Wildner [Wed, 13 Jun 2012 21:13:15 +0000 (23:13 +0200)]
atomic.9: Add a few words about our atomic_*_cpumask().

22 months agoAdd an atomic(9) manual page (from FreeBSD with some stuff commented out).
Sascha Wildner [Wed, 13 Jun 2012 21:01:02 +0000 (23:01 +0200)]
Add an atomic(9) manual page (from FreeBSD with some stuff commented out).

22 months agokernel - Fix bulk transfer issue in USB/ohci
Matthew Dillon [Wed, 13 Jun 2012 19:24:07 +0000 (12:24 -0700)]
kernel - Fix bulk transfer issue in USB/ohci

* Fix a crash/panic in usb_transfer_complete() due to an incorrect
  xfer->actlen field.

* The field must be cleared at the beginning of a bulk transfer so
  the incremental completions can be added to it.

* Fixes ULPT when used w/OHCI.  ULPT still appears to have problems when
  used with EHCI.

22 months agoigb: Fix RSS redirect table setting
Sepherosa Ziehau [Wed, 13 Jun 2012 13:43:06 +0000 (21:43 +0800)]
igb: Fix RSS redirect table setting

Allow debug code to force RX ring count

22 months agoigb: Main serializer should be enough to protect link status
Sepherosa Ziehau [Wed, 13 Jun 2012 11:15:00 +0000 (19:15 +0800)]
igb: Main serializer should be enough to protect link status

22 months agolibrefuse: Comment out all functions we don't (yet) have and add MLINKS.
Sascha Wildner [Wed, 13 Jun 2012 10:37:34 +0000 (12:37 +0200)]
librefuse: Comment out all functions we don't (yet) have and add MLINKS.

22 months agolibrefuse: Makefile cleanup.
Sascha Wildner [Wed, 13 Jun 2012 10:32:22 +0000 (12:32 +0200)]
librefuse: Makefile cleanup.

22 months agoigb: Enable multiple RX rings and integrate it w/ DragonFly's RSS
Sepherosa Ziehau [Wed, 13 Jun 2012 05:51:21 +0000 (13:51 +0800)]
igb: Enable multiple RX rings and integrate it w/ DragonFly's RSS

22 months agoethernet: Use atomic operation to update RSS related stats
Sepherosa Ziehau [Wed, 13 Jun 2012 05:05:24 +0000 (13:05 +0800)]
ethernet: Use atomic operation to update RSS related stats

22 months agoigb: Split RX and TX serializer
Sepherosa Ziehau [Tue, 12 Jun 2012 11:03:18 +0000 (19:03 +0800)]
igb: Split RX and TX serializer

22 months agoigb: Function renaming
Sepherosa Ziehau [Tue, 12 Jun 2012 10:07:36 +0000 (18:07 +0800)]
igb: Function renaming

igb_dma_{alloc,free} do more than just allocate/free busdma stuffs

22 months agoigb: Move RX/TX descriptor count into ring struct
Sepherosa Ziehau [Tue, 12 Jun 2012 09:59:40 +0000 (17:59 +0800)]
igb: Move RX/TX descriptor count into ring struct

22 months agoigb: Remove unused field
Sepherosa Ziehau [Tue, 12 Jun 2012 09:40:26 +0000 (17:40 +0800)]
igb: Remove unused field

22 months agotest/cocci: Add a patch that reports checks of variable/field addresses.
Sascha Wildner [Tue, 12 Jun 2012 11:05:17 +0000 (13:05 +0200)]
test/cocci: Add a patch that reports checks of variable/field addresses.

Like:

int i;
...
if (&i)
   ...

Taken-from: Linux

22 months agoarcmsr(4): To check for sense data, use sense_len.
Sascha Wildner [Sat, 9 Jun 2012 07:56:39 +0000 (09:56 +0200)]
arcmsr(4): To check for sense data, use sense_len.

Checking the address of a variable or field is going to be always true.

22 months agojme: Don't allow lower 32bits of RX buffer's physical address to be 0
Sepherosa Ziehau [Tue, 12 Jun 2012 07:14:51 +0000 (15:14 +0800)]
jme: Don't allow lower 32bits of RX buffer's physical address to be 0

If lower 32bits of RX buffer's physical address is 0, it would break
hardware pending RSS information delivery detection on RX path.

22 months agojme: Fix the race on the RX path against hardware for jumbo frames
Sepherosa Ziehau [Tue, 12 Jun 2012 06:22:13 +0000 (14:22 +0800)]
jme: Fix the race on the RX path against hardware for jumbo frames

Hardware will not clear OWN bit except the first RX desc, so its
following RX desc's OWN bit should be cleared before set the OWN
bit on the first RX desc again, i.e. before the first RX desc get
reused.

22 months agojme: Don't reuse the RX descriptor if the RSS is not set by the hardware
Sepherosa Ziehau [Tue, 12 Jun 2012 06:04:17 +0000 (14:04 +0800)]
jme: Don't reuse the RX descriptor if the RSS is not set by the hardware

Reenable RSS; it is stable enough now.

22 months agojme: Utilize ifnet_serialize_array_ functions
Sepherosa Ziehau [Tue, 12 Jun 2012 03:47:36 +0000 (11:47 +0800)]
jme: Utilize ifnet_serialize_array_ functions

22 months agoemx: Utilize ifnet_serialize_array_ functions
Sepherosa Ziehau [Tue, 12 Jun 2012 03:09:48 +0000 (11:09 +0800)]
emx: Utilize ifnet_serialize_array_ functions

22 months agoifnet: Add ifnet_serialize_array_{enter,exit,try,assert}()
Sepherosa Ziehau [Tue, 12 Jun 2012 03:08:09 +0000 (11:08 +0800)]
ifnet: Add ifnet_serialize_array_{enter,exit,try,assert}()

Ease network device driver development

22 months agoVOP_LOOKUP.9: Fix a little coding mistake.
Sascha Wildner [Mon, 11 Jun 2012 16:42:23 +0000 (18:42 +0200)]
VOP_LOOKUP.9: Fix a little coding mistake.

22 months agoigb: Split RX/TX ring count
Sepherosa Ziehau [Mon, 11 Jun 2012 11:25:43 +0000 (19:25 +0800)]
igb: Split RX/TX ring count

Remove the unused igb_queue struct

22 months agotest/cocci: Add a patch that checks for various sizeof(<pointer>) issues.
Sascha Wildner [Mon, 11 Jun 2012 08:59:11 +0000 (10:59 +0200)]
test/cocci: Add a patch that checks for various sizeof(<pointer>) issues.

It will warn about either assigning the size of a pointer to a variable
or passing both <pointer> and sizeof(<pointer>) to a function. These
patterns almost always point to bugs.

Taken-from: Linux

22 months agore: Fix size of the bcopy when extracting ethernet address
Sepherosa Ziehau [Mon, 11 Jun 2012 08:30:49 +0000 (16:30 +0800)]
re: Fix size of the bcopy when extracting ethernet address

Reported-by: swildner@
22 months agojme: Reconfigure RSS when RX engine is stopped
Sepherosa Ziehau [Sun, 10 Jun 2012 15:40:40 +0000 (23:40 +0800)]
jme: Reconfigure RSS when RX engine is stopped

22 months agojme: Save physical address of RX buffer, which will be used upon error
Sepherosa Ziehau [Sun, 10 Jun 2012 15:04:41 +0000 (23:04 +0800)]
jme: Save physical address of RX buffer, which will be used upon error

22 months agojme: Set OWN bit on TX desc, only after the other information is setup
Sepherosa Ziehau [Sun, 10 Jun 2012 14:30:15 +0000 (22:30 +0800)]
jme: Set OWN bit on TX desc, only after the other information is setup

22 months agojme: Increase alignment of TX/RX descriptor ring to the cacheline size
Sepherosa Ziehau [Tue, 5 Jun 2012 14:24:35 +0000 (22:24 +0800)]
jme: Increase alignment of TX/RX descriptor ring to the cacheline size

Round up TX/RX ring size to cacheline size too.

22 months agokernel/ufs: Bring in a fix to ufsdirhash_hash() from FreeBSD.
Sascha Wildner [Sun, 10 Jun 2012 02:31:33 +0000 (04:31 +0200)]
kernel/ufs: Bring in a fix to ufsdirhash_hash() from FreeBSD.

"When looking for some extra data to include in the hash, use the
 address of the dirhash, rather than the first sizeof(struct dirhash *)
 bytes of the structure (which, thankfully, seem to be constant)."

While here, fix some typos in the comment.

In-discussion-with: thesjg, vsrinivas

22 months agoppp(8): Raise WARNS to 6.
Sascha Wildner [Sat, 9 Jun 2012 15:10:35 +0000 (17:10 +0200)]
ppp(8): Raise WARNS to 6.

22 months agoppp(8): Another little fix (for i386).
Sascha Wildner [Sat, 9 Jun 2012 14:25:15 +0000 (16:25 +0200)]
ppp(8): Another little fix (for i386).

22 months agousr.sbin/ppp: fix netgraph includes.
Nuno Antunes [Mon, 4 Jun 2012 04:55:16 +0000 (05:55 +0100)]
usr.sbin/ppp: fix netgraph includes.

If the WANT_NETGRAPH7 make variable is set, use includes from
netgraph7/*; otherwise use includes from netgraph/*. It is possible
to use ppp with netgraph7 for establishing pppoe connections starting
from this commit.

XXX: the ng_tty module has not been ported yet into netgraph7, so use
the include header from legacy netgraph for now. This is an ugly hack
but allows ppp to compile for now until ng_tty is ported.

Reported-by: Sacha Wildner <swildner@>
22 months agonetgraph7: ng_base: spl* -> crit_*
Nuno Antunes [Sat, 26 May 2012 18:12:56 +0000 (19:12 +0100)]
netgraph7: ng_base: spl* -> crit_*

22 months agonetgraph7: Dont register netisr for netgraph
Nuno Antunes [Sat, 21 Apr 2012 16:00:55 +0000 (17:00 +0100)]
netgraph7: Dont register netisr for netgraph

Netgraph7 has been converted to taskqueue in an earlier commit.
* Do not register netisr.
* Rename ngintr() to ngtask(), no functional change.

22 months agonetgraph: do not unconditionally load ng_ksocket module
Nuno Antunes [Fri, 20 Apr 2012 22:30:28 +0000 (23:30 +0100)]
netgraph: do not unconditionally load ng_ksocket module

Unconditionally loading ng_ksocket module was preventing correct operation
when compiling netgraph into the kernel (i.e. when not compiled as a
module).

22 months agoppp: Raise WARNS to 5.
Nuno Antunes [Tue, 27 Mar 2012 13:24:24 +0000 (14:24 +0100)]
ppp: Raise WARNS to 5.

Mostly-from: FreeBSD

22 months agokernel: Remove some bogus checks before returning anyway.
Sascha Wildner [Sat, 9 Jun 2012 11:18:39 +0000 (13:18 +0200)]
kernel: Remove some bogus checks before returning anyway.

22 months agoFix two wrong sizeof() usages.
Sascha Wildner [Sat, 9 Jun 2012 09:04:18 +0000 (11:04 +0200)]
Fix two wrong sizeof() usages.

It should be taking the size of the variable the pointer points to,
instead of the size of the pointer itself.