summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Style fixes (mostly whitespaces).pjd2012-11-271-35/+39
|
* Correct some debugging output.adrian2012-11-271-1/+1
|
* Make sure that tcp_timer_activate() correctly sees TCP_OFFLOAD (or not).np2012-11-271-0/+1
|
* Do not enable data cache until later in kernel init. Stale bits ingonzo2012-11-271-1/+1
| | | | | | | cache might cause erroneus behavior on early stage. Submitted by: Ian Lepore Tested on: Atmel, Marvell, and Eyxnos
* Better safe than sorry: reinitialize eh after ng_ether(4) andglebius2012-11-271-0/+2
| | | | | | if_bridge(4) processing, since mbuf may be modified there. Submitted by: youngari
* Take first active vnode correctly.davidxu2012-11-271-1/+1
| | | | | Reviewed by: kib MFC after: 3 days
* Fix buildadrian2012-11-271-0/+2
|
* Auto size the tcbhashsize structure based on max sockets.alfred2012-11-271-4/+61
| | | | | | While here, also make the code that enforces power-of-two more forgiving, instead of just resetting to 512, graciously round-down to the next lower power of two.
* Add in a totally hacked up copy of the AR5416 descriptor decoding stuff,adrian2012-11-271-0/+470
| | | | | | as well as TDMA related things. I used this to debug TDMA related issues in -HEAD.
* Improve the TDMA debugging:adrian2012-11-271-2/+123
| | | | | | * add some further debugging prints, which are quite nice to have * add in ALQ hooks (optional!) to allow for the TDMA information to be logged in-line with the TX and RX descriptor information.
* Add in specific TDMA logging types.adrian2012-11-271-0/+49
|
* Fix the TDMA nexttbtt programming for 802.11n chips.adrian2012-11-271-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing logic wrapped programming nexttbtt at 65535 TU. This is not good enough for the 11n chips, whose nexttbtt register (GENERIC_TIMER_0) has an initial value from 0..2^31-1 TSF. So converting the TU to TSF had the counter wrap at (65535 << 10) TSF. Once this wrap occured, the nexttbtt value was very very low, much lower than the current TSF value. At this point, the nexttbtt timer would constantly fire, leading to the TX queue being constantly gated open.. and when this occured, the sender was not correctly transmitting in its slot but just able to continuously transmit. The master would then delay transmitting its beacon until after the air became free (which I guess would be after the burst interval, before the next burst interval would quickly follow) and that big delta in master beacon TX would start causing big swings in the slot timing adjustment. With this change, the nexttbtt value is allowed to go all the way up to the maximum value permissable by the 32 bit representation. I haven't yet tested it to that point; I really should. The AR5212 HAL now filters out values above 65535 TU for the beacon configuration (and the relevant legal values for SWBA, DBA and NEXTATIM) and the AR5416 HAL just dutifully programs in what it should. With this, TDMA is now useful on the 802.11n chips. Tested: * AR5416, AR9280 TDMA slave * AR5413 TDMA slave
* Add a note about the magic values here; don't change them.adrian2012-11-271-0/+5
|
* When programming the beacon timer configuration, be very explicit aboutadrian2012-11-271-4/+13
| | | | | | | | | | | | | | | | | | | | what the maximum legal values are. The current beacon timer configuration from TDMA wraps things at HAL_BEACON_PERIOD-1 TU. For the 11a chips this is fine, but for the 11n chips it's not enough resolution. Since the 11a chips have a limit on what's "valid", just enforce this so when I do write larger values in, they get suitably wrapped before programming. Tested: * AR5413, TDMA slave Todo: * Run it for a (lot) longer on a clear channel, ensure that no strange slippages occur. * Re-validate this on STA configurations, just to be sure.
* Allow this file to build on FreeBSD.jmallett2012-11-271-0/+2
|
* Add NOTES and Makefile in order to generate LINT. NOTES contains prettymarcel2012-11-272-0/+95
| | | | | | | | much all the union of all the kernel configuration files, including all the CPU types, Marvell SOC types and at91 board types. Any device not supported (read: does not compile) has been removed, which is a fairly small set actually. As such, LINT gives us very good coverage without having to build a zillion kernels.
* Allow building LINT by defining both SAMPLE_AT_RESET on the one handmarcel2012-11-271-3/+4
| | | | | and SAMPLE_AT_RESET_{LO|HI} on the other. It doesn't matter which values they take, as long as they are defined.
* Don't include arm/xscale/i8134x/i81342reg.h when we're compiling LINT.marcel2012-11-271-1/+7
| | | | The definitions in i81342reg.h clash with those in i80321reg.h.
* Remove print_kernel_section_addr(). All statements in that functionmarcel2012-11-271-13/+0
| | | | | | | expand to uncompilable code when the kernel configuration contains "options DEBUG", such as it is for LINT. The toolchain is often a better approach to figure this out, as it doesn't require one to boot the kernel.
* Don't define intr_disable and intr_restore as macros. The macrosmarcel2012-11-271-8/+24
| | | | | | | | | | | | interfere with structure fields of the same name in drivers, like the intr_disable function pointer in struct cphy_ops in cxgb(4). Instead define intr_disable and intr_restore as inline functions. With intr_disable() an inline function, the I32_bit and F32_bit macros now need to be visible in MI code and given the rather poor names, this is not at all good. Define ARM_CPSR_F32 and ARM_CPSR_I32 and use that instead of F32_bit and I32_bit (resp) for now.
* Unbreak building a kernel with EHCI: there's no ehci_atmelarm.c.marcel2012-11-261-1/+0
|
* Pull in r168610 from upstream libc++:dim2012-11-263-0/+23
| | | | | | | | | | | | | | | When using libc++ headers on FreeBSD, in combination with -std=c++98, -ansi or -std=c++03, the long long type is not supported. So in this case, several functions and types, like lldiv_t, strtoll(), are not declared. This should make it possible to use the libc++ headers in c++98 mode. Note: libc++ is originally designed as a c++0x or higher library, so you should still take care when using it with c++98 or c++03. Noted by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp> MFC after: 1 week
* Fix problem with the Samsung 840 PRO series SSD detection.mav2012-11-261-0/+8
| | | | | | | | The device reports support for SATA Asynchronous Notification in its IDENTIFY data, but returns error on attempt to enable that feature. Make SATA XPT of CAM only report these errors, but not fail the device. MFC after: 1 week
* drbr_enqueue() awlays consumes mbuf, no matter did itglebius2012-11-261-27/+13
| | | | | | | | | | | | | | | fail or not. The mbuf pointer is no longer valid, so can't be reused after. Fix igb_mq_start() where mbuf pointer was used after drbr_enqueue(). This eventually leads us to all invocations of igb_mq_start_locked() called with third argument as NULL. This allows us to simplify this function. Submitted by: Karim Fodil-Lemelin <fodillemlinkarim gmail.com> Reviewed by: jfv
* Re-initialize eh pointer after m_adj()glebius2012-11-261-0/+1
| | | | | Submitted by: Kohji Okuno <okuno.kohji jp.panasonic.com> Reviewed by: yongari
* Fix typo in weekly line which made it to rotated after reaching > 1 Kb.glebius2012-11-261-1/+1
| | | | | PR: conf/173857 Submitted by: Matt Smith <matt xtaz.co.uk>
* Add support for sctp_peeloff() also in the front states of thetuexen2012-11-261-6/+2
| | | | | | association. MFC after: 3 days
* Find the endpoint for an incoming packet also if the endpointtuexen2012-11-261-1/+2
| | | | | | comes from sctp_peeloff(). MFC after: 3 days
* Update manpage dates in zfs.8 and zpool.8mm2012-11-262-2/+2
| | | | MFC after: 2 weeks
* MFV r243395:mm2012-11-263-2/+36
| | | | | | | | | | | | | Introduce a new dataset aclmode setting "restricted" to protect ACL's being destroyed or corrupted by a drive-by chmod. illumos-gate 13889:a67716f16746 3254 add support in zfs for aclmode=restricted References: https://www.illumos.org/issues/3254 MFC after: 2 weeks
* Allow shutdown() to be used on fds returned from sctp_peeloff().tuexen2012-11-261-1/+2
| | | | MFC after: 3 days
* Provide an option to users to shoot themselves in the foot.eadler2012-11-268-7/+45
| | | | | | Reviewed by: bapt Approved by: cperciva MFC after: 1 month
* Use modern license instead of being consistent with the other pkg_ toolseadler2012-11-263-11/+25
| | | | | | | | | | | | Use a more informative message Fix some style(9) nits. Bump version number In pkg_add only warn users after the chroot is performed. Submitted by: gavin, jilles Reviewed by: beat, bapt Approved by: cperciva MFC after: 1 month
* - smbfs_rename() might return an error value without correctly upgradingdavide2012-11-262-2/+3
| | | | | | | | the vnode use count, and this might cause the kernel to panic if compiled with WITNESS enable. - Be sure to put the '\0' terminator to the rpath string. Sponsored by: iXsystems inc.
* Fix uninitialized variable reported by gcc, but not clang.mav2012-11-261-1/+1
|
* Remove extra sbuf_trim() copy/pasted into r243530.mav2012-11-261-1/+0
|
* Add a primitive to check if a lock is not owned.adrian2012-11-261-0/+2
|
* Add my mentor relationships to committers-ports.dotbar2012-11-251-0/+3
| | | | Approved by: flo (mentor)
* On multiple requests, compact HDA driver verbose output by hiding CODEC'smav2012-11-251-114/+325
| | | | | | detailed information under the sound debug. To make it easier accessible, export that information through the set of sysctls like dev.hdaa.X.nidY. Also tune some output to make it both more compact and informative.
* Make a few small changes to vm_map_pmap_enter():alc2012-11-251-9/+10
| | | | | | | | | | | | | | | | | | | | Add detail to the comment describing this function. In particular, describe what MAP_PREFAULT_PARTIAL does. Eliminate the abrupt change in behavior when the specified address range grows from MAX_INIT_PT pages to MAX_INIT_PT plus one pages. Instead of doing nothing, i.e., preloading no mappings whatsoever, map any resident pages that fall within the start of the specified address range, i.e., [addr, addr + ulmin(size, ptoa(MAX_INIT_PT))). Long ago, the vm object's list of resident pages was not ordered, so this function had to choose between probing the global hash table of all resident pages and iterating over the vm object's unordered list of resident pages. Now, the list is ordered, so there is no reason for MAP_PREFAULT_PARTIAL to be concerned with the vm object's count of resident changes. MFC after: 14 days
* Look for zombie process only if we were given process id.pjd2012-11-251-5/+6
| | | | | | Reviewed by: kib MFC after: 2 weeks X-MFC-after-or-with: 243142
* Print kernel args when booting the kernel.kientzle2012-11-251-0/+1
|
* Add loader(8) tunable to enable/disable nopwrite functionality:mm2012-11-251-1/+4
| | | | | | vfs.zfs.nopwrite_enabled MFC after: 2 weeks
* MFV r243013 and r243267:mm2012-11-2512-75/+363
| | | | | | | | | | | | | | | | | | Import the zio nop-write improvement from Illumos. To reduce I/O, nop-write omits overwriting data if the checksum (cryptographically secure) of new data matches the checksum of existing data. It also saves space if snapshots are in use. It currently works only on datasets with enabled compression, disabled deduplication and sha256 checksums. IllumOS 13887:196932ec9e6a and 13888:7204b3392a58 3236 zio nop-write References: https://www.illumos.org/issues/3236 MFC after: 2 weeks
* Fix spelling.kientzle2012-11-253-3/+3
|
* zfs_freebsd_reclaim: remove a stray variableavg2012-11-251-1/+0
| | | | | | | | ... which leaked from a subsequent local change. Unfortunately I noticed that only after commit. MFC after: 5 weeks X-MFC with: r243520
* zfs: overhaul zfs-vfs glue for vnode life-cycle managementavg2012-11-254-137/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * There is no need for the delayed destruction of znodes via taskqueue, now that we do not need to fear recursion from getnewvnode into zfs_inactive and zfs_freebsd_reclaim, thus making znode/vnode state machine a bit simpler. * More complete porting of zfs_inactive from Solaris VFS model to FreeBSD vop_inactive and vop_reclaim model. All destructive actions are done in zfs_freebsd_reclaim. This allows to simplify zfs_zget logic. * Allow zfs_zget to return a doomed vnode if the current thread already has an exclusive lock on the vnode. * Clean up Solaris-isms like bailing out of reclaim/inactive on certain values of v_usecount (aka v_count) or directly messing with this counter. * Do not clear z_vnode while znode is still accessible. z_vnode should be cleared only after zfs_znode_dmu_fini. Otherwise zfs_zget may get an effectively half-deconstructed znode. This allows to simplify zfs_zget logic further. The above changes fix at least two known/reported problems: o An indefinite wait in the following code path: vgone -> VOP_RECLAIM -> zfs_freebsd_reclaim -> vnode_destroy_vobject -> put_pages -> zfs_write -> zil_commit -> zfs_zget This happened because vgone marks a vnode as VI_DOOMED before calling VOP_RECLAIM, but zfs_zget would not return a doomed vnode under any circumstances. The fix in this change is not complete as it won't fix a deadlock between two threads doing VOP_RECLAIM where one thread is in zil_commit trying to zfs_zget a znode/vnode being reclaimed by the other thread, which would be blocked trying to enter zil_commit. This type of deadlock has not been reported as of now. o An indefinite wait in the unmount path caused by a znode "falling through the cracks" in inactive+reclaim. This would happen if the znode is unlinked while its vnode is still active. To Do: pass locking flags parameter to zfs_zget, so that the zfs-vfs glue code doesn't have to re-lock a vnode but could ask for proper locking from the very start. This would also allow for the higher level code to obtain a doomed vnode when it is expected/requested. Or to avoid blocking when it is not allowed (see zil_commit example above). ffs_vgetf seems like a good source of inspiration. Tested by: Willem Jan Withagen <wjw@digiware.nl> MFC after: 6 weeks
* zfs_fhtovp: there is no reason to amend lock flags with LK_RETRY hereavg2012-11-251-1/+1
| | | | MFC after: 12 days
* add zfs_bmap to aid vnode_pager_haspageavg2012-11-251-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... otherwise zfs_getpages would mostly be called with one page at a time. It is expected that ZFS VOP_BMAP is only called from vnode_pager_haspage. Since ZFS files can have variable block sizes and also because we don't really know if any given blocks are consecutive, we can not really report any additional blocks behind or ahead of a given block. Since physical block numbers do not make sense for ZFS, we do not do any real translation and thus pass back blk = lblk. The net effect is that vnode_pager_haspage knows that the block exists and that the pages backed by the block can be accessed. vnode_pager_haspage may be wrong about the exact count of the pages backed by the block, because of a variable block size, which vnode_pager_haspage doesn't really know - it only knows max block size in a filesystem. So pages from multiple blocks can be passed to zfs_getpages, but that is expected and correctly handled. vnode_pager should not call zfs_bmap for any other reason, because ZFS implements VOP_PUTPAGES and thus vnode_pager_generic_getpages is not used. vfs_cluster code vfs_bio code should not be called for ZFS, because ZFS does not use buffer cache layer. Also, ZFS does not use vn_bmap_seekhole, it has its prviate mechanism for working with holes. The above list should cover all the current calls to VOP_BMAP. Reviewed by: kib MFC after: 6 weeks
* zfs_getpages: optimize for large block sizesavg2012-11-251-23/+86
| | | | MFC after: 6 weeks
OpenPOWER on IntegriCloud