summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Give mtx(9) the ability to crunch different type of structures, with theattilio2012-10-313-33/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | only constraint that they have a lock cookie named mtx_lock. This name, then, becames reserved from the struct that wants to use the mtx(9) KPI and other locking primitives cannot reuse it for their members. Namely such structs are the current struct mtx and the new struct mtx_padalign. The new structure will define an object which is the same as the same layout of a struct mtx but will be allocated in areas aligned to the cache line size and will be as big as a cache line. This is supposed to give higher performance for highly contented mutexes both spin or sleep (because of the adaptive spinning), where the cache line contention results in too much traffic on the system bus. The struct mtx_padalign can be used in a completely transparent way with the mtx(9) KPI. At the moment, a possibility to MFC the patch should be carefully evaluated because this patch breaks the low level KPI (not its representation though). Discussed with: jhb Reviewed by: jeff, andre Reviewed by: mdf (earlier version) Tested by: jimharris
* Merge r242125 into the other ARMv6 copies of initarm.andrew2012-10-314-0/+20
|
* I've had some feedback that CCK rates are more reliable than MCS 0adrian2012-10-311-0/+17
| | | | | | | | | in some very degenerate conditions. However, until ath_rate_form_aggr() is taught to not form aggregates if ANY selected rate is non-MCS, this can't yet be enabled. So, just add a comment.
* I give up - introduce a TX lock to serialise TX operations.adrian2012-10-316-3/+51
| | | | | | | | | | | | | | | | | | | | | | | | I've tried serialising TX using queues and such but unfortunately due to how this interacts with the locking going on elsewhere in the networking stack, the TX task gets delayed, resulting in quite a noticable throughput loss: * baseline TCP for 2x2 11n HT40 is ~ 170mbit/sec; * TCP for TX task in the ath taskq, with the RX also going on - 80mbit/sec; * TCP for TX task in a separate, second taskq - 100mbit/sec. So for now I'm going with the Linux wireless stack approach - lock tx early. The linux code does in the wireless stack, before the 802.11 state stuff happens and before it's punted to the driver. But TX locking needs to also occur at the driver layer as the TX completion code _also_ begins to drain the ifnet TX queue. Whilst I'm here, add some KTR traces for the TX path. Note: * This really should be done at the net80211 layer (as well, at least.) But that'll have to wait for a little more thought to happen.
* Fix longstanding misprint.jmallett2012-10-311-1/+1
|
* If the CF physical base is 0, attach no CF devices. This fixes a warningjmallett2012-10-311-0/+2
| | | | | about a 0 passed to cvmx_phys_to_ptr on systems without a CF interface, such as the RSYS4GBE.
* - Do not put in the mntqueue half-constructed vnodes.davide2012-10-314-123/+69
| | | | | | | | | | - Change the code so that it relies on vfs_hash rather than on a home-made hashtable. - There's no need to inline fnv_32_buf(). Reviewed by: delphij Tested by: pho Sponsored by: iXsystems inc.
* Fix panic due to page faults while in kernel mode, under conditions ofdavide2012-10-3111-220/+419
| | | | | | | | | VM pressure. The reason is that in some codepaths pointers to stack variables were passed from one thread to another. In collaboration with: pho Reported by: pho's stress2 suite Sponsored by: iXsystems inc.
* Change the code to use %jd as printf() placeholder for uio_offset anddavide2012-10-312-4/+7
| | | | | | | cast to intmax_t. Suggested by: pjd Sponsored by: iXsystems inc.
* Minor mdoc and language fixes.joel2012-10-301-3/+2
|
* Removed unnecessary bits in the header that shows where I stole the templatebapt2012-10-301-3/+0
|
* Document the pw_util(3) functionsbapt2012-10-302-1/+299
| | | | Reviewed by: des, gjb
* Pull in r165377 from upstream llvm trunk:dim2012-10-301-1/+8
| | | | | | | | | | | | | | | | | | | | | | X86: fcmov doesn't handle all possible EFLAGS, fall back to a branch for the others. Otherwise it will try to use SSE patterns and fail horribly if sse is disabled. Fixes PR14035. This should fix the following assertion failure: Assertion failed: (Reg >= X86::FP0 && Reg <= X86::FP6 && "Expected FP register!"), function getFPReg, file contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp, line 330. which can show up when compiling contrib/compiler-rt, using -march=i686 through -march=pentium3 (CPU's which do support fcmov, but don't support SSE2). MFC after: 1 week
* Fix problem with geom_label(4) not recognizing UFS labels on filesystemstrasz2012-10-307-5/+11
| | | | | | | | | | | | | | | | | | extended using growfs(8). The problem here is that geom_label checks if the filesystem size recorded in UFS superblock is equal to the provider (i.e. device) size. This check cannot be removed due to backward compatibility. On the other hand, in most cases growfs(8) cannot set fs_size in the superblock to match the provider size, because, differently from newfs(8), it cannot recompute cylinder group sizes. To fix this problem, add another superblock field, fs_providersize, used only for this purpose. The geom_label(4) will attach if either fs_size (filesystem created with newfs(8)) or fs_providersize (filesystem expanded using growfs(8)) matches the device size. PR: kern/165962 Reviewed by: mckusick Sponsored by: FreeBSD Foundation
* Catch up with r238925. ktr_entries may not be a power of 2.np2012-10-301-2/+2
|
* atrun(8): scale default load average limit with the number of CPUsmjg2012-10-302-2/+21
| | | | | | | | | Previously atrun refused to run jobs if load average was not below fixed limit of 1.5. PR: 173175 Reviewed by: peterj Approved by: trasz (mentor) MFC after: 2 weeks
* If a USB mass storage device doesn't respond properlyhselasky2012-10-301-2/+5
| | | | | | | | to the initial SCSI INQUIRY command, enable all quirks. This fixes detection of some Transcend TS2GUFM devices. MFC after: 1 week Reported by: Michael Dexter
* Fix SMP build for omap4cognet2012-10-301-1/+1
| | | | Submitted by: Giovanni Trematerra <gianni at freebsd DOT org>
* Fixup r240246: hwpmc needs to retain the pinning until ASTs are notattilio2012-10-302-2/+7
| | | | | | | | | | | | | executed. This means past the point where userret() is generally executed. Skip the td_pinned check if a callchain tracing is currently happening and add a more robust check to pmc_capture_user_callchain() in order to catch td_pinned leak past ast() in hwpmc case. Reported and tested by: fabient MFC after: 1 week X-MFC: r240246
* - Remove BCE_JUMBO_HDRSPLIT kernel option which was forgotten in r218423.zont2012-10-303-8/+0
| | | | | Approved by: davidch Approved by: kib (mentor)
* Document disk_resize(9).trasz2012-10-302-2/+12
|
* Use M_ZERO instead of explicit memsets and bzeros.trasz2012-10-302-34/+14
|
* Set all pins initial connection status to unknown (2) and then update itmav2012-10-301-10/+10
| | | | | | with the real value in regular way if sensing is supported. This fixes minor inconsistency when playback redirection appeared in undefined state on boot if headphones were not connected.
* tdq_lock_pair() already does spinlock_enter() so migration is notattilio2012-10-301-2/+0
| | | | | | possible in sched_balance_pair(). Remove redundant sched_pin(). Reviewed by: marius, jeff
* Print card and subsystem IDs in verbose logs to help to identify system.mav2012-10-306-5/+16
| | | | Hide some less iseful messages under debug.
* The argument len of m_pullup(9) could be less than or equal to MHLEN.kevlo2012-10-301-1/+1
| | | | Reviewed by: glebius
* Teach pw(8) about how to use pw/gr API to reduce code duplicationbapt2012-10-3014-620/+175
| | | | MFC after: 2 months
* TSO engine of L1 requires a separate DMA descriptor for TCPyongari2012-10-301-32/+49
| | | | | | | | | | | | | | | | payload. This means driver has to split a TX buffer into two pieces of TX buffers when the TX buffer contains both ethernet/IP/TCP header and partial TCP payload. The controller does not require all header should be in a TX buffer but driver forced it to compute IP/TCP header size/offset which is required parameter to configure DMA descriptor for TSO. While here, slightly reorder DMA descriptor setup to enhance readability and remove unnecessary code for TSO(upper stack never requests TSO when the frame length is less than or equal to MTU). Reported by: Yamagi Burmeister <lists <> yamagi dot org> Tested by: Yamagi Burmeister <lists <> yamagi dot org> MFC After: 1 week
* Actually check board type rather than using a specialized octeon_is_simulationjmallett2012-10-308-30/+9
| | | | function.
* Remove oct_read64 and oct_write64 and use their equivalents from the Simplejmallett2012-10-302-145/+11
| | | | | Executive, which are used everywhere else in the Octeon port. While here, remove other unused things from octeon_pcmap_regs.h.
* Remove stale declarations.jmallett2012-10-301-3/+0
|
* Move the call to platform_gpio_init() into initarm_gpio_init() to reduceandrew2012-10-301-5/+5
| | | | the diff to the other FDT versions of initarm.
* Speed feature tests and initialize helper configuration that some CPUs require.jmallett2012-10-304-2/+9
|
* Separate interrupts enable/disable logic from setting port parameters.gonzo2012-10-301-6/+13
| | | | | Otherwise setting baud rate in TTY mode effectively disables TX/RX interrupts and renders port unusable.
* s/dettach/detach/gdelphij2012-10-301-3/+3
| | | | | Approved by: pjd MFC after: 1 month
* Minor addition to r242323:mav2012-10-292-4/+4
| | | | | | | | Alike to BIO_WRITE, report success if at least one subdisk succeeded with BIO_DELETE. But unlike BIO_WRITE don't fail disk on BIO_DELETE error. Sponsored by: iXsystems, Inc. MFC after: 1 month
* Whitespace changes due to upstream integration of SCTP changes in thetuexen2012-10-293-53/+39
| | | | FreeBSD code base.
* Add braces (as used elsewhere in the SCTP code).tuexen2012-10-291-2/+2
|
* Use ntohs() and htons() in correct order. However, this doesn't changetuexen2012-10-291-1/+1
| | | | functionality.
* backout r242319, racy and not done in the right placebapt2012-10-292-18/+0
| | | | Reported by: Garrett Cooper <yanegomi@gmail.com>
* Add basic BIO_DELETE support to GEOM RAID class for all RAID levels.mav2012-10-2912-173/+91
| | | | | | | | | If at least one subdisk in the volume supports it, BIO_DELETE requests will be propagated down. Unfortunatelly, for RAID levels with redundancy unmapped blocks will be mapped back during first rebuild/resync process. Sponsored by: iXsystems, Inc. MFC after: 1 month
* Fix locking problem in disk_resize(); previously it would run withouttrasz2012-10-293-26/+20
| | | | | | topology lock, resulting in assertion when running with DIAGNOSTIC. Reviewed by: mav (earlier version)
* Add BCM2835 SDHCI driver and enable it in Raspberry Pi configgonzo2012-10-294-1/+371
|
* Add new quirks:gonzo2012-10-292-16/+61
| | | | | | | | - Data timeout is broken - Data timeout uses SD clock - Capabilities register is unavailable Add calculations for clock divisor for SDHCI 3.0
* make pw_init and gr_init fail if the specified master password or group file isbapt2012-10-292-0/+20
| | | | | | a directory. MFC after: 1 month
* Work around broken device tree on last-generation PowerPC iMacsnwhitehorn2012-10-291-0/+4
| | | | | | | | | (PowerMac12,1), which have a mac-io MPIC cell that indifies itself as the root PIC despite the actual root PIC being on the northbridge. No CPC945 systems have a mac-io PIC that does anything so just don't attach on CPC945 (U4) systems. MFC after: 3 days
* Make GEOM RAID more aggressive in marking volumes as clean on shutdownmav2012-10-291-17/+20
| | | | | | | | | | | and move that action from shutdown_pre_sync to shutdown_post_sync stage to avoid extra flapping. ZFS tends to not close devices on shutdown, that doesn't allow GEOM RAID to shutdown gracefully. To handle that, mark volume as clean just when shutdown time comes and there are no active writes. MFC after: 2 weeks
* Forced commit to provide the correct commit message to r242251:andre2012-10-291-3/+3
| | | | | | | | | | Defer sending an independent window update if a delayed ACK is pending saving a packet. The window update then gets piggy-backed on the next already scheduled ACK. Added grammar fixes as well. MFC after: 2 weeks
* In soreceive_stream() don't drop an already dequeued mbuf chain byandre2012-10-291-5/+11
| | | | | | | | | | | | | | | | | | | | overwriting the return mbuf pointer with newly received data after a loop. Instead append the new mbuf chain to the existing one. Fix up sb_lastrecord when dequeuing mbuf's so that sbappend_stream() doesn't get confused. For the remainder copy case in the mbuf delivery part deduct the copied length len instead of the whole mbuf length. Additionally don't depend on 'n' being being available which isn't true in the case of MSG_PEEK. Fix the MSG_WAITALL case by comparing against sb_hiwat. Before it was looping for every receive as sb_lowat normally is zero. Add comment about issue with (MSG_WAITALL | MSG_PEEK) which isn't properly handled. Submitted by: trociny (except for the change in last paragraph)
* Define the delayed ACK timeout value directly as hz/10 instead ofandre2012-10-291-1/+1
| | | | | | obfuscating it by going through PR_FASTHZ. No functional change. MFC after: 2 weeks
OpenPOWER on IntegriCloud