summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add an option to display the current dump device via dumpon -l.alfred2012-11-012-3/+49
| | | | MFC after: 2 weeks
* Sort textdump options list.joel2012-11-011-6/+6
| | | | Submitted by: bde
* Add whitespace between mandatory and optional kernelalfred2012-11-011-0/+1
| | | | | | config options. Approved by: joel
* Provide a device name in the sysctl tree for programs to query thealfred2012-11-014-6/+16
| | | | | | | | | state of crashdump target devices. This will be used to add a "-l" (ell) flag to dumpon(8) to list the currently configured dumpdev. Reviewed by: phk
* Export all mixer nodes into dev.pcm.X.mixer.Y sysctl nodes, hence thehselasky2012-11-011-32/+264
| | | | | | | | | PCM API doesn't support showing all the knobs. Make sure all the USB audio mixer nodes are freed at detach. Before this patch USB audio would leak some memory at detach. Print out buffer sizes in number of samples at attach. Fix setting of volume controls when the number of channels is greater than two. MFC after: 1 week
* Add missing inclusion guard.hselasky2012-11-011-0/+5
|
* In general, we call pmap_remove_all() before calling vm_page_cache(). So,alc2012-11-012-28/+13
| | | | | | | | | | | | | | | the call to pmap_remove_all() within vm_page_cache() is usually redundant. This change eliminates that call to pmap_remove_all() and introduces a call to pmap_remove_all() before vm_page_cache() in the one place where it didn't already exist. When iterating over a paging queue, if the object containing the current page has a zero reference count, then the page can't have any managed mappings. So, a call to pmap_remove_all() is pointless. Change a panic() call in vm_page_cache() to a KASSERT(). MFC after: 6 weeks
* Enable the new instructions for reading and writing bases for %fs,kib2012-11-012-1/+18
| | | | | | | | | | | | | | | | %gs, when supported. Note that WRFSBASE and WRGSBASE are not very useful on FreeBSD right now, because a return from the kernel mode to userspace reloads the bases specified by the sysarch(2) syscall, most likely. Enable the Supervisor Mode Execution Prevention (SMEP) when supported. Since the loader(8) performs hand-off to the kernel with the page tables which contradict the SMEP, postpone enabling the SMEP on BSP until pmap switched for the proper kernel tables. Debugged with the help from: avg Tested by: avg, Michael Moll <kvedulv@kvedulv.de> MFC after: 1 month
* Provide the reading and display of the Standard Extended Features,kib2012-11-014-0/+30
| | | | | | | | introduced with the IvyBridge CPUs. Provide the definitions for new bits in CR3 and CR4 registers. Tested by: avg, Michael Moll <kvedulv@kvedulv.de> MFC after: 2 weeks
* Fix build for SMP.cognet2012-11-011-1/+1
| | | | Submitted by: Giovanni Trematerra <gianni at freebsd DOT org>
* - Portability changes for ARMgabor2012-11-019-70/+74
| | | | | | - Allow larger sort memory on 64-bit platforms Submitted by: Oleg Moskalenko <oleg.moskalenko@citrix.com>
* fcntl(2): Fix typos in name of constant "F_DUP2FD_CLOEXEC".jilles2012-11-011-2/+2
| | | | MFC after: 1 week
* Nuke whitespace.joel2012-11-011-3/+2
|
* Minor mdoc fix.joel2012-11-011-1/+1
|
* TCP/UDP checksum offloading feature for IP fragmented datagram wasyongari2012-11-011-27/+0
| | | | | | | | | | removed in r99417. bge(4) controllers can do TCP checksum offload for IP fragmented datagrams but unlike ti(4), it lacks UDP checksum offloading for IP fragmented datagrams. The problem was bge(4) blindly requested TCP/UDP checksum for IP fragmented datagrams such that it resulted in corrupted UDP datagrams before r99417. Remove remaining code for TCP checksum offloading for IP fragmented datagrams which should have been removed in r99417.
* Remove TCP/UDP checksum offloading feature for IP fragmentedyongari2012-11-011-11/+5
| | | | | | | | | | | | datagrams. Traditionally upper stack fragmented packets without computing TCP/UDP checksum and these datagrams were passed to driver. But there are chances that other packets slip into the interface queue in SMP world. If this happens firmware running on MIPS 4000 processor in the controller would see mixed packets and it shall send out corrupted packets. While I'm here simplify checksum offloading setup. MFC After: 1 week
* Small textdump enhancements.alfred2012-11-016-7/+72
| | | | | | | | | | | | | | Allow textdumps to be called explicitly from DDB. If "dump" is called in DDB and textdumps are enabled then abort the dump and tell the user to turn off textdumps. Add options TEXTDUMP_PREFERRED to turn textdumps on by default. Add options TEXTDUMP_VERBOSE to be a bit more verbose while textdumping. Reviewed by: rwatson MFC after: 2 weeks
* Handle the management port on the EBT5600 and disable loopback. The XAUIjmallett2012-11-011-0/+12
| | | | | | | port connected to the Broadcom switch does not seem operable, but it's unclear if that's simply due to a lack of configuration information for the switch. The switch does not seem to present any identifying information via MDIO, and is a BCM56512.
* Only four specific ATA PIO commands transfer several sectors per DRQ blockmav2012-11-011-2/+10
| | | | | | (interrupt). All other ATA PIO commands transfer one sector or 512 bytes at one time. Hardcode these exceptions in ata(4) with ATA_CAM option. This fixes timeout of READ LOG EXT command used by `smartctl -x /dev/adaX`.
* A few important fixes:jfv2012-10-311-11/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Testing TSO6 has led me to discover that HW RSC is a problematic feature, it is ONLY designed to work with IPv4 in the first place, and if IP forwarding is done it can't be disabled as LRO in the stack, also initial testing we've done at Intel shows an equal performance using TSO[46] on the TX and LRO on RX, if you ran older code on 82599 or later hardware you actually could have detrimental performance for this reason. So I am disabling the feature by default and all our adapters will now use LRO instead. - If you have flow control off and multiple queues it was possible when the buffer of one queue becomes full that all RX movement is stalled, to eliminate this problem a feature bit is now set that will allow packets to be dropped when full rather than stall. Note, the default is to have flow control on, and this keeps this from happening. - Because of the recent fixes in the stack, LRO is now auto-disabled when problematic, so I have decided to enable it by default in the capabilities in the driver. - There are some 1G modules used by some customers, a couple small tweaks to properly support those in the media code. - A note: we have now done some testing of TSO6 and using LRO with IPv6 and it all works great!! Seeing line rate in both directions in best cases. Thanks bz for your excellent work!!
* Use callout_reset_curcpu to allow the callout to be handled by thejimharris2012-10-311-0/+5
| | | | | | | | | current CPU and not always CPU 0. This has the added benefit of reducing a huge amount of spinlock contention on the callout_cpu spinlock for CPU 0. Sponsored by: Intel
* ASUS EeePC 1001px has strange variant of ALC269 CODEC, that mutes speakermav2012-10-311-0/+15
| | | | | | | | | | | | if unused in that configuration mixer at NID 15 is muted. Probably CODEC incorrectly reports its internal connections. Hide that muter from the driver to avoid muting and make built-in speaker work. There are several different CODECs sharing this ID and I have not enough information about them and the bug to implement more universal solution. Tested by: Big Yuuta <init.py@gmail.com> MFC after: 2 weeks
* Since the PLL changes aren't in here yet for the AR9130 half/quarteradrian2012-10-312-0/+10
| | | | rate support, disable it.
* Oops - this was incorrectly removed in a previous commit.adrian2012-10-311-0/+1
|
* Oops - missing from the last commit - add ANI immunity levels for AR9160.adrian2012-10-311-2/+2
| | | | Obtained from: Qualcomm Atheros
* HAL updates!adrian2012-10-315-10/+31
| | | | | | | | | | | | | * Add some more ANI spur immunity levels. * For AR5111 radios attached to an AR5212, limit the 5GHz channels that are available. A later revision of the AR5111 supports the 4.9GHz PSB channels but right now there's no check in place for the radio revision. If someone wants PSB support on AR5212+AR5111 radios then please let me know and I'll add the relevant version check. Obtained from: Qualcomm Atheros
* Add in the last random assortment of missing bits for the AR9380 HAL.adrian2012-10-312-6/+249
| | | | Obtained from: Qualcomm Atheros
* Add the emulation PCI device id - these days, 0xabcd shows up all overadrian2012-10-311-0/+1
| | | | | | | the internet as "AR9380 and later which didn't get its PCI ID written in at power-on", so it's hardly an unknown constant. Obtained from: Qualcomm Atheros
* Correct code that was lost somewhere in the past,jfv2012-10-311-1/+1
| | | | | | this was designed to keep duplicate null vlan tags from being added. When doing vlans purely via the switch this problem will occur. Reported by external customer.
* Rework the known mutexes to benefit about staying on their ownattilio2012-10-314-21/+12
| | | | | | | | | | | cache line in order to avoid manual frobbing but using struct mtx_padalign. The sole exception being nvme and sxfge drivers, where the author redefined CACHE_LINE_SIZE manually, so they need to be analyzed and dealt with separately. Reviwed by: jimharris, alc
* Pad and align the callout_cpu mtx to its own cacheline to reduce falsejimharris2012-10-311-1/+1
| | | | | | | | | | | | sharing especially on the default CPU 0 callout_cpu structure. This will be followed up by attilio@ with a conversion to the new struct mtx_padalign but doing this manual conversion first gives an easy MFC candidate since mtx_padalign is a more extensive system change. Sponsored by: Intel Reviewed by: jeff, attilio MFC after: 1 week
* Correct attribution.des2012-10-311-3/+8
|
* Genericise the (out of date) instructions from moving from stable togavin2012-10-311-1/+1
| | | | | | current. MFC after: 3 days
* 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
OpenPOWER on IntegriCloud