summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't crash trying to load symbols from striped file.glebius2012-06-051-0/+2
| | | | | | PR: bin/167361 Submitted by: Slawa Olhovchenkov <slw zxy.spb.ru> Silence from: jkoshy
* Fix a small typo. Fireware -> firmware.ed2012-06-051-1/+1
| | | | MFC after: 2 weeks
* Add DTrace's io.d, which handles tranlsations for file, buffer andgnn2012-06-051-0/+220
| | | | | device info structures as well as the fds[] array. This is a raw version of the file, unmodified, to be used as a baseline.
* Before it gets lost in the noise.emax2012-06-051-1/+1
| | | | | | | | | | | | | | | | Put a bandaid to prevent ixgbe(4) from completely locking up the system under high load. Our platform has a few CPU cores and a single active ixgbe(4) port with 4 queues. Under high enough traffic load, at about 7.5GBs and 700,000 packets/sec (outbound), the entire system would deadlock. What we found was that each CPU was in an endless loop on a different ix taskqueue thread. The OACTIVE flag had gotten set on each queue, and the ixgbe_handle_queue() function was continuously rescheduling itself via the taskqueue_enqueue. Since all CPUs were busy with their taskqueue threads, the ixgbe_local_timer() function couldn't run to clear the OACTIVE flag. Submitted by: scottl MFC after: 1 week
* Remove repeated words.joel2012-06-054-4/+4
|
* Minor spelling fixes.joel2012-06-051-2/+2
|
* Remove end of line whitespace.joel2012-06-051-13/+13
|
* RAID is an acronym.obrien2012-06-051-3/+3
|
* Various mdoc fixes.joel2012-06-051-8/+9
|
* Only build filemon(4) on x86.obrien2012-06-051-2/+6
|
* Correct examples to the latest version I had.obrien2012-06-052-9/+15
|
* Add missing newlines into XML output.mav2012-06-051-5/+5
| | | | | MFC after: 3 days Sponsored by: iXsystems, Inc.
* 1) Although unpublished version of standardache2012-06-051-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://austingroupbugs.net/view.php?id=385#c713 (Resolved state) recommend this way for the current standard (called "earlier" in the text) "However, earlier versions of this standard did not require this, and the same example had to be written as: // buf was obtained by malloc(buflen) ret = write(fd, buf, buflen); if (ret < 0) { int save = errno; free(buf); errno = save; return ret; } " from feedback I have for previous commit it seems that many people prefer to avoid mass code change needed for current standard compliance and prefer to track unpublished standard instead, which requires now that free() itself must save errno, not its usage code. So, I back out "save errno across free()" part of previous commit, and will fill PR for changing free() isntead. 2) Remove now unused serrno. MFC after: 1 week
* Remove dead code.imp2012-06-051-140/+0
|
* Plug two interface address refcount leaks in early error return casesbz2012-06-051-1/+6
| | | | | | | | in the ioctl path. Reported by: rpaulo Reviewed by: emax MFC after: 3 days
* Add mangled symbols for operator new / delete on 64-bit platforms.des2012-06-051-1/+9
| | | | | Reported by: decke@ MFC after: 1 week
* Tune and add some more CAM_DEBUG() points for the probe sequences.mav2012-06-052-39/+44
|
* Replace #ifdef CAMDEBUG + if + panic() with single KASSERT().mav2012-06-051-7/+2
|
* Do not reinvent a wheel and let default error handler do its job.mav2012-06-051-25/+4
|
* Tune and add some missing CAM_DEBUG() points for better consistency.mav2012-06-055-16/+48
|
* Mostly revert previous commit(s). After doing a bunch of local testing,adrian2012-06-053-18/+1
| | | | | | | | | | | it turns out that it negatively affects performance. I'm stil investigating exactly why deferring the IO causes such negative TCP performance but doesn't affect UDP preformance. Leave the ath_tx_kick() change in there however; it's going to be useful to have that there for if_transmit() work. PR: kern/168649
* style(9) for r236563.glebius2012-06-051-2/+2
|
* Create a function - ath_tx_kick() - which is called where ath_start() isadrian2012-06-053-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | called to "kick" along TX. For now, schedule a taskqueue call. Later on I may go back to the direct call of ath_rx_tasklet() - but for now, this will do. I've tested UDP and TCP TX. UDP TX still achieves 240MBit, but TCP TX gets stuck at around 100MBit or so, instead of the 150MBit it should be at. I'll re-test with no ACPI/power/sleep states enabled at startup and see what effect it has. This is in preparation for supporting an if_transmit() path, which will turn ath_tx_kick() into a NUL operation (as there won't be an ifnet queue to service.) Tested: * AR9280 STA TODO: * test on AR5416, AR9160, AR928x STA/AP modes PR: kern/168649
* Fix style nit: don't use leading zero for dates in .Ddeadler2012-06-059-9/+9
| | | | | | Prompted by: brueffer Approved by: brueffer MFC after: 3 days
* More wording corrections and simplifications.wblock2012-06-051-5/+5
| | | | Approved by: gjb (mentor)
* Add a regression test for filemon(4) [r236592].obrien2012-06-043-0/+144
|
* Add a man page for filemon(4) [r236592].obrien2012-06-042-0/+167
|
* Add the 'filemon' device. 'filemon' is a kernel module that provides a deviceobrien2012-06-046-0/+1292
| | | | | | interface for processes to record system calls of its children. Submitted by: Juniper Networks.
* Lines were a bit too long. Wrap some of them to 60 columns.sbruno2012-06-041-14/+27
| | | | | Suggested by: bjk@ MFC after: 3 days
* Upgrade to 9.8.3-P1, the latest from ISC. This version containsdougb2012-06-044-9/+19
| | | | | | | | | | | | | | | | a critical bugfix: Processing of DNS resource records where the rdata field is zero length may cause various issues for the servers handling them. Processing of these records may lead to unexpected outcomes. Recursive servers may crash or disclose some portion of memory to the client. Secondary servers may crash on restart after transferring a zone containing these records. Master servers may corrupt zone data if the zone option "auto-dnssec" is set to "maintain". Other unexpected problems that are not listed here may also be encountered. All BIND users are strongly encouraged to upgrade.
* Migrate the TX path to a taskqueue for now, until a better way ofadrian2012-06-044-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementing parallel TX and TX/RX completion can be done without simply abusing long-held locks. Right now, multiple concurrent ath_start() entries can result in frames being dequeued out of order. Well, they're dequeued in order fine, but if there's any preemption or race between CPUs between: * removing the frame from the ifnet, and * calling and runningath_tx_start(), until the frame is placed on a software or hardware TXQ Then although dequeueing the frame is in-order, queueing it to the hardware may be out of order. This is solved in a lot of other drivers by just holding a TX lock over a rather long period of time. This lets them continue to direct dispatch without races between dequeue and hardware queue. Note to observers: if_transmit() doesn't necessarily solve this. It removes the ifnet from the main path, but the same issue exists if there's some intermediary queue (eg a bufring, which as an aside also may pull in ifnet when you're using ALTQ.) So, until I can sit down and code up a much better way of doing parallel TX, I'm going to leave the TX path using a deferred taskqueue task. What I will likely head towards is doing a direct dispatch to hardware or software via if_transmit(), but it'll require some driver changes to allow queues to be made without using the really large ath_buf / ath_desc entries. TODO: * Look at how feasible it'll be to just do direct dispatch to ath_tx_start() from if_transmit(), avoiding doing _any_ intermediary serialisation into a global queue. This may break ALTQ for example, so I have to be delicate. * It's quite likely that I should break up ath_tx_start() so it deposits frames onto the software queues first, and then only fill in the 802.11 fields when it's being queued to the hardware. That will make the if_transmit() -> software queue path very quick and lightweight. * This has some very bad behaviour when using ACPI and Cx states. I'll do some subsequent analysis using KTR and schedgraph and file a follow-up PR or two. PR: kern/168649
* 1) IEEE Std 1003.1-2008, "errno" section, is explicit thatache2012-06-041-6/+16
| | | | | | | | | | | | | | | | | "The setting of errno after a successful call to a function is unspecified unless the description of that function specifies that errno shall not be modified." However, free() in IEEE Std 1003.1-2008 does not mention its interaction with errno, so MAY modify it after successful call (it depends on particular free() implementation, OS-specific, etc.). So, save errno across free() calls to make code portable and POSIX-conformant. 2) Remove unused serrno assignment. MFC after: 1 week
* The loaddev environment variable is not modifiable once set, so it is notmarius2012-06-041-14/+16
| | | | | | | | | update for ZFS. It seems that this does not really affect anything except the help command. Nevertheless, rearrange things so loaddev is set only once in all cases in order to get it right. Pointed out by: avg MFC after: r235364
* The workaround added in r151650 for handling firmwares that don't allowmarius2012-06-041-68/+56
| | | | | | | | | | | | a single device to be opened multiple times concurrently unfortunately isn't sufficient with ZFS. This is due to the fact, that ZFS may open different partitions of a single device simultaneously. So the best we can do in this case is to cache the lastly used device path and close and open devices in ofwd_strategy() as needed. PR: 165025 Submitted by: Gavin Mu MFC after: 1 week
* Fix build of aicasm when CC=clang. This was due to a side-effect of thedim2012-06-041-2/+1
| | | | | | | | | | EARLY_BUILD macro: the -Qunused-arguments flag isn't passed anymore when building this particular program. However, with clang 3.1 and -Werror, such unused argument warnings are flagged as errors, causing buildkernel to fail at this stage, due to the -nostdinc flag passed during linking. Since the -nostdinc flag isn't actually needed, just remove it. X-MFC-With: r236528
* Allow the -p argument to kdump to accept either a PID or a thread ID.jhb2012-06-042-5/+7
| | | | | Submitted by: Dmitry Banschikov d.banschikov hostcomm ru MFC after: 1 week
* Plug more refcount leaks and possible NULL deref for interfaceemax2012-06-041-1/+4
| | | | | | | address list. Submitted by: scottl@ MFC after: 3 days
* Replace the use of wall clock time with monotonically increasingdelphij2012-06-042-4/+4
| | | | | | | | | | | | clock. In general, gettimeofday() is not appropriate interface when accounting for elasped time because it can go backward, in which case the policy code could errornously consider the limit as exceeded. MFC after: 1 week Reported by: Mahesh Arumugam Submitted by: Dorr H. Clark via gnn Sponsored by: Citrix / NetScaler
* Make aicasm compile without warnings if -Wpointer-sign is enabled.dim2012-06-041-1/+1
| | | | MFC after: 3 days
* Integrate a fix for a very odd signal delivery problem foundgnn2012-06-042-14/+24
| | | | | | | by Bryan Cantril and others in the Solaris/Illumos version of DTrace. Obtained from: https://www.illumos.org/issues/789 MFC after: 2 weeks
* Fix DTrace TSC skew calculation:zml2012-06-042-2/+2
| | | | | | | | | | | The skew calculation here is exactly backwards. We were able to repro it on a multi-package ESX server running a FreeBSD VM, where the TSCs can be pretty evil. MFC after: 1 week Submitted by: Jeff Ford <jeffrey.ford2@isilon.com> Reviewed by: avg, gnn
* Add myself as a new committer.mjg2012-06-041-0/+2
| | | | Approved by: trasz (mentor)
* Microoptimisation of code from r236560, also coming from Nginx Inc.glebius2012-06-041-6/+4
| | | | Submitted by: ru
* Optimise kern_sendfile(): skip cycling through the entire mbuf chain inglebius2012-06-041-4/+10
| | | | | | | | | | m_cat(), storing pointer to last mbuf in chain in local variable and attaching new mbuf to the end of chain. Submitter reports that CPU load dropped for > 10% on a web server serving large files with this optimisation. Submitted by: Sergey Budnevitch <sb nginx.com>
* Fix panic introduced by r235745. Panic occurs after first packet traverse ↵melifaro2012-06-041-2/+22
| | | | | | | | | | | renamed interface. Add several comments on locking Found by: avg Approved by: ae(mentor) Tested by: avg MFC after: 1 week
* Add -p argument for `camcontrol debug` to allow enabling CAM_DEBUG_PROBEmav2012-06-042-3/+11
| | | | added at r208911.
* Remove some dead code that I doubt will ever be implemented.mav2012-06-041-108/+0
|
* Document -r option in SYNOPSIS and usage statement.trociny2012-06-042-3/+3
| | | | | Submitted by: Andrey Zonov <andrey zonov.org> MFC after: 3 days
* On a child exit, call waitpid(2) to clean up the process table.trociny2012-06-041-0/+4
| | | | | Submitted by: Andrey Zonov <andrey zonov.org> MFC after: 1 week
* Restore changes accidentally removed in r235537.gber2012-06-041-0/+3
| | | | Noticed by: avg
OpenPOWER on IntegriCloud