summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Output an appropriate amount of padding to line up per-CPU state columnsjhb2011-02-011-7/+11
| | | | | | | | rather than using a terminal sequence to move the cursor when drawing the initial screen. Requested by: arundel MFC after: 3 days
* Just to be sure, make sure the MCS rates are allowed for TX.adrian2011-02-011-2/+4
| | | | Approved by: rpaulo@
* For ZFS, change the type of clock_t to int64_t.mm2011-02-011-0/+4
| | | | | | | | | | | | | | The clock_t type in OpenSolaris is long (int64_t on amd64). On FreeBSD clock_t is int32_t. The clock_t type is used in several places in the ZFS code to store system uptime in milliseconds ("seconds * hz"). With hz=1000 we have a 32-bit integer overflow in 24 days, 20 hours, 31 minutes and 23.648 seconds. This has a user reported negative impact on l2arc_feed_thread() and may cause unexpected results from other functions using clock_t. Reported by: Artem Belevich <fbsdlist@src.cx> on freebsd-fs@ MFC after: 1 week
* The unp_gc() function drops and reaquires lock between scan andkib2011-02-011-12/+16
| | | | | | | | | | | | | | | | | | | | | | collect phases. The unp_discard() function executes unp_externalize_fp(), which might make the socket eligible for gc-ing, and then, later, taskqueue will close the socket. Since unp_gc() dropped the list lock to do the malloc, close might happen after the mark step but before the collection step, causing collection to not find the socket and miss one array element. I believe that the race was there before r216158, but the stated revision made the window much wider by postponing the close to taskqueue sometimes. Only process as much array elements as we find the sockets during second phase of gc [1]. Take linkage lock and recheck the eligibility of the socket for gc, as well as call fhold() under the linkage lock. Reported and tested by: jmallett Submitted by: jmallett [1] Reviewed by: rwatson, jeff (possibly) MFC after: 1 week
* Algorithm modules can define their own private congestion signal types in thelstewart2011-02-012-4/+10
| | | | | | | | | | | | | | | | | | | | | | | top 8 bits of the 32 bit signal bit field space for internal use. These private signals should not be leaked outside of a module. Given that many algorithm modules use the NewReno hook functions to simplify their implementation, the obvious place such a leak would show up is in the NewReno cong_signal hook function. - Show the full number of significant bits in the signal type definitions in <netinet/cc.h>. - Add a bitmask to simplify figuring out if a given signal is in the private or public bit range. - Add a sanity check in newreno_cong_signal() to ensure private signals are not being leaked into the hook function. Sponsored by: FreeBSD Foundation Discussed with: David Hayes <dahayes at swin edu au> MFC after: 1 week X-MFC with: r215166
* Reintroduce bugfix from r210103 and fix xz on strong-aligned architectures.mm2011-02-011-1/+0
| | | | | | | | This fix was accidentially reverted with the 5.0.0 update in r215187. PR: bin/154310 Submitted by: Michael Moll <kvedulv@kvedulv.de> MFC after: 3 days
* Use correct kernel types for all fields in USB PF code and headers.hselasky2011-02-012-15/+15
| | | | Approved by: thompsa (mentor)
* Add a new method to the rate control modules which extract out theadrian2011-02-014-0/+77
| | | | | | | three other rates and try counts. The 11n rate scenario path wants to take a list of rate and tries, rather than calling setupxtxdesc().
* Include some preliminary TX HT rate scenario setup code.adrian2011-02-014-1/+246
| | | | | | | | | | | | | | | | The AR5416 and later TX descriptors have new fields for supporting 11n bits (eg 20/40mhz mode, short/long GI) and enabling/disabling RTS/CTS protection per rate. These functions will be responsible for initialising the TX descriptors for the AR5416 and later chips for both HT and legacy frames. Beacon frames will remain using the non-11n TX descriptor setup for now; Linux ath9k does much the same. Note that these functions aren't yet used anywhere; a few more framework changes are needed before all of the right rate information is available for TX.
* Do not set socket send and receive buffer. It will be auto-tuned.pjd2011-02-011-14/+4
| | | | | Confirmed by: rwatson MFC after: 1 week
* Refator the common code which calculates the 802.11g protection duration.adrian2011-02-011-51/+51
|
* Fix typo in comment: "course" -> "coarse"lstewart2011-02-011-1/+1
| | | | | | | Sponsored by: FreeBSD Foundation Submitted by: jmallett MFC after: 3 months X-MFC with: r218152
* Import an implementation of the CAIA-Hamilton-Delay (CHD) congestion controllstewart2011-02-013-1/+508
| | | | | | | | | | | | | | | | | | | | | | algorithm described in the paper "Improved coexistence and loss tolerance for delay based TCP congestion control" by Hayes and Armitage. It is implemented as a kernel module compatible with the recently committed modular congestion control framework. CHD enhances the approach taken by the Hamilton-Delay (HD) algorithm to provide tolerance to non-congestion related packet loss and improvements to coexistence with loss-based congestion control algorithms. A key idea in improving coexistence with loss-based congestion control algorithms is the use of a shadow window, which attempts to track how NewReno's congestion window (cwnd) would evolve. At the next packet loss congestion event, CHD uses the shadow window to correct cwnd in a way that reduces the amount of unfairness CHD experiences when competing with loss-based algorithms. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: bz and others along the way MFC after: 3 months
* * Add a rather hacky "does this speak the 11n TX descriptor format"adrian2011-02-011-94/+86
| | | | | | | | | | | | function; which will be later used by the TX path to determine whether to use the extended features or not. * Break out the descriptor chaining logic into a separate function; again so it can be switched out later on for the 11n version when needed. * Refactor out the encryption-swizzling code that's common in the raw and normal TX path.
* Import a clean-room implementation of the Hamilton-Delay (HD) congestion controllstewart2011-02-013-0/+264
| | | | | | | | | | | | | | | | | | | | | | algorithm based on the paper "A strategy for fair coexistence of loss and delay-based congestion control algorithms" by Budzisz, Stanojevic, Shorten and Baker. It is implemented as a kernel module compatible with the recently committed modular congestion control framework. HD uses a probabilistic approach to reacting to delay-based congestion. The probability of reducing cwnd is zero when the queuing delay is very small, increasing to a maximum at a set threshold, then back down to zero again when the queuing delay is high. Normal operation keeps the queuing delay below the set threshold. However, since loss-based congestion control algorithms push the queuing delay high when probing for bandwidth, having the probability of reducing cwnd drop back to zero for high delays allows HD to compete with loss-based algorithms. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: bz and others along the way MFC after: 3 months
* Import a clean-room implementation of the VEGAS congestion control algorithmlstewart2011-02-013-1/+319
| | | | | | | | | | | | | | | | | based on the paper "TCP Vegas: end to end congestion avoidance on a global internet" by Brakmo and Peterson. It is implemented as a kernel module compatible with the recently committed modular congestion control framework. VEGAS uses network delay as a congestion indicator and unlike regular loss-based algorithms, attempts to keep the network operating with stable queuing delays and no congestion losses. By keeping network buffers used along the path within a set range, queuing delays are kept low while maintaining high throughput. In collaboration with: David Hayes <dahayes at swin edu au> and Grenville Armitage <garmitage at swin edu au> Sponsored by: FreeBSD Foundation Reviewed by: bz and others along the way MFC after: 3 months
* Add TX/RX chainmask info to if_ath - this is needed for the 11n TX rate series.adrian2011-02-011-0/+6
|
* Add a new capability which reports the number of spatial streams a device ↵adrian2011-02-017-0/+29
| | | | | | | | | | | | | | | | supports. The higher levels (net80211, if_ath, ath_rate) need this to make correct choices about what MCS capabilities to advertise and what MCS rates are able to be TXed. In summary: * AR5416 - 2/3 antennas, 2x2 streams * AR9160 - 2/3 antennas, 2x2 streams * AR9220 - 2 antennas, 2x2 sstraems * AR9280 - 2 antennas, 2x2 streams * AR9285 - 2 antennas but with antenna diversity, 1x1 stream
* Support for the new Patsburg PCH chipset:jfv2011-02-017-3/+29
| | | | | | | | | | | - SMBus Controller - SATA Controller - HD Audio Controller - Watchdog Controller Thanks to Seth Heasley (seth.heasley@intel.com) for providing us code. MFC after 3 days
* Fix build on ia64.pjd2011-01-311-9/+7
| | | | | | | I found no way how to use CMSG_NXTHDR() macro on ia64 without alignment warnings. MFC after: 1 week
* Until I fix the build on ia64 comment out problematic lines.pjd2011-01-311-2/+2
| | | | Those lines are part of the (for now) unused functions.
* Remove the now unneeded XXX.adrian2011-01-311-1/+0
|
* Enable AMPDU reorder processing and receiving BAR frames when doing 802.11n.adrian2011-01-311-0/+6
| | | | Obtained from: rpaulo@
* Let rpcbind clean up after itselfdougb2011-01-311-0/+2
|
* alc_rev was used without initialization such that it failed toyongari2011-01-311-1/+1
| | | | | | | apply AR8152 v1.0 specific initialization code. Fix this bug by explicitly reading PCI device revision id via PCI accessor. Reported by: Gabriel Linder ( linder.gabriel <> gmail dot com )
* Support for the new DH89xxCC PCH chipset including:jfv2011-01-316-0/+9
| | | | | | - SATA controller - Watchdog timer - SMBus controller
* Implement two new functions for sending descriptor and receving descriptorpjd2011-01-316-8/+173
| | | | | | | over UNIX domain sockets and socket pairs. This is in preparation for capsicum. MFC after: 1 week
* - Use pjdlog for assertions and aborts as this will log assert/abort messagepjd2011-01-319-241/+197
| | | | | | | | | to syslog if we run in background. - Asserts in proto.c that method we want to call is implemented and remove dummy methods from protocols implementation that are only there to abort the program with nice message. MFC after: 1 week
* Rename pjdlog_verify() to pjdlog_abort() as it better describes what thepjd2011-01-312-7/+7
| | | | | | the function does and mark it with __dead2. MFC after: 1 week
* Don't incorrectly set the burst duration setting in the TX descriptor.adrian2011-01-311-2/+0
| | | | | | | | | | | | | | | | After inspecting the ath9k source, it seems the AR5416 and later MACs don't take an explicit RTS/CTS duration. A per-scenario (ie, what multi- rate retry became) rts/cts control flag and packet duration is provided; the hardware then apparently fills in whatever details are required. The per-rate sp/lpack duration calculation just isn't used anywhere in the ath9k TX packet length calculations. The burst duration register controls something different; it seems to be involved with RTS/CTS protection of 11n aggregate frames and is set via a call to ar5416Set11nBurstDuration(). I've done some light testing with rts/cts protected frames and nothing seems to break; but this may break said RTS/CTS and CTS-to-self protection.
* Move the architecture guessing from Makefile.inc1 to Makefile. Weimp2011-01-312-28/+33
| | | | | | | | | | need to do this because variables specified on the command line override those specified in the Makefile. This is why we also moved from TARGET to _TARGET in Makefile, and then set TARGET on the command line when we fork a submake with Makefile.inc1. This makes mips/mips work again, even without the workaround committed to lib/libc/Makefile.
* More ECN fixes:rrs2011-01-3113-486/+86
| | | | | | | | | | | 1) We now remove ECN-Nonce since it will no longer continue as a I-D 2) Eliminate last_tsn_echo, this tied us to an assoc not the net and thus we were not doing m-homing on the ECN-Echo senders side right. 3) Increment the count going out even if the TSN in lower in the pending ECN-Echo, this way the receiver knows exactly how many packets were marked even with network re-ordering 4) Fix so we DO NOT stop doing delayed sack if a ECN Echo is in queue MFC after: 1 month
* Use correct alphabetical order for xz(1) in SEE ALSO sectionmm2011-01-312-2/+2
| | | | | | | of newsyslog manpages. Reported by: maxim MFC after: 3 weeks
* Add xz(1) support to newsyslog.mm2011-01-314-99/+136
| | | | | | | Rewrite and simplify logfile compression code. Approved by: gad MFC after: 3 weeks
* MFV of tzdata2011a, r218120edwin2011-01-312-23/+52
| | | | | - Cleanup rules for Australia/South_Australia (nothing changed) - Add historical information for Honolulu.
* o Add user 'hast'.maxim2011-01-312-0/+2
|
* Yet another unimplemented futex operation, print out about.dchagin2011-01-312-0/+8
| | | | | Submitted by: arundel MFC after: 1 month.
* Implement a futex BITSET op.dchagin2011-01-312-25/+46
| | | | | Submitted by: arundel MFC after: 1 month.
* Update interface stats counters to match the current format in linux andbz2011-01-311-8/+31
| | | | | | | | try to export as much information as we can match. Requested on: Debian GNU/kFreeBSD list (debian-bsd lists.debian.org) 2010-12 Tested by: Mats Erik Andersson (mats.andersson gisladisker.se) MFC after: 10 days
* Release the free page queues lock earlier in vm_page_alloc().alc2011-01-301-2/+7
| | | | Discussed with: kib@
* sh: Send messages about signals to stderr.jilles2011-01-302-5/+15
| | | | | | This is required by POSIX and seems to make more sense. See also r217557.
* Regen for r218101.dchagin2011-01-302-6/+6
| | | | MFC after: 1 Month.
* Change linux futex syscall definition to match actual linux one.dchagin2011-01-302-4/+4
| | | | MFC after: 1 Month.
* The kern_wait() code already removes the SIGCHLD signal for the waiteddchagin2011-01-302-14/+0
| | | | | | | | | process. Removing other SIGCHLD signals is not needed and may cause problems. Pointed out by: jilles MFC after: 1 Month.
* Fix grammar in comment.kib2011-01-301-1/+1
| | | | | Pointy hat to: kib MFC after: 1 week
* Make ldd(1) work when versioned dependency file is cannot be loaded.kib2011-01-301-4/+13
| | | | | | | | | | Instead of aborting in locate_dependency(), propagate the error to caller. The rtld startup function does the right thing with an error from rtld_verify_versions(), depending on the mode of operation. Reported by: maho In collaboration with: kan MFC after: 1 week
* Fix the 'scan hang' issue.bschmidt2011-01-301-2/+6
| | | | | | | | | | | | When requesting a scan and one is already in progess, e.g. while in scan state, we happily wait for a scan done notification. Though, this notification might never be sent, e.g. if we are trying to find a network to associate to and there is none. Instead of always waiting for a notification just do so if a new scan has been started. For both cases the scan cache is used to report available networks even if the content might not be fresh. MFC after: 1 month
* Instead of always returning 0 to a scan request, indicate if there isbschmidt2011-01-301-4/+5
| | | | | | one running already. MFC after: 1 month
* Change return code semantics of start_scan_locked(). Instead of reportingbschmidt2011-01-301-1/+2
| | | | | | | | if a scan is running, report if a scan has been started. The return value itself is not (yet) used anywhere in the tree and it is also not exported to userspace. MFC after: 1 month
* When doing a scan while being associated it is possible that the scanbschmidt2011-01-301-0/+1
| | | | | | | | | | | | is deferred for the time it takes to flush the TX queue. This work being done the scan then is continued, but only if it is marked to do so. As the 'ifconfig scan' request is meant to be used after the interface is brought up, request a background scan by default. This behaviour is already documented in manual page. This fixes on possible case where 'ifconfig scan' hangs infinitely. MFC after: 1 month
OpenPOWER on IntegriCloud