Matthew Dillon [Thu, 9 Aug 2012 18:01:47 +0000 (11:01 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Thu, 9 Aug 2012 17:39:11 +0000 (19:39 +0200)]
malloc.3: Remove a ,
François Tigeot [Thu, 9 Aug 2012 10:52:34 +0000 (12:52 +0200)]
ixgbe(4): Sync with FreeBSD
Update to the ixgbe driver:
- Add a couple of new devices
- Flow control changes in shared and core code
- Bug fix to Flow Director for 82598
- Shared code sync to internal with required core change
François Tigeot [Thu, 9 Aug 2012 08:47:55 +0000 (10:47 +0200)]
ixgbe: compilation fix for debug routines
The driver didn't build when DBG was set to 1.
Sascha Wildner [Thu, 9 Aug 2012 07:58:46 +0000 (09:58 +0200)]
at_quick_exit.3: Add an ERRORS section.
Submitted-by: vsrinivas
Sascha Wildner [Thu, 9 Aug 2012 07:58:31 +0000 (09:58 +0200)]
libc: Add a copyright to quick_exit.c
Reported-by: vsrinivas
Sascha Wildner [Thu, 9 Aug 2012 07:53:03 +0000 (09:53 +0200)]
<stdlib.h>: Adjust the visibility of our C11 functions.
Sascha Wildner [Thu, 9 Aug 2012 07:50:14 +0000 (09:50 +0200)]
Add at_quick_exit(3) and quick_exit(3) manual pages.
Taken-from: FreeBSD
Sascha Wildner [Thu, 9 Aug 2012 07:40:10 +0000 (09:40 +0200)]
mdoc: Let us refer to C11 in manual pages with ".St -isoC-2011".
John Marino [Wed, 8 Aug 2012 23:00:33 +0000 (01:00 +0200)]
xterm: Remove ability to restore console after man, less, etc.
Having a man page disappear before the read the end (if it indeed appears
at all) is pretty annoying. Equally annoying is using the "more" command
on a file with few lines only to see nothing. The default behavior of
xterm console had few fans.
This removes the smcup and rmcup codes from xterm-basic, the basis for
the xterm console definitions. Now man pages are left on the screen
after viewing, and the pagers work as expected.
Sepherosa Ziehau [Thu, 9 Aug 2012 06:56:45 +0000 (14:56 +0800)]
emx: Status change is protected by main serializer
No need to hold all of the serializers during a status poll
Matthew Dillon [Thu, 9 Aug 2012 06:25:23 +0000 (23:25 -0700)]
hammer2 - SPAN protocol work, router work
* Fix SPAN relay sort and sequencing bugs.
* Start reworking the APIs to accomodate routed messages. Start by
creating a hammer2_router structure and adjusting most of the msg
functions to pass it instead of the iocom.
* Fix hammer2_state races by moving the state allocation to
hammer2_msg_alloc() instead of hammer2_msg_write(). This gives
code a chance to assign the state->any.* field without having to
worry about the state getting ripped out from under us.
Matthew Dillon [Thu, 9 Aug 2012 01:32:16 +0000 (18:32 -0700)]
hammer2 - SPAN protocol work
* Because we allow loops in the graph the loss of a feeder node can
result in a tail-chasing loop of SPAN updates with an ever-growing
distance parameter.
To deal with this a spanning tree distance limit is required, beyond
which no propagation occurs which terminates the chase. The tail
then catches up to the head and the node is finally removed from
the spanning tree entirely.
This fixes the propagation of spanning tree deletions e.g. when we
umount a HAMMER2 PFS.
* Fix a state insertion bug. A structure was being inserted into the
red-black tree before the required fields were being initialized.
Corrects a SPAN propagation fault.
Matthew Dillon [Thu, 9 Aug 2012 01:32:06 +0000 (18:32 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Thu, 9 Aug 2012 00:56:25 +0000 (02:56 +0200)]
cut(1): Add back -w (split on whitespace functionality).
Reported-by: Tim Darby <t+dfbsd@timdarby.net>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2385>
Matthew Dillon [Wed, 8 Aug 2012 22:04:50 +0000 (15:04 -0700)]
hammer2 - userland API / span work
* Fix a stall bug in the streaming write code
* Add some pretty-printing support for debug output. Also remove
a ton of debug messages.
* Add a remote shell 'tree' command to dump the spanning tree.
* Cleanup some of the state handling and error codes.
Matthew Dillon [Wed, 8 Aug 2012 22:04:02 +0000 (15:04 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
John Marino [Wed, 8 Aug 2012 21:22:08 +0000 (23:22 +0200)]
cut: Sync with FreeBSD
Addresses:
http://bugs.dragonflybsd.org/issues/2385
reported-by: Tim Darby
Matthew Dillon [Wed, 8 Aug 2012 16:29:57 +0000 (09:29 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Wed, 8 Aug 2012 13:42:58 +0000 (15:42 +0200)]
hpt27xx(4): Use NULL for pointers.
Sascha Wildner [Wed, 8 Aug 2012 12:18:22 +0000 (14:18 +0200)]
Add the hpt27xx(4) driver for HighPoint RocketRAID 27xx SAS controllers.
The manual page mentions the following adapters to be supported:
* RocketRAID 271x
* RocketRAID 272x
* RocketRAID 274x
* RocketRAID 276x
* RocketRAID 278x
I have tested it with a RocketRAID 2720.
Taken-from: FreeBSD
Sepherosa Ziehau [Wed, 8 Aug 2012 13:11:11 +0000 (21:11 +0800)]
bnx: Disable RX max BDs based interrupt moderation
The RX max coalesce BDs is limited to 255, which means that the chip will
generate ~5800 interrupts/s when it sinks 1.48Mpps tiny packets. However,
interrupt rate at 4000Hz is already enough for the chip to sink 1.48Mpps
tiny packets, so ticks based RX interrupt moderation should be prefered.
Sepherosa Ziehau [Wed, 8 Aug 2012 11:11:03 +0000 (19:11 +0800)]
bnx: Allow TX/RX max coalesce BDs to be 0; mainly for debugging
Sepherosa Ziehau [Wed, 8 Aug 2012 08:35:53 +0000 (16:35 +0800)]
bnx: Correct debug messages
Sepherosa Ziehau [Wed, 8 Aug 2012 08:11:11 +0000 (16:11 +0800)]
bnx: Rearrange the code to check the spare TX descripors first
While im here, remove the useless fragmentation checksum code, which
is never supported by this driver
Sepherosa Ziehau [Wed, 8 Aug 2012 07:53:30 +0000 (15:53 +0800)]
bnx: Increase spare TX descriptors to 33 to incorporate TSO segment
Sepherosa Ziehau [Wed, 8 Aug 2012 05:31:56 +0000 (13:31 +0800)]
emx: emx_timer() only requires main serializer
Sepherosa Ziehau [Wed, 8 Aug 2012 05:21:20 +0000 (13:21 +0800)]
em/emx: Fix up detach path
- We could release management control only if PCI BAR is mapped
- Release multicase array memory
Matthew Dillon [Wed, 8 Aug 2012 04:28:40 +0000 (21:28 -0700)]
hammer2 - SPAN protocol work
* Initial implementation of the LNK_SPAN protocol between two hammer
service daemons running on different machines. There's still lots to do.
mount x P PFSs (P pipes) (machine A)
|
service daemon (machine A) (handling P + 1 connections)
|
INET SOCKET
|
service daemon (machine B) (handling Q + 1 connections)
|
mount x Q PFSs (Q pipes) (machine B)
* Service deamons starts with LNK_CONN and then interconnect SPANs.
* SPAN protocol allows any number of connections between services daemons and
from service daemons to physical HAMMER2 mounts.
* Fixed a message write() sequencing bug
* Added some additional debug directives, and also added a remote debug
directive to connect from one already-running service daemon to another.
Matthew Dillon [Wed, 8 Aug 2012 04:28:02 +0000 (21:28 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sepherosa Ziehau [Wed, 8 Aug 2012 04:18:26 +0000 (12:18 +0800)]
emx: Increase spare TX descriprors to 33 incorporate TSO segment
Sepherosa Ziehau [Wed, 8 Aug 2012 04:09:51 +0000 (12:09 +0800)]
emx: Make sure that mbuf is changed before busdma sync
This should not be problem for emx, since it does not have any
busdma constraint thus no effective busdma sync will happen.
Sepherosa Ziehau [Wed, 8 Aug 2012 03:49:41 +0000 (11:49 +0800)]
igb: Make sure that mbuf is changed before busdma sync
This should not be problem for igb, since it does not have any
busdma constraint thus no effective busdma sync will happen.
Sepherosa Ziehau [Mon, 6 Aug 2012 12:15:15 +0000 (20:15 +0800)]
alc: Stablize this driver and fix various porting overlooks
- Use ifnet serializer to protect driver data. This should fix the
various panics that were observed on the network output path.
- Fix busdma setup.
- Always allocate the descriptor rings and status blocks at the lower
4GB. The original way will require the RX/TX bufs to be located at
the lower 4GB, which is a great waste of bounce buffers, cpu cycles
and memory bandwidth.
- Don't mess up M_PKTHDR on RX path.
- Allocate mbuf w/ MB_WAIT on initialization path.
- Enable MSI by default.
Matthew Dillon [Tue, 7 Aug 2012 23:15:48 +0000 (16:15 -0700)]
hammer2 - more userland msg API work
* Simplify the messaging API further.
* Add a state function callback for state machine transitions
* Open a LNK_CONN transaction on connect, allowing daemon<->daemon spanning
tree operation (untested).
Matthew Dillon [Tue, 7 Aug 2012 23:15:12 +0000 (16:15 -0700)]
hammer2 - Correct state recording bugs in vfs
* Correct similar bugs in the vfs that were present in the userland code.
Matthew Dillon [Tue, 7 Aug 2012 21:22:15 +0000 (14:22 -0700)]
hammer2 - Add pfs-fsid, pfs-clid directive
* Add commands to retrieve specific uuid's for named PFSs.
Matthew Dillon [Tue, 7 Aug 2012 19:40:24 +0000 (12:40 -0700)]
hammer2 - spanning tree and messaging work
* Fix numerous bugs and cleanup the messaging infrastructure further.
Fix issues with state tracking and incorrect message flags, assert that
flags are correct.
* Fix issues with connection termination. All active transactions must be
completely closed from both ends before the iocom can be destroyed.
Fix bugs in the MSGF_DELETE message simulator when a socket error occurs
(simulating the other end closing any active transactions going over
the iocom).
* Implement the spanning tree relay code. The relay code is even relatively
optimal though ultimately we need to add additional filters to make
client<->service rendezvous's less cpu intensive.
Matthew Dillon [Tue, 7 Aug 2012 19:38:33 +0000 (12:38 -0700)]
hammer2 - Adjust LNK_SPAN/LNK_CONN
* Adjust the SPAN and CONN structures, rename 'weight' to 'dist' (for
distance).
Matthew Dillon [Tue, 7 Aug 2012 19:37:53 +0000 (12:37 -0700)]
hammer2 - add HAMMER2IOC_PFS_LOOKUP
* Add the HAMMER2IOC_PFS_LOOKUP ioctl which looks up a specific PFS
by name.
Matthew Dillon [Tue, 7 Aug 2012 19:37:18 +0000 (12:37 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
John Marino [Tue, 7 Aug 2012 11:35:26 +0000 (13:35 +0200)]
ncurses: Fix pkgsrc check and use of ncurses
Without the macro SET_NEED_WCHAR_H defined, the ncurses header will not
include wchar.h which is where the wint_t type is defined. This breaks
any program loading ncurses.h without defining this macro because several
functions use the wint_t type.
Define wint_t as int if wchar.h isn't included. This fixes the ncurses
check on several pkgsrc configuration checks and allows the package to
build with the system ncurses.
Sascha Wildner [Tue, 7 Aug 2012 07:19:35 +0000 (09:19 +0200)]
arcmsr(4): Use cam_calc_geometry().
Sascha Wildner [Tue, 7 Aug 2012 07:16:38 +0000 (09:16 +0200)]
mpt(4): Fix a porting mistake I did in
6d259fc1.
I left in both the code of the "#if __FreeBSD_version" as well as that of
its "#else". This caused the geometry to be calculated twice.
Matthew Dillon [Tue, 7 Aug 2012 06:37:21 +0000 (23:37 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Tue, 7 Aug 2012 01:31:59 +0000 (03:31 +0200)]
kernel/dsched: Add a version parameter to the DSCHED_POLICY_MODULE macro.
Sascha Wildner [Tue, 7 Aug 2012 01:25:51 +0000 (03:25 +0200)]
hptmv(4): Use cam_calc_geometry().
Also add a dependency on cam(4).
Taken-from: FreeBSD
Sascha Wildner [Tue, 7 Aug 2012 01:03:31 +0000 (03:03 +0200)]
hptiop(4): Add some more PCI IDs.
The following adapters were added:
RocketRAID 4210
RocketRAID 4211
RocketRAID 4310
RocketRAID 4311
RocketRAID 3530
RocketRAID 3560
This commit also adds a cam(4) dependency.
Taken-from: FreeBSD
Sascha Wildner [Mon, 6 Aug 2012 13:56:12 +0000 (15:56 +0200)]
libc/rpc: Remove redundant check.
Sascha Wildner [Mon, 6 Aug 2012 13:53:41 +0000 (15:53 +0200)]
kernel/x86_64: Fix kernel build without DDB.
Reported-by: nant
Matthew Dillon [Sat, 4 Aug 2012 22:11:40 +0000 (15:11 -0700)]
hammer2 - Flesh out span code, API cleanups
* Cleanup the transactional APIs and add a few functions to help with
simple (error code only) message replies.
* Better message protocol layering for both the kernel and userland code.
* Kernel now opens a LNK_CONN transaction which will enable the SPAN
protocol on the link and also serve to install a PFS filter (which is
not yet implemented).
Upon success the kernel then initiates the SPAN.
Basically for the kernel:
send LNK_CONN
wait for streaming reply (transaction remains open on both sides)
send LNK_SPAN
TODO: Receive/track LNK_SPANs, each representing a virtual circuit.
TODO: Track LNK_SPANs that match our PFS.
TODO: Issue higher level protocol transaction messages over these
circuits based on VNOPS, caching, mirroring, etc.
(transactional failures can occur when the LNK_SPAN state
changes, forcing a retry, etc).
* Userland now accepts the LNK_CONN and uses the open transaction to
install tracking structures for those connections participating in
the SPAN protocol.
* Userland now installs tracking structures for received SPAN messages.
* Start fleshing out the userland side of the SPAN relay/transmit code.
This will involve yet more structures to track which SPANs are being
relayed over each connection, so changes can be propagated (not yet
implemented).
For userland the TODO is very large so no point iterating it here.
* Kernel now accepts DBG_SHELL replies (basically debug output messages)
and will kprintf() them. DBG_SHELL commands not yet accepted by the
kernel.
Matthew Dillon [Sat, 4 Aug 2012 22:06:57 +0000 (15:06 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Sat, 4 Aug 2012 10:29:28 +0000 (12:29 +0200)]
Ansify some function definitions that were previously overlooked.
Sascha Wildner [Sat, 4 Aug 2012 09:11:21 +0000 (11:11 +0200)]
hptrr(4): Add a __printflike().
Matthew Dillon [Sat, 4 Aug 2012 02:57:58 +0000 (19:57 -0700)]
Merge branches 'hammer2' and 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly into hammer2
Sascha Wildner [Fri, 3 Aug 2012 21:27:39 +0000 (23:27 +0200)]
open.2: Fix .Dv and combine lines.
Sascha Wildner [Fri, 3 Aug 2012 20:51:27 +0000 (22:51 +0200)]
mdoc.local: Add FreeBSD 7.3 and 8.1 which we are referencing.
Sascha Wildner [Fri, 3 Aug 2012 20:29:02 +0000 (22:29 +0200)]
hptrr.4: Move the tunable info into its own section and improve wording.
Sascha Wildner [Fri, 3 Aug 2012 20:28:24 +0000 (22:28 +0200)]
amr.4: Add missing .Bd
Sascha Wildner [Fri, 3 Aug 2012 19:45:49 +0000 (21:45 +0200)]
disklabel32/64: Add support for 'T' size specifier.
Sascha Wildner [Fri, 3 Aug 2012 10:20:15 +0000 (12:20 +0200)]
Sync zoneinfo database with tzdata2012e from ftp://ftp.iana.org/tz/releases
* australasia (Pacific/Fakaofo): Tokelau is UTC+13, not UTC+14.
(Thanks to Steffen Thorsen.)
François Tigeot [Fri, 3 Aug 2012 09:23:11 +0000 (11:23 +0200)]
kernel: add a flags argument to LOCK_SYSINIT
We may not want to use LK_CAN_RECURSE in all situations
Sepherosa Ziehau [Fri, 3 Aug 2012 07:57:43 +0000 (15:57 +0800)]
bnx: Remove unused code
François Tigeot [Fri, 22 Jun 2012 13:55:49 +0000 (15:55 +0200)]
kernel: add a LOCK_SYSINIT helper macro
* Inspired from FreeBSD's MTX_SYSINIT
* This will help with driver porting
Nuno Antunes [Fri, 3 Aug 2012 06:27:52 +0000 (07:27 +0100)]
kernel: Fix kernel build when compiled without INVARIANTS.
Sascha Wildner [Fri, 3 Aug 2012 00:18:34 +0000 (02:18 +0200)]
Add the hptrr(4) driver for HighPoint RocketRAID 17xx, 22xx, 23xx and 25xx.
The manual page mentions the following adapters to be supported:
* RocketRAID 172x series
* RocketRAID 174x series
* RocketRAID 2210
* RocketRAID 222x series
* RocketRAID 2240
* RocketRAID 230x series
* RocketRAID 231x series
* RocketRAID 232x series
* RocketRAID 2340
* RocketRAID 2522
I have tested it with a RocketRAID 2300.
Taken-from: FreeBSD
Sascha Wildner [Thu, 2 Aug 2012 22:42:39 +0000 (00:42 +0200)]
hptmv(4): Reduce si_iosize_max to 64KB.
This fixes busdma panics we were getting with it.
busdma-clue-by: sephe
Sascha Wildner [Thu, 2 Aug 2012 22:14:28 +0000 (00:14 +0200)]
kernel/cam: Make si_iosize_max overridable by drivers.
Sascha Wildner [Fri, 3 Aug 2012 00:28:19 +0000 (02:28 +0200)]
hptmv.4: Improve wording and s/amd64/x86_64/
Sascha Wildner [Thu, 2 Aug 2012 17:16:08 +0000 (19:16 +0200)]
customcc: Fix the setup of the /usr/include path to use.
With the recent O_DIRECTORY addition, this apparent bug in the script was
exposed. Using -isysroot/-isystem doesn't seem to cut it for what we want
here (which is to completely override the /usr/include path).
I didn't verify in 100% detail, but all evidence looks like the reason is
that when -I is present on the command line, the paths of the headers
which are included by headers from this directory are not prefixed with
-isysroot's argument.
So for now, use -iprefix and -iwithbeforeprefix for /usr/include, which
seem to do what we want.
While here, add our copyright.
Reported-by: marino
Sepherosa Ziehau [Thu, 2 Aug 2012 13:38:51 +0000 (21:38 +0800)]
igb: Add TSO support
Sepherosa Ziehau [Thu, 2 Aug 2012 11:59:27 +0000 (19:59 +0800)]
igb: Change TXCSUM does not require reinitialize hardware
Sepherosa Ziehau [Thu, 2 Aug 2012 11:53:07 +0000 (19:53 +0800)]
igb: Utilize mbuf's header length to setup TX context
While im here, also fix the case that VLAN hardware tagging is enabled
but IP checksum offloading is not enable.
Sepherosa Ziehau [Thu, 2 Aug 2012 09:26:30 +0000 (17:26 +0800)]
statclock: Fix intr% counting on heavily interrupted systems
statclock() has high probability to run from crit_exit() on heavily
interrupted systems and 'frame' is NULL in this case, so intr% is
mis-counted as sys%.
To fix this, TDF_INTTHREAD is used to determine whether intr% should
be counted or not, in addition to testing gd_intr_nest_level and
'frame'
Sepherosa Ziehau [Thu, 2 Aug 2012 01:43:38 +0000 (09:43 +0800)]
em/emx: Reduce the default interrupt rate to 6000Hz
Sepherosa Ziehau [Thu, 2 Aug 2012 01:27:09 +0000 (09:27 +0800)]
tools/pktgen: Setup link header length properly
Sepherosa Ziehau [Wed, 1 Aug 2012 09:09:58 +0000 (17:09 +0800)]
emx: Add EMX_TSO_DEBUG
It is used to measure TSO context reuse rate. Setting up TX context
interferes TX data fetching pipelining, thus reduces performance, so
TX context setting up should be avoided as much as possible.
According to limited measurement:
- 1 one direction TX stream, reuse rate is ~40%
- 16 one direction TX streams, reuse rate is ~20%
- 16 bi-direction streams (total 32), reuse rate is ~10%
Sepherosa Ziehau [Wed, 1 Aug 2012 08:52:44 +0000 (16:52 +0800)]
emx: Remove dependency on opt_rss.h; RSS is always enabled
Sepherosa Ziehau [Wed, 1 Aug 2012 08:51:02 +0000 (16:51 +0800)]
emx: Add TSO support
Sepherosa Ziehau [Wed, 1 Aug 2012 04:21:53 +0000 (12:21 +0800)]
emx: Remove unused macros
Sepherosa Ziehau [Wed, 1 Aug 2012 03:24:53 +0000 (11:24 +0800)]
tools/pktgen: Setup header length properly
Sepherosa Ziehau [Wed, 1 Aug 2012 03:20:49 +0000 (11:20 +0800)]
emx: Utilize mbuf's header lengthes
Sepherosa Ziehau [Wed, 1 Aug 2012 02:54:12 +0000 (10:54 +0800)]
mbuf: segsz -> tso_segsz, which is more expressive
Sepherosa Ziehau [Wed, 1 Aug 2012 02:50:00 +0000 (10:50 +0800)]
bnx: Utilize header lengthes in mbuf to setup TSO
Sepherosa Ziehau [Wed, 1 Aug 2012 02:47:53 +0000 (10:47 +0800)]
mbuf: Regroup fields, mainly to improve cache utilization
Sepherosa Ziehau [Wed, 1 Aug 2012 02:35:06 +0000 (10:35 +0800)]
mbuf: Save linker layer, IP and TCP/UDP header length
This could ease most drivers's TSO operation and avoid extra data
area accessing during TSO setting up.
This could also help Intel's 1000M/10G drivers' hardware checksum
offloading, which requires protocol header length.
François Tigeot [Tue, 31 Jul 2012 13:19:57 +0000 (15:19 +0200)]
ixgbe: remove some FreeBSD version checks
Sascha Wildner [Tue, 31 Jul 2012 11:39:05 +0000 (13:39 +0200)]
LINT/LINT64: Add BNX_TSO_DEBUG.
François Tigeot [Tue, 31 Jul 2012 08:32:24 +0000 (10:32 +0200)]
opendir(3): use O_CLOEXEC
François Tigeot [Mon, 30 Jul 2012 20:39:46 +0000 (22:39 +0200)]
kernel: Implement O_CLOEXEC
* Using fcntl(2) just after open(2) is not enough to avoid race conditions
in programs doing fork+exec sequences. Child processes may be created
before fcntl() is run and inherit the parent's file descriptors.
* In some circonstances this behavior may even create security issues.
* O_CLOEXEC can be used to atomically set the close-on-exec flag for new
file descriptors, avoiding the whole mess in the first place.
* Fixes issue #2356
Inspired-from: NetBSD
Sascha Wildner [Mon, 30 Jul 2012 17:51:07 +0000 (19:51 +0200)]
kdump(1)/truss(1): Fix occasional quickworld breakage.
Whenever we messed with our ioctls or certain definitions
(like fcntl(2)'s O_* flags), kdump and truss could break
quickworld because their generated ioctl.c and kdump_subr.c
files in /usr/obj would still have removed stuff.
Fix this by regenerating them every time, no matter what.
Sascha Wildner [Mon, 30 Jul 2012 16:28:00 +0000 (18:28 +0200)]
<sys/fcntl.h>: Mark O_DIRECTORY as being new in POSIX.1-2008.
It is also visible in our default environment, just not if the code
explicitly requests an older POSIX version.
Alex Hornung [Mon, 30 Jul 2012 15:58:05 +0000 (15:58 +0000)]
opendir(3) - use O_DIRECTORY
Alex Hornung [Mon, 30 Jul 2012 11:37:09 +0000 (11:37 +0000)]
linkat(2) man page
Alex Hornung [Mon, 30 Jul 2012 11:21:53 +0000 (11:21 +0000)]
implement linkat
Alex Hornung [Mon, 30 Jul 2012 14:02:26 +0000 (14:02 +0000)]
open.2 - document O_DIRECTORY
Alex Hornung [Mon, 30 Jul 2012 11:20:00 +0000 (11:20 +0000)]
open - implement O_DIRECTORY
François Tigeot [Sun, 29 Jul 2012 17:26:02 +0000 (19:26 +0200)]
kernel: remove O_FRNONBLOCKING
* Like O_ROOTCRED it was effectively unused and removing it frees up
a precious bit among the various O_xxx flags
* Partially fixes issue #2357
François Tigeot [Sun, 29 Jul 2012 16:23:31 +0000 (18:23 +0200)]
kernel: remove O_ROOTCRED
* This flag was DragonFly-specific and effectively unused
* Removing it frees up flag space for interacting with the rest of the world
* Partially fixes issue #2357
Sepherosa Ziehau [Mon, 30 Jul 2012 06:36:52 +0000 (14:36 +0800)]
tcp: Increase tcp_sosend_agglim from 2 to 3
This change makes better use of TSO.
When 2 is used, most of the large TCP segments' size are 2*MSS or 3*MSS.
When 3 is used, most of the large TCP segments' size are 4*MSS or 5*MSS.
The math is quite simple, given 1448B segment size:
2 == 4096B == 2 segments
3 == 6144B == 4 segments
Increasing it to a higher value improves single full speed stream's CPU
utilization, but does not have much effect on multiple streams'.