summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move the MD support for PCI message signalled interrupts to the x86 treejhb2010-06-085-605/+3
| | | | as it is identical for i386 and amd64.
* Move the machine check support code to the x86 tree since it is identicaljhb2010-06-085-864/+10
| | | | | | on i386 and amd64. Requested by: alc
* Reorganize the code in bdwrite() which handles move of dirtinesskib2010-06-081-70/+65
| | | | | | | | | | | | | | | | | | | | from the buffer pages to buffer. Combine the code to set buffer dirty range (previously in vfs_setdirty()) and to clean the pages (vfs_clean_pages()) into new function vfs_clean_pages_dirty_buf(). Now the vm object lock is acquired only once. Drain the VPO_BUSY bit of the buffer pages before setting valid and clean bits in vfs_clean_pages_dirty_buf() with new helper vfs_drain_busy_pages(). pmap_clear_modify() asserts that page is not busy. In vfs_busy_pages(), move the wait for draining of VPO_BUSY before the dirtyness handling, to follow the structure of vfs_clean_pages_dirty_buf(). Reported and tested by: pho Suggested and reviewed by: alc MFC after: 2 weeks
* Move the I/O APIC code to the x86 tree since it is identical on i386 andjhb2010-06-085-920/+6
| | | | amd64.
* One byte off for scsi_target_group cdb.mjacob2010-06-081-1/+1
| | | | MFC after: 2 weeks
* Remove unused macros.yongari2010-06-081-10/+1
| | | | Reviewed by: bde
* - Use a bit more care when moving I/O APIC interrupts between CPUs. Maskjhb2010-06-082-8/+44
| | | | | | | | | | | the interrupt followed by a brief delay if it is not currently masked before moving the interrupt. - Move the icu_lock out of ioapic_program_intpin() and into callers. This closes a race where ioapic_program_intpin() could use a stale value of the masked state to compute the masked bit in the register. Reviewed by: mav MFC after: 2 weeks
* mdoc: remove literal tabs where they don't belonguqs2010-06-0814-23/+23
|
* mdoc: replace troff macros with -mdoc equivalentsuqs2010-06-082-25/+21
|
* Fix a sign bug that caused adaptive spinning in sx_xlock() to not workjhb2010-06-081-1/+1
| | | | | | | | properly. Among other things it did not drop Giant while spinning leading to livelocks. Reviewed by: rookie, kib, jmallett MFC after: 3 days
* Implement the usage of Report Luns as part of SCSI probing for SCP3 ormjacob2010-06-084-33/+380
| | | | | | | | | | | better devices. This can be disabled on a per-device basis using quirks as well. This also handles the case where there is actually no connected LUN 0 (which can definitely be the case for storage arrays). Reviewed by: scsi@ MFC after: 1 month
* Disable NCQ and PMP support for VIA VT8251 AHCI. It was reported to bemav2010-06-081-2/+2
| | | | unreliable under load. Linux does the same.
* Make additional definitions up to and including SPC-4. Add in definitionsmjacob2010-06-083-131/+276
| | | | | | | | | | for REPORT and SET TARGET PORT GROUP commands (foundations for future work). Regularize opcodes to be upper case hex. Pick *one* of tab or space after #define (tab) and stick with that. MFC after: 2 weeks
* 2 Bugs:rrs2010-06-081-2/+20
| | | | | | | | | | | | | 1) Only use both mapping arrays when NR sack is off. This way we can hold off moving the cumack (not the best but workable) when NR-sack is on. 2) We must make sure to just return on the move of the bit to the NR array if the cum-ack as already went past the TSN. This prevents marking a bit behind the array and hitting the invariant code that panic's us. MFC after: 1 week
* A number of netfront fixes and stability improvements:ken2010-06-081-289/+359
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Re-enable TSO. This was broken previously due to CSUM_TSO clearing the CSUM_TCP flag, so our checksum flags were incorrectly set going to the netback driver. That was fixed in r206844 in tcp_output.c, so we can turn TSO back on here. - Fix the way transmit slots are calculated, so that we can't overfill the ring. - Avoid sending packets with more fragments/segments than netback can handle. The Linux netback code can only handle packets of MAX_SKB_FRAGS, which turns out to be 18 on machines with 4K pages. We can easily generate packets with 32 or so fragments with TSO turned on. Right now the solution is just to drop the packets (since netback doesn't seem to handle it gracefully), but we should come up with a way to allow a driver to tell the TCP stack the maximum number of fragments it can handle in a single packet. - Fix the way the consumer is tracked in the receive path. It could get out of sync fairly easily. - Use standard Xen ring macros to make it clearer how netfront is using the rings. - Get rid of Linux-ish negative errno return values. - Added more documentation to the driver. - Refactored code to make it easier to read. - Some other minor fixes. Reviewed by: gibbs Reviewed by: gibbs Sponsored by: Spectra Logic MFC after: 7 days
* redfacedly noting a missing part of a patch.mjacob2010-06-071-0/+1
| | | | | | Pointy Hat To: Me MFC after: 2 Week X-MFC: 208896
* Call BUS_PROBE_NOMATCH() when device detached due to driver unload.mav2010-06-071-0/+4
| | | | This allows bus to power-down device when driver unloaded on-flight.
* This fixes a BUG in the handling of the cum-ack calculation.rrs2010-06-071-7/+12
| | | | | | | | | | | | | | We were only paying attention to the nr-mapping-array. Which seems to make sense on the surface, by definition things up to the cum-ack should be deliverable thus in the nr-mapping-array. However (there is always a gotcha) thats not true when it comes to large messages. The stack may hold the message while re-assembling it not not deliver it based on several thresholds. If that happens (which it would for smaller large messages) then the cum-ack is figured wrong. We now properly use both arrays in the cum-ack calculation. MFC after: 1 week.
* Do a minor amount of stylifying. Also, get a Fibre Channel WWPN if one existsmjacob2010-06-071-2/+27
| | | | for a da unit and create a sysctl OID for it.
* Fix XPT_GET_TRAN_SETTING for FC which has been broken for while so thatmjacob2010-06-071-2/+4
| | | | | | | it will figure out the correct target to handle index and be able to find things like WWPN, etc. MFC after: 2 weeks
* Opps... my bad.. we don't need a SOCK_UNLOCK() afterrrs2010-06-071-1/+0
| | | | | | | calling socantrcvmore_locked() since it will unlock the lock for you. MFC after: 1 week
* Follow up revision 208888 with purely ident changes.delphij2010-06-071-6/+6
| | | | MFC after: 1 week
* Correct a bug in gzip(1): make sure that initialize isb with fstat() ondelphij2010-06-071-3/+9
| | | | | | | | input file before using it. PR: bin/147275 Submitted by: thomas MFC after: 1 week
* cxgb(4): add an 'nfilters' tunable that lets the user place an uppernp2010-06-071-4/+11
| | | | | limit on the number of hardware filters (and thus the amount of TCAM reserved for filtering).
* bgeom(3) does strdup of param name.ae2010-06-071-0/+1
| | | | | | | | Don't leak memory when deleting param from gctl_req. Reviewed by: marcel Approved by: mav (mentor) MFC after: 2 weeks
* Document ZFS upgrade to version 14, support for NFSv4 ACLs,mm2010-06-071-0/+5
| | | | | | changes in L2ARC and zfs send. Approved by: delphij (mentor)
* Fix so we call socantrcvmore_locked so werrs2010-06-071-1/+1
| | | | | | | | don't see a race where we unlock to call the non-locked version and have the socket go away. MFC after: 1 week
* sh: Pass through SIGINT from a child if interactive and job controljilles2010-06-061-0/+6
| | | | | | | | | | | | | | | is enabled. This already worked if without job control. In either case, this depends on it that a process that terminates due to SIGINT exits on it (so not with status 1, or worse, 0). Example: sleep 5; echo continued This does not print "continued" any more if sleep is aborted via ctrl+c. MFC after: 1 month
* 1) Optimize the cleanup and don't always depend onrrs2010-06-064-7/+28
| | | | | | | | | | | | | the timer. This is done by considering the locks we will destroy and if they are contended we consider it the same as a reference count being up. Fixing this appears to cleanup another crash that was appearing with all the timers where the socket buf lock got corrupted. 2) Fix the sysctl code to take a lot more care when looking at INP's that are in the GONE or ALLGONE state. MFC after: 1 week
* Ok, yet another bug in killing off all the hundredsrrs2010-06-064-3/+11
| | | | | | | | | | | | | | | | | | | | of apitesters.. Basically we end up with attempting to destroy a lock thats contended on. A cookie echo arrives at the same time that the close is happening. The close gets the lock but the cookie echo has already passed the check for the gone flag and is then locked waiting on the create lock.. when we go to destroy it bam. For now we do the timer destroy for all calls to close.. We can probably optimize this later so that we check whats being contended on and if there is contention then do the timer thing. but this is probably safest since the inp has been removed from all lists and references and only the timer can find it.. once the locks are released all other places will instantly see the GONE flag and bail (thats what the change in sctp_input is one place that was lacking the bail code). MFC after: 1 week
* Style-compilant order of declarations.kib2010-06-061-4/+4
| | | | | Noted by: bde MFC after: 1 month
* 1) Further enhance the INVARIANT lock validation (no locks) arerrs2010-06-061-1/+8
| | | | | | | | | | | | | held by checking the create and inp locks as well. 2) Fix a bug in that when a socket is closed an INIT-ACK is returned, we do NOT unlock the locked_tcb unless its different (an unlikely scenario). If we blindly unlock as we were doing before we can end up unlocking the actual stcb thats about to be sent down to the free function which requires the lock be held. MFC after: 1 week
* Fix a bug in the sctp_inpcb_free. Basically if the socketrrs2010-06-061-0/+4
| | | | | | | | was setup to do an abortive close an association that was in the accept_queue could get stuck and never freed. Now we properly start the kill timer on the socket and turn off the flag (same thing we do for the graceful close method). MFC after: 1 week
* Fix a bug in sctp_abort_assoc(). DON'T call the sctp_inpcb_freerrs2010-06-061-7/+0
| | | | | | | when the gone flag is set. You don't know what locks the caller has set and there is already a kill timer running. MFC after: 1 week
* Rework tcpp output so that it generates a comma-delimited list of values,rwatson2010-06-064-43/+50
| | | | | | | | | optionally with a header if "-h" is passed. Toast CPU time measurement in the server for now. Remove -C and -T, since we now always report both connections/sec and Gb/sec. MFC after: 1 week Sponsored by: Juniper Networks
* Add Open Firmware PNP info strings to GPIOs and Uninorth cells.nwhitehorn2010-06-062-0/+4
| | | | Submitted by: Andreas Tobler
* Some revisions of the Serverworks K2 SATA controller have a datanwhitehorn2010-06-063-1/+21
| | | | | | | | | | | | | | corruption bug where if an ATA command is issued before DMA is started, data will become available to the controller before it knows what to do with it. This results in either data corruption or a controller crash. This patch remedies the problem by adopting the workaround employed by Linux and Darwin: starting the DMA engine prior to sending the ATA command. Observer on: Xserve G5 Reviewed by: mav MFC after: 1 week
* - Fix signal handling in bc/dc. Now Ctrl-C terminates the execution.gabor2010-06-062-36/+5
| | | | | Requested by: gk (via private mail) Approved by: delphij (mentor)
* - Fig segmentation faultgabor2010-06-061-1/+6
| | | | Submitted by: Hizel Ildar <hizel@vyborg.ru> (via current@)
* Don't set PG_WRITEABLE in init_pte_prot() (and thus pmap_enter()) unlessalc2010-06-061-13/+7
| | | | | | | | | | | | | | | | | | | the page is managed. Don't set the machine-independent layer's dirty field for the page being mapped in init_pte_prot(). (The dirty field is only supposed to set when a mapping is removed or write-protected and the page was managed and modified.) Determine whether or not to perform dirty bit emulation based on whether or not the page is managed, i.e., pageable, not based on whether the page is being mapped into the kernel address space. Nearly all of the kernel address space consists of unmanaged pages, so this has neglible impact on the overhead of dirty bit emulation for the kernel address space. However, there can also exist unmanaged pages in the user address space. Previously, dirty bit emulation was unnecessarily performed on these pages. Tested by: jchandra@
* Hopefully this fixes a LOR by makingrrs2010-06-061-22/+17
| | | | | | | so we only hold the iterator lock during updates to the iterators work. MFC after: 1 week
* Bruce's fix for some return's inrrs2010-06-061-0/+8
| | | | | | error legs. MFC after: 1 week
* Fix a bug introduced in r199011. When bge(4) reuses loaded RXyongari2010-06-052-16/+51
| | | | | | | | | | | | | | | | | | | buffers it should also reinitialize RX descriptors otherwise some stale data could be passed to controller. This could end up with mbuf double free or unexpected NULL pointer dereference in upper stack. To fix the issue, save loaded buffer's length and reinitialize RX descriptors with the saved value whenever bge(4) reuses the loaded RX buffers. While I'm here, increase the number of RX buffers to 512 from 256. This simplifies RX buffer handling as well as giving more RX buffers. Controller supports just fixed number of RX buffers (i.e. 512) and bge(4) used to rely on hope that our CPU is fast enough to keep up with the controller. With this change, bge(4) will use 1MB for RX buffers but I don't think it would cause problems in these days. Reported by: marcel Tested by: marcel
* Convert pm_runcount to int to correctly check for negative value.fabient2010-06-052-9/+6
| | | | | | | Remove uncessary check for error. Found with: Coverity Prevent(tm) MFC after: 1 month
* Fix memory leak on error.fabient2010-06-051-1/+3
| | | | | Found with: Coverity Prevent(tm) MFC after: 1 month
* Although we currently don't compile in CPU-pinning support by default,rwatson2010-06-055-29/+45
| | | | | | | add a -P to enable it if it were. MFC after: 1 week Sponsored by: Juniper Networks
* Fix warnings found by Coverity.fabient2010-06-053-4/+8
| | | | | Found with: Coverity Prevent(tm) MFC after: 1 month
* Purge out a Windows def that somehow slippedrrs2010-06-051-7/+1
| | | | | | past the scrubber. MFC after: 1 Week
* Spacing issuesrrs2010-06-052-6/+5
| | | | MFC after: 1 Week
* This change does the following:rrs2010-06-051-13/+23
| | | | | | | | | | | | | 1) Fix the alignment of a comment. 2) Fix a BUG where we were NOT paying attention to the RESEND marking on retransmitting control chunks.. and worse we were not decrementing the retran count that could cause us to loop forever. 3) Add in the valdiate_no_lock function on invariants so that we will really check all ways out to be sure a lock does not slip out locked. MFC after: 1 week.
OpenPOWER on IntegriCloud