Sascha Wildner [Sun, 22 Apr 2012 11:36:53 +0000 (13:36 +0200)]
kernel/viapm: Makefile cleanup (remove unneeded .PATH and opt_isa.h).
Sascha Wildner [Sun, 22 Apr 2012 11:24:00 +0000 (13:24 +0200)]
kernel/modules: Remove opt_pci.h (which doesn't exist) from some Makefiles.
Venkatesh Srinivas [Sun, 22 Apr 2012 03:05:06 +0000 (20:05 -0700)]
kernel -- ffs: Soft updates locking fixes
1) Do not take mplock in bioops callbacks; the lock was no longer synchronizing
against mainline code.
2) Do not hold softdep lock around bwillinode()
3) Take softdep lock in softdep_process_worklist bioops callback. This callback
was previously using the mplock for synchronization (insufficiently!)
4) Modify process_worklist_item to expect the softdep lock to be held on
entry and release it at appropriate times.
Prevents a panic seen when running fsstress on a UFS+softdep fs, where fsync
finds a null buffer on vnode trees. This arose from a front-end/back-end
race in softdep_process_worklist.
Sascha Wildner [Sat, 21 Apr 2012 20:59:58 +0000 (22:59 +0200)]
kernel: Fix some whitespace from the previous commit.
Matthias Rampke [Tue, 17 Apr 2012 21:33:16 +0000 (23:33 +0200)]
kill zombies if the parent set SIG_IGN on SIGCHLD
fix for http://bugs.dragonflybsd.org/issues/2349
John Marino [Sat, 21 Apr 2012 18:52:45 +0000 (20:52 +0200)]
rtld: Add write-lock to case of filter loading
Propagate the current state of rtld_bind_lock to dlopen_object() calls
through the filter loading call chain. This fixes attempts to
write-lock the already locked rtld_bind_lock when filter loading is
initiated by relocation of dlopening dso.
Taken from: FreeBSD SVN 234170 (12 APR 2012)
Do not try to adjust stacks if dlopen_object is called too early. This
is a follow-up to FreeBSD SVN 233231 which fixed a similar issue with
object initialization code.
Taken from: FreeBSD SVN 233777 (02 APR 2012)
Venkatesh Srinivas [Sat, 21 Apr 2012 18:40:41 +0000 (11:40 -0700)]
kernel -- vm_pageout: Handle pages w/ NULL vm_objects on the act/in pageqs.
vm_page_unwire could end up putting pages w/ NULL object fields onto the
active or inactive page queues. Allow the active/inactive scans to deal with
these pages rather than panic-ing. This pages can be disposed of normally.
Closes-bug: 2338
Suggested-by: dillon
Reported-by: sephe, JustinS
Sascha Wildner [Sat, 21 Apr 2012 10:17:07 +0000 (12:17 +0200)]
pthread_join(3): If the target thread is detached, return EINVAL.
We were returning ESRCH previously, which is wrong, as it indicates
that the thread could not be found. Fix this in both libthread_xu
and libc_r.
See http://pubs.opengroup.org/onlinepubs/
009695399/functions/pthread_join.html
----->8-----
[ESRCH]
No thread could be found corresponding to that specified by the
given thread ID.
...
[EINVAL]
The value specified by thread does not refer to a joinable thread.
-----8<-----
Peter Avalos [Sat, 21 Apr 2012 03:55:08 +0000 (20:55 -0700)]
Update files for OpenSSL-1.0.1a import.
Peter Avalos [Sat, 21 Apr 2012 03:37:28 +0000 (20:37 -0700)]
Merge branch 'vendor/OPENSSL'
Peter Avalos [Sat, 21 Apr 2012 03:33:46 +0000 (20:33 -0700)]
Import OpenSSL-1.0.1a.
o Fix for ASN1 overflow bug CVE-2012-2110.
o Workarounds for some servers that hang on long client hellos.
o Fix SEGV in AES code.
Sascha Wildner [Fri, 20 Apr 2012 09:02:13 +0000 (11:02 +0200)]
kernel: Remove some leftover references to struct cfdriver.
Sascha Wildner [Thu, 19 Apr 2012 21:55:52 +0000 (23:55 +0200)]
dsched_bfq.4: Fix capitalization.
Sascha Wildner [Thu, 19 Apr 2012 21:49:46 +0000 (23:49 +0200)]
digi.4: Remove some wrong documentation.
Sascha Wildner [Thu, 19 Apr 2012 21:24:39 +0000 (23:24 +0200)]
bsd-family-tree: Sync with FreeBSD.
Sepherosa Ziehau [Thu, 19 Apr 2012 07:16:39 +0000 (15:16 +0800)]
tcp: Reimplement TCP_FASTKEEP socket option using per-pcb keepidle
Retired now used TF_FASTKEEP
Sepherosa Ziehau [Thu, 19 Apr 2012 06:57:36 +0000 (14:57 +0800)]
tcp: Reset keepalive timer, if TCP_KEEPIDLE is changed
This would cause side effect, if the keepalive probing was underway.
Correcting this side effect could become overkill, so it is suggested
that TCP_KEEPIDLE is set before connect(2) or listen(2).
Sepherosa Ziehau [Thu, 19 Apr 2012 03:13:37 +0000 (11:13 +0800)]
jme: Unbreak buildkernel w/ KASSERT
Sepherosa Ziehau [Thu, 19 Apr 2012 03:08:33 +0000 (11:08 +0800)]
jme: Move TX descriptor count into chain_data
Improve CPU cache utilization
Sepherosa Ziehau [Thu, 19 Apr 2012 03:02:06 +0000 (11:02 +0800)]
jme: Option file adjustment
- RSS is now globally enabled; opt_rss.h is no longer needed here
- Always enable JME_RSS_DEBUG if module is not built w/ buildkernel
Sepherosa Ziehau [Thu, 19 Apr 2012 03:00:05 +0000 (11:00 +0800)]
jme: Move RX ring count and RX descriptor count into rxdata
Improve CPU cache utilization
Sepherosa Ziehau [Thu, 19 Apr 2012 02:39:41 +0000 (10:39 +0800)]
jme: Use RX data's interrupt mask to test interrupt status
Functionally same, semantically better
Sepherosa Ziehau [Thu, 19 Apr 2012 02:34:09 +0000 (10:34 +0800)]
jme: Pass rxdata to RX functions
François Tigeot [Tue, 17 Apr 2012 20:27:36 +0000 (22:27 +0200)]
Rename vfs_accounting_enabled to vfs_quota_enabled
Sascha Wildner [Wed, 18 Apr 2012 20:49:04 +0000 (22:49 +0200)]
ef(4): Bring in some small fixes from FreeBSD.
Gets rid of a superfluous extra opt_ef.h file in /usr/obj hierarchy.
Sascha Wildner [Wed, 18 Apr 2012 19:49:38 +0000 (21:49 +0200)]
Remove a deleted mpt(4) related header file with 'make upgrade'.
Sepherosa Ziehau [Wed, 18 Apr 2012 12:43:45 +0000 (20:43 +0800)]
jme: Don't enable RSS by default
It does not seem to be stable enough to be used.
Sepherosa Ziehau [Wed, 18 Apr 2012 12:42:05 +0000 (20:42 +0800)]
jme: MSI-X interrupt handler bug fixes
- Always write INTR_STATUS in RX interrupt handler
- Always enable/disable related interrupts in cooresponding interrupt handler
Sepherosa Ziehau [Wed, 18 Apr 2012 07:31:26 +0000 (15:31 +0800)]
tcp: Correct sending idle detection and implement part of RFC2861
This commit mainly changes how cwnd is shinked after idle period on
the send side.
- Properly detect sending idle period according to RFC5681. The problem
of using reception time to detect sending idle period is described in
RFC5681 as:
"...
Using the last time a segment was received to determine whether or
not to decrease cwnd can fail to deflate cwnd in the common case of
persistent HTTP connections [HTH98]. In this case, a Web server
receives a request before transmitting data to the Web client. The
reception of the request makes the test for an idle connection fail,
and allows the TCP to begin transmission with a possibly
inappropriately large cwnd.
..."
This mainly affects HTTP/1.1 persistent connection performance after
the connection is idled for a long time. The impact probably should not
be drastic, since 80% HTTP/1.1 persistent connection delay between two
requests are less then minimum RTO (1 second) as discovered by:
"Overclocking the Yahoo! CDN for Faster Web Page Loads"
http://conferences.sigcomm.org/imc/2011/docs/p569.pdf
Sysctl node net.inet.tcp.idle_restart is added to disable the cwnd
shinking after idle period. It is on by default. And you can set it
to 0 to restore old behaviour against HTTP/1.1 persistent connection.
- Implement part of RFC2861, which decays cwnd after idle period according
to the length of sending idle period. The main difference between our
implementation and the RFC2861 is that we don't let cwnd go below the
value allowed by RFC5861.
Sysctl node net.inet.tcp.idle_cwv is added to disable CWV after sending
idle period. It is on by default. Disable net.inet.tcp.idle_restart
will also indirectly disable CWV after sending idle period.
The CWV during the application-limited period is not implemented by this
commit. It is just too conservative, as discovered by:
"Analysing TCP for Bursty Traffic, Int'l J. of Communications,
Network and System Sciences, 7(3), July 2010."
- Add statistics about how much sending idle happened
Sepherosa Ziehau [Tue, 17 Apr 2012 10:26:43 +0000 (18:26 +0800)]
socket: Change sysctl names sosnd -> sosend, no functional changes
François Tigeot [Tue, 17 Apr 2012 20:54:27 +0000 (22:54 +0200)]
vquota(8): document a limit of 0 means no check
Francois Tigeot [Wed, 4 Apr 2012 08:37:38 +0000 (10:37 +0200)]
VFS quota: enforce user and group limits
Francois Tigeot [Fri, 30 Mar 2012 18:47:36 +0000 (20:47 +0200)]
VFS quota: add a command to set a group quota
Francois Tigeot [Fri, 23 Mar 2012 22:19:12 +0000 (23:19 +0100)]
VFS quota: add a command to set a user's quota
Sascha Wildner [Tue, 17 Apr 2012 16:13:57 +0000 (18:13 +0200)]
mpt(4): Sync with FreeBSD.
Bug fixes and cleanups.
Sascha Wildner [Tue, 17 Apr 2012 16:03:15 +0000 (18:03 +0200)]
mpt(4): Pass INTR_MPSAFE when setting up the interrupt.
It's a porting mistake I did back then.
Francois Tigeot [Thu, 22 Mar 2012 13:33:43 +0000 (14:33 +0100)]
VFS quota: start enforcing limits
* Add a function vq_write_ok() to check if writing a specified amount
of data to a mounted filesystem is allowed.
* It only checks a global per mount-point limit for now.
* Enforce this limit check in vop_write().
Francois Tigeot [Sat, 17 Mar 2012 21:15:09 +0000 (22:15 +0100)]
VFS quota: add a function to set a per mount-point global space limit
Francois Tigeot [Mon, 16 Apr 2012 17:50:55 +0000 (19:50 +0200)]
VFS accounting: have syscalls fail if not enabled
Francois Tigeot [Sat, 17 Mar 2012 18:30:55 +0000 (19:30 +0100)]
VFS quota: report per mount-point space limits
Sepherosa Ziehau [Mon, 16 Apr 2012 12:00:36 +0000 (20:00 +0800)]
jme: Change how IFCAP_RSS is handled
- Number of RX rings being used is not changed.
- Hardware is always setup w/ RSS support.
- If IFCAP_RSS is not enabled, we simply don't use the RSS hash provided
by the hardware.
Sepherosa Ziehau [Mon, 16 Apr 2012 11:51:31 +0000 (19:51 +0800)]
jme: Per-device tunable knobs
Sepherosa Ziehau [Mon, 16 Apr 2012 11:41:20 +0000 (19:41 +0800)]
ifnet: Factor out if_ring_count2()
This function calculates maximum allowed power-of-2 ring count based on
user specified value (cnt) and the maximum number of rings supported by
the hardware (cnt_max). The power-of-2 cpu count is also take into
consideration.
Sepherosa Ziehau [Mon, 16 Apr 2012 10:43:00 +0000 (18:43 +0800)]
emx: Change how IFCAP_RSS is handled
- Number of RX rings being used is not changed.
- Hardware is always setup w/ RSS support.
- If IFCAP_RSS is not enabled, we simply don't use the RSS hash provided
by the hardware.
Sepherosa Ziehau [Mon, 16 Apr 2012 10:19:19 +0000 (18:19 +0800)]
emx: Allow user to specify the number of RX ring to use
Default value is 0, which means auto (based on # of cpus in the system)
Sepherosa Ziehau [Mon, 16 Apr 2012 10:07:28 +0000 (18:07 +0800)]
emx: Per-device tunable knobs
- Max TX/RX descriptor count
- Interrupt thrrotle ceiling
Sepherosa Ziehau [Mon, 16 Apr 2012 09:51:14 +0000 (17:51 +0800)]
bus: Change device_getenv_int interface a little bit
- Pass in the fallback value
- If the kgetenv fails, fallback value will be returned
Sepherosa Ziehau [Mon, 16 Apr 2012 09:16:08 +0000 (17:16 +0800)]
pci: Utilize device_getenv_int
Sepherosa Ziehau [Mon, 16 Apr 2012 09:15:16 +0000 (17:15 +0800)]
bus: Add device_getenv_int helper function
To get device specific int tunable knobs.
Sepherosa Ziehau [Mon, 16 Apr 2012 02:10:52 +0000 (10:10 +0800)]
route: Turn on route_assert_owner_access by default
No reports about the invalid CPU local routing information accessing
since 2009. Time to use assertion instead of printing backtrace.
Sascha Wildner [Sun, 15 Apr 2012 20:23:33 +0000 (22:23 +0200)]
kernel: Use ${.TARGET} in module Makefiles.
François Tigeot [Sun, 15 Apr 2012 20:09:45 +0000 (22:09 +0200)]
VFS accounting: remove unneeded code
Francois Tigeot [Sun, 15 Apr 2012 19:31:39 +0000 (21:31 +0200)]
VFS accounting: do not call initialization functions directly
* Use a macro to check if VFS accounting is enabled and they have been
properly enabled for this mount point first
* Change the return type of vfs_acdone() to void. This function does
not return errors and should not make a filesystem unmount fail.
Sascha Wildner [Sun, 15 Apr 2012 19:17:04 +0000 (21:17 +0200)]
kernel/netgraph7: Remove some atalk remains.
Francois Tigeot [Sun, 15 Apr 2012 18:41:10 +0000 (20:41 +0200)]
VFS accounting: fix vfs_register()
* Do not register per mount-point initialization and destruction
functions if VFS accounting is not globally enabled.
Francois Tigeot [Sat, 17 Mar 2012 17:17:49 +0000 (18:17 +0100)]
VFS quota: add per mount-point global, uid and gid limit fields.
Sepherosa Ziehau [Sun, 15 Apr 2012 12:39:46 +0000 (20:39 +0800)]
if: Remove experimental ifnet.if_start related sysctls
Sascha Wildner [Sun, 15 Apr 2012 10:26:45 +0000 (12:26 +0200)]
make.conf: Remove the unused LOADER_TFTP_SUPPORT variable.
We offer both the NFS and TFTP versions of pxeboot and loader since
2005 (see
423d6aa030d43ea1d66b0572688d0964c641c1b5) and since this
commit, the LOADER_TFTP_SUPPORT make.conf variable has been without
any effect.
Sascha Wildner [Sat, 14 Apr 2012 15:34:00 +0000 (17:34 +0200)]
Remove some unnecessary inclusions of <sys/cdefs.h> across the tree.
Venkatesh Srinivas [Sat, 14 Apr 2012 01:10:58 +0000 (18:10 -0700)]
kernel -- Enable threaded syncer for NFS mounts.
NFS mounts will now use a per-mount thread to complete periodic syncs on its
vnodes rather than using the system's syncer0.
Also remove a change that snuck in mistakenly to unmark syncer threads
as verbose.
Venkatesh Srinivas [Sat, 14 Apr 2012 00:46:42 +0000 (17:46 -0700)]
kernel -- Per-mount threaded syncer infrastructure.
Do not shut down syncer thread when unmount fails.
Reminded-by: dillon@
Sascha Wildner [Fri, 13 Apr 2012 17:40:11 +0000 (19:40 +0200)]
kernel: Clean up some module Makefiles.
Remove unneeded .PATHs and variables. Use ${.TARGET}.
Sascha Wildner [Fri, 13 Apr 2012 17:20:25 +0000 (19:20 +0200)]
cxm(4): Remove an unused file (opt_cxm.h) from the Makefile.
Sepherosa Ziehau [Fri, 13 Apr 2012 10:40:16 +0000 (18:40 +0800)]
em/emx: Add a note about why MSI-X should be not enable on 82574
Sepherosa Ziehau [Fri, 13 Apr 2012 09:09:10 +0000 (17:09 +0800)]
em/emx: Update to Intel em-7.2.4
- Fix the max frame length settings for 82583 chips
- Workaround 82574 specification update errata #20.
Local changes:
- For 82574 specification update errata #20 workaround, we don't
disable ASPM L1. Disabling ASPM L1 is said to be unnecessary
in the specification update.
Sepherosa Ziehau [Fri, 13 Apr 2012 10:31:32 +0000 (18:31 +0800)]
pci: Add definition for PCI express Link capabilities/control
Sepherosa Ziehau [Fri, 13 Apr 2012 08:34:51 +0000 (16:34 +0800)]
tcp/sack: Further optimize scoreboard block allocation
Use one slot freed SACK scoreboard cache.
30minutes tests are conducted on a heavy congested real-life network path;
the new statistics:
31254 SACK scoreboard updates
2 overflows
0 failures
13392 records reused
12703 records fast allocated
Before this commit, ~42% allocations are avoided (reused); after this commit,
~83% allocations are avoided (reused + fast allocated).
Sepherosa Ziehau [Fri, 13 Apr 2012 07:30:26 +0000 (15:30 +0800)]
tcp/sack: Optimize scoreboard block allocation
Allocate SACK scoreboard block only if we can't extend the existing
one's right edge (end).
This commit could avoid ~70% SACK scoreboard block allocation on
leaf.dragonflybsd.org (
11528032 updating, 8353353 reused) according
to the "netstat -s -f inet -p tcp" output as of today. On my testing
sites, this commit could avoid 30%~50% SACK scoreboard block allocation.
Sepherosa Ziehau [Fri, 13 Apr 2012 06:31:55 +0000 (14:31 +0800)]
tcp/sack: Move scoreboard block start/end setup into alloc function
This paves way for further SACK scoreboard block allocation optimization
Sepherosa Ziehau [Fri, 13 Apr 2012 06:25:52 +0000 (14:25 +0800)]
tcp/sack: Move empty scoreboard updating into insert_block()
Sepherosa Ziehau [Fri, 13 Apr 2012 03:58:58 +0000 (11:58 +0800)]
ether: Don't manually packing up input mbufs
Since we use spin ports for netisrs now, we no longer need to explicitly
avoid IPI storm on input path.
Sascha Wildner [Thu, 12 Apr 2012 21:04:33 +0000 (23:04 +0200)]
kernel/tmpfs: Make compiling tmpfs into the kernel optional.
If the user wants to build a kernel without tmpfs built in,
allow it to him.
Our GENERIC configs have 'options TMPFS', but even if it
isn't loaded or built into the kernel, it will be kldloaded
upon mount_tmpfs(8) via vfsload(3).
This behavior is the same with our other file systems: the
module will be autoloaded at the first mount -t <type> if
it isn't either in-kernel or already loaded.
Sepherosa Ziehau [Thu, 12 Apr 2012 09:17:11 +0000 (17:17 +0800)]
tcp: Prefer IW parameters in routing entries
Sepherosa Ziehau [Thu, 12 Apr 2012 08:55:25 +0000 (16:55 +0800)]
rt_metrics: Add rmx_iw* to record user-set IW parameters
Sepherosa Ziehau [Thu, 12 Apr 2012 07:25:31 +0000 (15:25 +0800)]
tcp: Support settable IW parameters
As suggested in:
http://tools.ietf.org/html/draft-ietf-tcpm-initcwnd-03
To be RFC3390 conforming, these parameters should be left as the default:
net.inet.tcp.iwcapsegs -> 3
net.inet.tcp.iwmaxsegs -> 4
Sepherosa Ziehau [Thu, 12 Apr 2012 07:04:52 +0000 (15:04 +0800)]
tcp: Staticize tcp_do_rfc3390
Sepherosa Ziehau [Thu, 12 Apr 2012 06:48:56 +0000 (14:48 +0800)]
tcp: "Reasonably" reduce IW after SYN retransmition timeout
Sascha Wildner [Wed, 11 Apr 2012 18:06:52 +0000 (20:06 +0200)]
kernel/nwfs: The NCP check only applies if it is not the module build.
Add some dependency stuff that will cause nwfs to load ncp if it is
not loaded or in the kernel.
However ncp ultimately depends on IPX which is not available as a
module, so that's the minimum that needs compiling into the kernel
in order to use nwfs.
This should really fix the kernel build.
Sascha Wildner [Wed, 11 Apr 2012 17:38:12 +0000 (19:38 +0200)]
kernel/smbfs: The netsmb check only applies if it is not the module build.
The necessary files from netsmb are built into the module. In the kernel
it is two separate options.
This fixes buildkernel.
Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
Samuel J. Greear [Wed, 11 Apr 2012 16:26:02 +0000 (10:26 -0600)]
dntpd - Update pool servers to be of the newly-created dragonfly ntp.org zone
Sepherosa Ziehau [Wed, 11 Apr 2012 14:15:08 +0000 (22:15 +0800)]
tcp/syncache: Use the calculated RTO instead of calculate again
The recalculation actually uses wrong backoff, grrr
Sepherosa Ziehau [Wed, 11 Apr 2012 14:07:24 +0000 (22:07 +0800)]
tcp/syncache: Increase SYN|ACK max retransmit attempts from 3 to 4
- It matches what the comment says: 15 seconds timeout, if RFC6298 is
not enabled.
- Add comment about the timeout if RFC6298 is enabled.
Sepherosa Ziehau [Wed, 11 Apr 2012 13:54:52 +0000 (21:54 +0800)]
carp: Get rid of the null serializer function stubs
They are used in the early carp development stage; no longer useful now
Sepherosa Ziehau [Wed, 11 Apr 2012 10:24:53 +0000 (18:24 +0800)]
tcp/syncache: Use tcp_syn_backoff|low RTO multipler
Sepherosa Ziehau [Wed, 11 Apr 2012 10:09:43 +0000 (18:09 +0800)]
tcp: Adjust SYN retransmit backoff a little bit.
This pattern is proposed by:
Chu, J., "Tuning TCP Parameters for the 21st Century",
http://www.ietf.org/proceedings/75/slides/tcpm-1.pdf
Sepherosa Ziehau [Wed, 11 Apr 2012 10:05:04 +0000 (18:05 +0800)]
tcp: RW=min(IW,cwnd) is standardized in RFC5681
Sepherosa Ziehau [Wed, 11 Apr 2012 09:57:43 +0000 (17:57 +0800)]
tcp: Increase IW to 2 segments, if RFC3390 is not enabled.
First of all, RFC2581 allows this. Additionally, it is intended to
fix sender and receiver deadlock before delayed ACK timer expires.
Add comment about these.
Sepherosa Ziehau [Wed, 11 Apr 2012 09:51:04 +0000 (17:51 +0800)]
tcp: Factor out tcp_initial_window; ease further IW adjustment
Sascha Wildner [Wed, 11 Apr 2012 09:37:30 +0000 (11:37 +0200)]
sys/conf/options: Clean up and sort the file system related options.
Sascha Wildner [Wed, 11 Apr 2012 09:36:43 +0000 (11:36 +0200)]
nwfs/smbfs: Fix and cleanup the Makefiles a bit.
Sepherosa Ziehau [Wed, 11 Apr 2012 08:45:12 +0000 (16:45 +0800)]
carp: Add comment about how lockless MPSAFE is done
Sepherosa Ziehau [Wed, 11 Apr 2012 07:54:39 +0000 (15:54 +0800)]
vlan: Wording in comment
Sepherosa Ziehau [Wed, 11 Apr 2012 07:44:11 +0000 (15:44 +0800)]
carp: Change 1/0 usage of int into boolean_t, which is more expressive
Sascha Wildner [Wed, 11 Apr 2012 08:41:36 +0000 (10:41 +0200)]
Remove one more old OpenSSL file via 'make upgrade'.
Sepherosa Ziehau [Wed, 11 Apr 2012 03:23:39 +0000 (11:23 +0800)]
tcp_input: Partly revert
98cb2337e1000153d84b64a5e9aabbecda8e8dbf
Since all TCP operations are carried in its own netisr thread, the
workaround/comment is no longer needed/applied; change it into
assertion instead.
The "snd_nxt < snd_una" should (hopefully) have been fixed by:
1ff9b7d322dc5a26f7173aa8c38ecb79da80e419
Sepherosa Ziehau [Wed, 11 Apr 2012 03:09:33 +0000 (11:09 +0800)]
tcp_input: Use acceptable_window_update when applicable
While I'm here, adjust comment (ACK is always on when we reach that code)
Sepherosa Ziehau [Fri, 6 Apr 2012 01:47:36 +0000 (09:47 +0800)]
tcp/sack: Cleanup the SACK related bits when return from tcp_input slow path
When the code path that could generate the invalid SACK block on out-of-order
FIN segment was walked through, it turned out that some SACK related bits
could be leftover from the previous input segment, e.g. SACKLEFT.
Since the observed invalid SACK option contains only one SACK block and the
block's right edge is same as its left edge, the code which can generate that
SACK block could be run only if SACKLEFT is turned on and reportblk's start
and end are same.
- If SACKLEFT is on then reportblk's start and end must not be same, so the
SACKLEFT is leftover from the previous input segment.
- If KASSERTs about the clearance of the SACK bits are added immediately
before returning from the tcp_input slow path, the KASSERTs could fail due
to SACKLEFT are still on.
Obviously the SACK related bits are never intended to be inheritted from one
input segment to another input segment, so we just clear them before returning
from the tcp_input slow path.
Sepherosa Ziehau [Wed, 28 Mar 2012 08:17:32 +0000 (16:17 +0800)]
tcp/sack: Take FIN bit into consideration when setup report SACK block end
The invalid SACK option observed on the heavily segment reordering network
path (50% segments out of order) contains only one SACK block which tries
to cover the FIN segment but sets the right edge incorrectly, i.e. the right
edge is same as the left edge; mainly because the FIN bit is not counted.
Sascha Wildner [Tue, 10 Apr 2012 19:46:27 +0000 (21:46 +0200)]
acpi_hp.4: List the HP Compaq nc6320 as tested with the acpi_hp(4) driver.
The reported values looked sane.
Tested-by: Andrea Magliano <masterblaster@tiscali.it>
Peter Avalos [Tue, 10 Apr 2012 17:28:26 +0000 (10:28 -0700)]
Merge branch 'vendor/OPENSSL'