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

21 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.

22 months agosys/boot: Raise WARNS to 2 and silence a warning.
Sascha Wildner [Fri, 8 Jun 2012 23:21:43 +0000 (01:21 +0200)]
sys/boot: Raise WARNS to 2 and silence a warning.

22 months agofwcontrol(8): Raise WARNS to 6 and fix warnings.
Sascha Wildner [Fri, 8 Jun 2012 21:43:40 +0000 (23:43 +0200)]
fwcontrol(8): Raise WARNS to 6 and fix warnings.

22 months agodconschat(8): Raise WARNS to 6 and fix warnings.
Sascha Wildner [Fri, 8 Jun 2012 20:25:21 +0000 (22:25 +0200)]
dconschat(8): Raise WARNS to 6 and fix warnings.

22 months agosensorsd(8): Raise WARNS to 6 and fix warnings.
Sascha Wildner [Fri, 8 Jun 2012 19:21:40 +0000 (21:21 +0200)]
sensorsd(8): Raise WARNS to 6 and fix warnings.

22 months agokernel: Remove some unused variables.
Sascha Wildner [Fri, 8 Jun 2012 18:08:40 +0000 (20:08 +0200)]
kernel: Remove some unused variables.

22 months agodlopen.3: Remove wrong .El
Sascha Wildner [Fri, 8 Jun 2012 13:57:36 +0000 (15:57 +0200)]
dlopen.3: Remove wrong .El

22 months agoPut getmntopts() into libutil and install mntopts.h to /usr/include.
Sascha Wildner [Fri, 8 Jun 2012 08:59:23 +0000 (10:59 +0200)]
Put getmntopts() into libutil and install mntopts.h to /usr/include.

Previously, they were private to sbin/mount and the other mount_*
commands would take them from there via their Makefiles.

However, puffs related stuff outside base (in pkgsrc for example)
couldn't reach them this way. So for now, arrange it like NetBSD
has it.

22 months agoRemove doscmd(1).
Sascha Wildner [Fri, 8 Jun 2012 06:15:14 +0000 (08:15 +0200)]
Remove doscmd(1).

Whatever it is that people take for running MS-DOS stuff nowadays, we do
not need to maintain this in the base.

It was i386 only, too.

22 months agokernel: Use hashdestroy() to free hash tables allocated with hashinit().
Sascha Wildner [Thu, 7 Jun 2012 17:19:09 +0000 (19:19 +0200)]
kernel: Use hashdestroy() to free hash tables allocated with hashinit().

It asserts that the table is empty before kfree()ing it.

22 months agoFix some unterminated quoted strings in several manual pages.
Sascha Wildner [Thu, 7 Jun 2012 10:26:45 +0000 (12:26 +0200)]
Fix some unterminated quoted strings in several manual pages.

22 months agokernel/drm: Use hashdestroy(). Unbreaks kernel build.
Sascha Wildner [Thu, 7 Jun 2012 07:23:09 +0000 (09:23 +0200)]
kernel/drm: Use hashdestroy(). Unbreaks kernel build.

22 months agokernel: Remove some unused variables.
Sascha Wildner [Thu, 7 Jun 2012 07:15:15 +0000 (09:15 +0200)]
kernel: Remove some unused variables.

22 months agoUpdate the pciconf(8) database.
Sascha Wildner [Wed, 6 Jun 2012 21:23:26 +0000 (23:23 +0200)]
Update the pciconf(8) database.

May 7, 2012 snapshot from http://pciids.sourceforge.net/

22 months agokernel: Add <sys/hash.h>.
Sascha Wildner [Wed, 6 Jun 2012 20:11:44 +0000 (22:11 +0200)]
kernel: Add <sys/hash.h>.

* Our DRM's drm_priv_hash.h is really what's <sys/hash.h> in the other
  BSDs. So move it there, too.

* Add a hash(9) manual page (from FreeBSD).

* Adjust DRM to use our hash{init,destroy}() functions instead of
  rolling its own.

Reported-by: ftigeot
22 months agokernel: Add hashdestroy() (taken from FreeBSD).
Sascha Wildner [Wed, 6 Jun 2012 19:56:00 +0000 (21:56 +0200)]
kernel: Add hashdestroy() (taken from FreeBSD).

22 months agoMove hash.9 to hashinit.9.
Sascha Wildner [Wed, 6 Jun 2012 15:40:53 +0000 (17:40 +0200)]
Move hash.9 to hashinit.9.

22 months agobce: Configuable number of TX/RX descriptor pages
Sepherosa Ziehau [Wed, 6 Jun 2012 07:19:14 +0000 (15:19 +0800)]
bce: Configuable number of TX/RX descriptor pages

22 months agoigb: Use extended interrupt mode whenever possible
Sepherosa Ziehau [Sun, 3 Jun 2012 11:04:33 +0000 (19:04 +0800)]
igb: Use extended interrupt mode whenever possible

The extended interrupt mode could be used as long as the interrupt
is not shared.  MSI by definition is not shared.  For line interrupt,
hw.igbX.irq.unshared tunable is added; it could be set, if the igbX
does not share interrupt line with other devices.

The extended interrupt mode could deliver accurate information about
which queue is active, thus avoiding extra memory reading.

22 months agoigb: Unbreak compile on i386
Sepherosa Ziehau [Mon, 4 Jun 2012 01:26:27 +0000 (09:26 +0800)]
igb: Unbreak compile on i386

Reminded-by: swildner@
22 months agoUnbreak kernel build. Also remove <sys/ccms.h> via 'make upgrade'.
Sascha Wildner [Sat, 2 Jun 2012 17:37:15 +0000 (19:37 +0200)]
Unbreak kernel build. Also remove <sys/ccms.h> via 'make upgrade'.

22 months agokernel - Add comment on spinlocks_wr
Matthew Dillon [Sat, 2 Jun 2012 17:21:03 +0000 (10:21 -0700)]
kernel - Add comment on spinlocks_wr

* Document a side effect related to spinlocks_wr in the LWKT scheduler.

22 months agokernel - Remove kernel-level ccms module (it will be moved into hammer2)
Matthew Dillon [Sat, 2 Jun 2012 17:15:51 +0000 (10:15 -0700)]
kernel - Remove kernel-level ccms module (it will be moved into hammer2)

* Remove the CCMS kernel layer.  The CCMS module is going to be moved
  directly into hammer2 in order to make hammer2 more portable.  For
  now that means moving the files into vfs/hammer2 in the hammer2 branch.

* CCMS is a logical cache coherency locking layer that has been in the
  DragonFly tree for a while but was not enabled by default.  Originally
  the plan was to not lock vnodes across operations but to instead acquire
  the appropriate CCMS lock(s), but rewiring all the filesystems proved to
  be too large a task.

* HAMMER2's cluster work is going to need this layer for real, but nothing
  else does.  What we will do instead (eventually) is add a mount flag to
  allow us to avoid locking vnodes across VNOPS calls which HAMMER2 will be
  able to specify.

22 months agoigb: Optimize TX path
Sepherosa Ziehau [Sun, 27 May 2012 13:16:46 +0000 (21:16 +0800)]
igb: Optimize TX path

Reduce the number of status reports of TX ring: at most 16 reports every
TX descriptor count tranmission.  It is unnecessary to report status for
every TX descriptor.  This could greatly reduce bus traffic.

Use "Transmit Completions Head Write Back" as mentioned in the datasheet.
In this model, TX descriptors are no longer written by hardware thus cache
trashing is avoided.  This also greatly reduce the complexity of igb_txeof.

Implemention note of "Transmit Completions Head Write Back",
- HWBTHRESH is not used, since:
  o  82575 does not support it
  o  Number of status reports are already greatly reduced
- WB_on_EITR is not used, since:
  o  82575 does not support it
  o  It will cause unnecessary head write-back

Performance is almost same as previous code:
- 1.48Mpps for 18bytes UDP datagram
- Line rate for 1472bytes UDP datagram and TCP stream

22 months agotcp: Adjust tcpcb fields comment about NewReno fast recovery
Sepherosa Ziehau [Thu, 31 May 2012 09:32:08 +0000 (17:32 +0800)]
tcp: Adjust tcpcb fields comment about NewReno fast recovery

We have SACK based fast recovery; don't limits the fields to NewReno

22 months agokernel/drm: Remove bogus .PATHs.
Sascha Wildner [Thu, 31 May 2012 05:45:57 +0000 (07:45 +0200)]
kernel/drm: Remove bogus .PATHs.

22 months agodrm: Stow drivers for various chip families
François Tigeot [Tue, 29 May 2012 21:12:15 +0000 (23:12 +0200)]
drm: Stow drivers for various chip families

putting them into their own subdirectories in sys/dev/drm/

Inspired-by: David Shao's dflygsocdrm work
22 months agoFix for password truncation when using crypt(3) with DES
Aggelos Economopoulos [Wed, 30 May 2012 14:03:21 +0000 (16:03 +0200)]
Fix for password truncation when using crypt(3) with DES

Passwords containing a 0x80 byte (UTF-8 encoded ones, ASCII and
ISO-8859-* not affected) would get truncated as if a '\0' byte
had been encountered. This could result in some very weak passwords.

Reported-by: Rubin Xu, Joseph Bonneau, Donting Yu (CVE-2012-2143)
22 months agoicmp: Discard ICMP Source Quench per RFC6633
Sepherosa Ziehau [Wed, 30 May 2012 08:23:48 +0000 (16:23 +0800)]
icmp: Discard ICMP Source Quench per RFC6633

22 months agotcp: Only tcpopt.to_flags are needed in tcp_recv_dupack()
Sepherosa Ziehau [Wed, 30 May 2012 05:16:02 +0000 (13:16 +0800)]
tcp: Only tcpopt.to_flags are needed in tcp_recv_dupack()

While im here, change tcpopt.to_flags from u_long to u_int

22 months agotcp: Even for PAWS tolerance, no segments should follow segment with FIN
Sepherosa Ziehau [Wed, 30 May 2012 03:48:03 +0000 (11:48 +0800)]
tcp: Even for PAWS tolerance, no segments should follow segment with FIN

22 months agotcp: Don't let fast retransmit disrupt RTO rebasing
Sepherosa Ziehau [Tue, 29 May 2012 09:12:07 +0000 (17:12 +0800)]
tcp: Don't let fast retransmit disrupt RTO rebasing

While im here, add and adjust comment about spurious timeout retransmit
detection.

22 months agotcp/reass: Fix the cases that FIN got lost during reassemble
Sepherosa Ziehau [Wed, 30 May 2012 03:34:22 +0000 (11:34 +0800)]
tcp/reass: Fix the cases that FIN got lost during reassemble

While im here, set SACK report's right edge correctly if the current
segment could be merged with its succeeding segment.

22 months agotcp/sack: If other side reneged, discard the current SACK scoreboard
Sepherosa Ziehau [Wed, 30 May 2012 01:43:50 +0000 (09:43 +0800)]
tcp/sack: If other side reneged, discard the current SACK scoreboard

Other side reneging is detected using the first SACK record:
If its left edge is less than or equal to the cumulative ACK of the
incoming segment, other side probably reneged.

This fixes the later assertion that the first SACK record's left edge
must be above snd_una in tcp_sack_first_unsacked_len()

Add statistics about other side reneging

22 months agosocket: Fix wrongly numbered SIOCGIFDATA
Sepherosa Ziehau [Tue, 29 May 2012 08:09:47 +0000 (16:09 +0800)]
socket: Fix wrongly numbered SIOCGIFDATA

While im here, add comment about used number in 'i' group

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

22 months agodrm.4: A little clean up.
Sascha Wildner [Mon, 28 May 2012 11:33:17 +0000 (13:33 +0200)]
drm.4: A little clean up.

22 months agokernel: increase watchdog default period to 30s
François Tigeot [Sun, 27 May 2012 20:06:37 +0000 (22:06 +0200)]
kernel: increase watchdog default period to 30s

Reducing idle cpu time and power a bit

22 months agotcp/sack: Constify function arguments if possible
Sepherosa Ziehau [Mon, 28 May 2012 06:33:28 +0000 (14:33 +0800)]
tcp/sack: Constify function arguments if possible

22 months agoman/ktr: Adjust for the recent ether function cleanup
Sepherosa Ziehau [Mon, 28 May 2012 02:38:08 +0000 (10:38 +0800)]
man/ktr: Adjust for the recent ether function cleanup

Reminded-by: swildner@
22 months agotcp/sack: Only retransmit unSACKed data when fast retransmit
Sepherosa Ziehau [Mon, 28 May 2012 02:32:41 +0000 (10:32 +0800)]
tcp/sack: Only retransmit unSACKed data when fast retransmit