summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Resolve clang compile errors on amd64/i386 for certain by casting.sbruno2013-03-241-4/+4
| | | | | | | compile tested with clang on i386, amd64 compile tested with gcc on i386, amd64, sparc64 Submitted by: delphij
* Fix long known deadlock between geom dev destruction and d_close() call.mav2013-03-241-71/+129
| | | | | | | | Use destroy_dev_sched_cb() to not wait for device destruction while holding GEOM topology lock (that actually caused deadlock). Use request counting protected by mutex to properly wait for outstanding requests completion in cases of device closing and geom destruction. Unlike r227009, this code does not block taskqueue thread for indefinite time, waiting for completion.
* Add new regulatory domain.adrian2013-03-242-0/+26
| | | | Obtained from: Qualcomm Atheros
* Move the TXQ lock earlier in this routine - so to correctly protect theadrian2013-03-241-1/+2
| | | | link pointer check.
* Fix the locking changes due to the TXQ change drive-by.adrian2013-03-241-1/+4
| | | | | | Tested: * AR9580, STA mode
* Make g_wither_washer() to not loop by itself, but only when there was somemav2013-03-243-29/+13
| | | | | | | | | more topology change done that may require its attention. Add few missing g_do_wither() calls in respective places to signal it. This fixes potential infinite loop here when some provider is withered, but still opened or connected for some reason and so can not be destroyed. For example, see r227009 and r227510.
* Minor formatting fix for printf() to fix clang builds.sbruno2013-03-241-2/+2
| | | | | Submitted by: db Reviewed by: gjb
* Compile contrib/tzcode/stdtime/localtime.c with -fwrapv, since it reliesdim2013-03-241-0/+3
| | | | | | | | | | | | | on signed integer overflow wrapping. Otherwise mktime(3) and timegm(3) can hang, in case the timestamp passed in struct tm is not representable in a time_t. Specifically, any timestamp after 2038-01-19 03:14:07, in combination with a 32-bit time_t. Note that it would be better to change the code to not rely on undefined behaviour, but it is contributed code, and it is not entirely trivial to fix the issue properly. MFC after: 3 days
* Overhaul the TXQ locking (again!) as part of some beacon/cabq timingadrian2013-03-249-44/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | related issues. Moving the TX locking under one lock made things easier to progress on but it had one important side-effect - it increased the latency when handling CABQ setup when sending beacons. This commit introduces a bunch of new changes and a few unrelated changs that are just easier to lump in here. The aim is to have the CABQ locking separate from other locking. The CABQ transmit path in the beacon process thus doesn't have to grab the general TX lock, reducing lock contention/latency and making it more likely that we'll make the beacon TX timing. The second half of this commit is the CABQ related setup changes needed for sane looking EDMA CABQ support. Right now the EDMA TX code naively assumes that only one frame (MPDU or A-MPDU) is being pushed into each FIFO slot. For the CABQ this isn't true - a whole list of frames is being pushed in - and thus CABQ handling breaks very quickly. The aim here is to setup the CABQ list and then push _that list_ to the hardware for transmission. I can then extend the EDMA TX code to stamp that list as being "one" FIFO entry (likely by tagging the last buffer in that list as "FIFO END") so the EDMA TX completion code correctly tracks things. Major: * Migrate the per-TXQ add/removal locking back to per-TXQ, rather than a single lock. * Leave the software queue side of things under the ATH_TX_LOCK lock, (continuing) to serialise things as they are. * Add a new function which is called whenever there's a beacon miss, to print out some debugging. This is primarily designed to help me figure out if the beacon miss events are due to a noisy environment, issues with the PHY/MAC, or other. * Move the CABQ setup/enable to occur _after_ all the VAPs have been looked at. This means that for multiple VAPS in bursted mode, the CABQ gets primed once all VAPs are checked, rather than being primed on the first VAP and then having frames appended after this. Minor: * Add a (disabled) twiddle to let me enable/disable cabq traffic. It's primarily there to let me easily debug what's going on with beacon and CABQ setup/traffic; there's some DMA engine hangs which I'm finally trying to trace down. * Clear bf_next when flushing frames; it should quieten some warnings that show up when a node goes away. Tested: * AR9280, STA/hostap, up to 4 vaps (staggered) * AR5416, STA/hostap, up to 4 vaps (staggered) TODO: * (Lots) more AR9380 and later testing, as I may have missed something here. * Leverage this to fix CABQ hanling for AR9380 and later chips. * Force bursted beaconing on the chips that default to staggered beacons and ensure the CABQ stuff is all sane (eg, the MORE bits that aren't being correctly set when chaining descriptors.)
* CABQ calculation changes to try and fix some weird corner cases leadingadrian2013-03-231-4/+4
| | | | | | | | | | | | | | | to stuck beacons. * Set the cabq readytime (ie, how long to burst for) to 50% of the total beacon interval time * fix the cabq adjustment calculation based on how the beacon offset is calculated (the SWBA/DBA time offset.) This is all still a bit magic voodoo but it does seem to have further quietened issues with missed/stuck beacons under my local testing. In any case, it better matches what the reference HAL implements. Obtained from: Qualcomm Atheros
* More indentation fixes.adrian2013-03-231-6/+6
|
* Expose the beacon miss counter.adrian2013-03-231-1/+5
|
* Do not call malloc(M_WAITOK) while bodev->fence_lock mutex iskib2013-03-231-7/+8
| | | | | | | | held. The ttm_buffer_object_transfer() does not need the mutex locked at all, except for the call to the driver sync_obj_ref() method. Reported and tested by: dumbbell MFC after: 2 weeks
* Merge bugfix from vendor master branch:mm2013-03-231-0/+5
| | | | | | | | | | | | Limit write requests to at most INT_MAX. This prevents a certain common programming error (passing -1 to write) from leading to other problems deeper in the library. References: https://github.com/libarchive/libarchive/commit/22531545514043e0 Reported by: Xin Li <delphij@FreeBSD.org> Obtained from: libarchive (master branch)
* drm/ttm: Fix a typo: s/pTTM]/[TTM]/dumbbell2013-03-231-1/+1
|
* drm/ttm: Explain why we don't need to acquire a ref in ttm_bo_vm_ctor()dumbbell2013-03-231-0/+5
|
* Fix kernel build with options ZFS after r24571 (libzfs_core).mm2013-03-231-0/+2
| | | | Submitted by: Bjoern A. Zeeb <bz@FreeBSD.org>
* Revert 248634 and 248643 (e.g., restoring 248625 and 248639).mckusick2013-03-238-59/+158
| | | | Build verified by: Glen Barber (gjb@)
* drm/ttm: Fix TTM buffer object refcountdumbbell2013-03-231-5/+1
| | | | | | | This fixes memory leaks in the radeonkms driver. Reviewed by: Konstantin Belousov (kib@) Tested by: J.R. Oldroyd <jr@opal.com>
* Fix compiling ed w/ WITHOUT_ED_CRYPTO... These variables aren'tjmg2013-03-231-3/+1
| | | | | | used.. Submitted by: deeptech71 at gmail dot com
* Don't check and warn about pmap mismatch on every call to busdma sync.ian2013-03-231-17/+11
| | | | | | | | | | | With some recent busdma refactoring, sometimes it happens that a sync op gets called when bus_dmamap_load() never got called, which results in a spurious warning about a map mismatch when no sync operations will actually happen anyway. Now the check is done only if a sync operation is actually performed, and the result of the check is a panic, not just a printf. Reviewed by: cognet (who prevented me from donning a point hat)
* Be more explicit about what each bio_cmd & bio_flags value means.will2013-03-231-8/+12
| | | | Reviewed by: ken (mentor)
* ZFS: Fix a panic while unmounting a busy filesystem.will2013-03-231-0/+2
| | | | | | | | | | | | | | | | This particular scenario was easily reproduced using a NFS export. When the first 'zfs unmount' occurred, it returned EBUSY via this path, while vflush() had flushed references on the filesystem's root vnode, which in turn caused its v_interlock to be destroyed. The next time 'zfs unmount' was called, vflush() tried to obtain this lock, which caused this panic. Since vflush() on FreeBSD is a definitive call, there is no need to check vfsp->vfs_count after it completes. Simply #ifdef sun this check. Submitted by: avg Reviewed by: avg Approved by: ken (mentor) MFC after: 1 month
* Extend taskqueue(9) to enable per-taskqueue callbacks.will2013-03-233-3/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The scope of these callbacks is primarily to support actions that affect the taskqueue's thread environments. They are entirely optional, and consequently are introduced as a new API: taskqueue_set_callback(). This interface allows the caller to specify that a taskqueue requires a callback and optional context pointer for a given callback type. The callback types included in this commit can be used to register a constructor and destructor for thread-local storage using osd(9). This allows a particular taskqueue to define that its threads require a specific type of TLS, without the need for a specially-orchestrated task-based mechanism for startup and shutdown in order to accomplish it. Two callback types are supported at this point: - TASKQUEUE_CALLBACK_TYPE_INIT, called by every thread when it starts, prior to processing any tasks. - TASKQUEUE_CALLBACK_TYPE_SHUTDOWN, called by every thread when it exits, after it has processed its last task but before the taskqueue is reclaimed. While I'm here: - Add two new macros, TQ_ASSERT_LOCKED and TQ_ASSERT_UNLOCKED, and use them in appropriate locations. - Fix taskqueue.9 to mention taskqueue_start_threads(), which is a required interface for all consumers of taskqueue(9). Reviewed by: kib (all), eadler (taskqueue.9), brd (taskqueue.9) Approved by: ken (mentor) Sponsored by: Spectra Logic MFC after: 1 month
* Revert r247892 now that this has been fixed upstream.des2013-03-231-1/+0
|
* Make `systat -vmstat` to use suffixes to display big floating point numbersmav2013-03-231-0/+8
| | | | | | that are not fitting into the specified field width, same as done for ints. In particular that allows to properly display disk tps above 100k, that are reachable with modern SSDs.
* post mountroot event after a real/final root is mountedavg2013-03-231-2/+2
| | | | | | | | | not every time an intermediate root (including the first devfs) is mounted. This is also consistent with waking up via root_mount_complete. Reviewed by: jhb MFC after: 13 days
* dtrace: ensure that we can always catch a process (e.g. when -c is used)avg2013-03-231-1/+1
| | | | | | | | | It is not guaranteed that a program has a symbol table entry for main and thus that it would be possible to set a breakpoint on it. Reviewed by: rpaulo Discussed with: rpaulo MFC after: 13 days
* Revert r248639 to fix build failure on head/gjb2013-03-231-4/+3
|
* fbt_getargdesc: correctly handle types for return probesavg2013-03-231-5/+17
| | | | MFC after: 6 days
* libdwarf: anonymous types are expected to have empty type names...avg2013-03-231-3/+1
| | | | | | | or no type attributes at all. This is according to DWARF specification. MFC after: 13 days
* fbt_typoff_init: fix an off by one in determining required memory sizeavg2013-03-231-0/+2
| | | | | | | | | | | This issue would be silent most of the time, but if the requested memory is a multiple of a page size, then accessing one element beyond the end would lead to a kernel page fault. Otherwise, the unlucky last type would just be inaccessible. Reported by: glebius Tested by: glebius MFC after: 6 days
* Fix the build after addition of cylinder group cacheing (r248625)mckusick2013-03-231-3/+4
| | | | | Reported by: Glen Barber (gjb@) Pointy hat to: Kirk McKusick (mckusick@)
* Revert svn r248625sbruno2013-03-237-154/+56
| | | | | | | | Clang errors around printf could be trivially fixed, but the breakage in sbin/fsdb were to significant for this type of change. Submitter of this changeset has been notified and hopefully this can be restored soon.
* Add AR9300 descriptor decoding.adrian2013-03-232-0/+366
|
* Don't attempt to reference sc before testing whether it's NULL.delphij2013-03-221-1/+1
| | | | | | Submitted by: Sascha Wildner Obtained from: DragonFly MFC after: 2 weeks
* Speed up fsck by caching the cylinder group maps in pass1 somckusick2013-03-227-56/+154
| | | | | | | | | | | | | | | | | | | | that they do not need to be read again in pass5. As this nearly doubles the memory requirement for fsck, the cache is thrown away if other memory needs in fsck would otherwise fail. Thus, the memory footprint of fsck remains unchanged in memory constrained environments. This work was inspired by a paper presented at Usenix's FAST '13: www.usenix.org/conference/fast13/ffsck-fast-file-system-checker Details of this implementation appears in the April 2013 of ;login: www.usenix.org/publications/login/april-2013-volume-38-number-2. A copy of the April 2013 ;login: paper can also be downloaded from: www.mckusick.com/publications/faster_fsck.pdf. Reviewed by: kib Tested by: Peter Holm MFC after: 4 weeks
* As it's done for libstdc++, use SJLJ-based exceptions on arm when we're notcognet2013-03-221-0/+11
| | | | using EABI, and use unwind-arm.h instead of unwind-generic.h when using EABI.
* The purpose of this change to the FFS layout policy is to reduce themckusick2013-03-2210-81/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | running time for a full fsck. It also reduces the random access time for large files and speeds the traversal time for directory tree walks. The key idea is to reserve a small area in each cylinder group immediately following the inode blocks for the use of metadata, specifically indirect blocks and directory contents. The new policy is to preferentially place metadata in the metadata area and everything else in the blocks that follow the metadata area. The size of this area can be set when creating a filesystem using newfs(8) or changed in an existing filesystem using tunefs(8). Both utilities use the `-k held-for-metadata-blocks' option to specify the amount of space to be held for metadata blocks in each cylinder group. By default, newfs(8) sets this area to half of minfree (typically 4% of the data area). This work was inspired by a paper presented at Usenix's FAST '13: www.usenix.org/conference/fast13/ffsck-fast-file-system-checker Details of this implementation appears in the April 2013 of ;login: www.usenix.org/publications/login/april-2013-volume-38-number-2. A copy of the April 2013 ;login: paper can also be downloaded from: www.mckusick.com/publications/faster_fsck.pdf. Reviewed by: kib Tested by: Peter Holm MFC after: 4 weeks
* Remove __FreeBSD_version ifdefs.glebius2013-03-223-12/+0
|
* rc.d/sysctl: Fix error messages about unknown OIDs.jilles2013-03-221-3/+3
| | | | | | | | | | | | | There are three situations where the sysctl script is called: 1. "start", very early 2. "lastload", near the end of rc 3. "reload", at admin request while the system is booted Ignore unknown OIDs in situation 1 because kernel modules may not be loaded yet and complain about them in situations 2 and 3. PR: conf/174595 Submitted by: Olivier Smedts
* Upgrade to OpenSSH 6.2p1. The most important new features are supportdes2013-03-2295-1243/+4990
|\ | | | | | | for a key revocation list and more fine-grained authentication control.
| * Vendor import of OpenSSH 6.2p1.des2013-03-22125-1624/+7092
| |
| * Vendor import of OpenSSH 6.1p1.des2012-08-2979-627/+1629
| |
| * Remove autoprops :(des2012-08-290-0/+0
| |
| * Vendor import of OpenSSH 6.0p1.des2012-08-2995-796/+2824
| |
| * Merge from upstream:delphij2012-06-252-6/+9
| | | | | | | | | | | | | | | | | | - djm@cvs.openbsd.org 2012/04/11 13:34:17 [ssh-keyscan.1 ssh-keyscan.c] now that sshd defaults to offering ECDSA keys, ssh-keyscan should also look for them by default; bz#1971 Approved by: des
* | Retire the mislabeled ENABLE_SUID_SSH knob.des2013-03-223-11/+1
| |
* | MFV r248590,248594:mm2013-03-22389-3932/+39264
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update libarchive to 3.1.2 Some of new features: - support for lrzip and grzip compression - support for writing tar v7 format - b64encode and uuencode filters - support for __MACOSX directory in Zip archives - support for lzop compresion (external utility)
| * | Update libarchive's vendor dist to version 3.1.2 from release branch.mm2013-03-21410-3134/+43402
| | | | | | | | | | | | | | | | | | | | | Git branch: release Git commit: 19f23e191f9d3e1dd2a518735046100419965804 Obtained from: https://github.com/libarchive/libarchive.git
OpenPOWER on IntegriCloud