aboutsummaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* replace bit shifting loop with 1<<fls(n), improve comments.Alfred Perlstein2012-12-041-6/+4
| | | | | | | Reviewed by: davide Notes: svn path=/head/; revision=243853
* Methodise the BT diversity configuration function; so the AR9285Adrian Chadd2012-12-043-3/+12
| | | | | | | | | can correctly override it. This was missed in the previous commit. Notes: svn path=/head/; revision=243843
* Override the BT coex parameter function for the AR9285.Adrian Chadd2012-12-041-2/+3
| | | | Notes: svn path=/head/; revision=243842
* Reformat/reindent.Adrian Chadd2012-12-041-59/+70
| | | | Notes: svn path=/head/; revision=243841
* Add and tie in the AR5416 bluetooth coexistence methods into the HAL.Adrian Chadd2012-12-032-0/+26
| | | | Notes: svn path=/head/; revision=243840
* Add the AR5416/AR9285 bluetooth coexistence code into the main kernelAdrian Chadd2012-12-031-0/+6
| | | | | | | build. Notes: svn path=/head/; revision=243839
* Add the btcoex code into the module compilation.Adrian Chadd2012-12-031-3/+3
| | | | Notes: svn path=/head/; revision=243838
* Include if_ath_alq.c, which only gets actually compiled if ATH_DEBUG_ALQAdrian Chadd2012-12-031-1/+1
| | | | | | | is enabled. Notes: svn path=/head/; revision=243837
* Print the frame addresses for the backtraces on i386 and amd64. ItKonstantin Belousov2012-12-032-12/+22
| | | | | | | | | | | allows both to inspect the frame sizes and to manually peek into the frames from ddb, if needed. Reviewed by: dim MFC after: 2 weeks Notes: svn path=/head/; revision=243836
* The vnode_free_list_mtx is required unconditionally when iteratingKonstantin Belousov2012-12-031-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | over the active list. The mount interlock is not enough to guarantee the validity of the tailq link pointers. The __mnt_vnode_next_active() and __mnt_vnode_first_active() active lists iterators helper functions did not provided the neccessary stability for the list, allowing the iterators to pick garbage. This was uncovered after the r243599 made the active list iterators non-nop. Since a vnode interlock is before the vnode_free_list_mtx, obtain the vnode ilock in the non-blocking manner when under vnode_free_list_mtx, and restart iteration after the yield if the lock attempt failed. Assert that a vnode found on the list is active, and assert that the helpers return the vnode with interlock owned. Reported and tested by: pho MFC after: 1 week Notes: svn path=/head/; revision=243835
* Remove the sysctl process_limit interface, after someJack F Vogel2012-12-031-43/+7
| | | | | | | | | | | | | thought I've decided its overkill,a simple tuneable for each RX and TX limit, and then init sets the ring values based on that, should be sufficient. More importantly, fix a bug causing a panic, when changing the define style to IXGBE_LEGACY_TX a taskqueue init was inadvertently set #ifdef when it should be #ifndef. Notes: svn path=/head/; revision=243833
* Use SA_ZPL_CRTIME instead of SA_ZPL_CTIME for creation time.Xin LI2012-12-031-1/+1
| | | | | | | | Submitted by: phil.stone at gmx.com MFC after: 2 weeks Notes: svn path=/head/; revision=243807
* Fix make depend.Ulrich Spörlein2012-12-021-1/+1
| | | | Notes: svn path=/head/; revision=243801
* Fix bpf_if structure leak introduced in r235745.Alexander V. Chernikov2012-12-021-52/+66
| | | | | | | | | | Move all such structures to delayed-free lists and delete all matching on interface departure event. MFC after: 1 week Notes: svn path=/head/; revision=243799
* Run cscope with the -v parameter to make it more user-friendly.Rui Paulo2012-12-021-1/+1
| | | | Notes: svn path=/head/; revision=243796
* Add a few more translations from IDs to model name.Eitan Adler2012-12-022-0/+6
| | | | | | | | | Submitted by: "4721@hushmail.com" <4721@hushmail.com> Approved by: cperciva (implicit) MFC after: 2 weeks Notes: svn path=/head/; revision=243794
* Add support for hdmi hda codec onboard nvidia gt 440 graphics cardEitan Adler2012-12-022-0/+2
| | | | | | | | | | PR: kern/174059 Submitted by: "4721@hushmail.com" <4721@hushmail.com> Approved by: cperciva (implicit) MFC after: 2 weeks Notes: svn path=/head/; revision=243793
* Don't grab the PCU lock inside the TX lock.Adrian Chadd2012-12-021-2/+2
| | | | Notes: svn path=/head/; revision=243787
* Delete the per-TXQ locks and replace them with a single TX lock.Adrian Chadd2012-12-026-173/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I couldn't think of a way to maintain the hardware TXQ locks _and_ layer on top of that per-TXQ software queuing and any other kind of fine-grained locks (eg per-TID, or per-node locks.) So for now, to facilitate some further code refactoring and development as part of the final push to get software queue ps-poll and u-apsd handling into this driver, just do away with them entirely. I may eventually bring them back at some point, when it looks slightly more architectually cleaner to do so. But as it stands at the present, it's not really buying us much: * in order to properly serialise things and not get bitten by scheduling and locking interactions with things higher up in the stack, we need to wrap the whole TX path in a long held lock. Otherwise we can end up being pre-empted during frame handling, resulting in some out of order frame handling between sequence number allocation and encryption handling (ie, the seqno and the CCMP IV get out of sequence); * .. so whilst that's the case, holding the lock for that long means that we're acquiring and releasing the TXQ lock _inside_ that context; * And we also acquire it per-frame during frame completion, but we currently can't hold the lock for the duration of the TX completion as we need to call net80211 layer things with the locks _unheld_ to avoid LOR. * .. the other places were grab that lock are reset/flush, which don't happen often. My eventual aim is to change the TX path so all rejected frame transmissions and all frame completions result in any ieee80211_free_node() calls to occur outside of the TX lock; then I can cut back on the amount of locking that goes on here. There may be some LORs that occur when ieee80211_free_node() is called when the TX queue path fails; I'll begin to address these in follow-up commits. Notes: svn path=/head/; revision=243786
* Add an nfssvc() option to the kernel for the new NFS clientRick Macklem2012-12-025-2/+138
| | | | | | | | | | | which dumps out the actual options being used by an NFS mount. This will be used to implement a "-m" option for nfsstat(1). Reviewed by: alfred MFC after: 2 weeks Notes: svn path=/head/; revision=243782
* - Add support for Etron EJ168 USB 3.0 Host Controllers.Hans Petter Selasky2012-12-012-20/+52
| | | | | | | | | | | | | | | | This brand of controllers expects that the number of contexts specified in the input slot context points to an active endpoint context, else it refuses to operate. - Ring the correct doorbell when streams mode is used. - Wrap one or two long lines. Tested by: Markus Pfeiffer (DragonFlyBSD) MFC after: 1 week Notes: svn path=/head/; revision=243780
* ioapic_program_intpin: program high bits before low bitsAndriy Gapon2012-12-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | Programming the low bits has a side-effect if unmasking the pin if it is not disabled. So if an interrupt was pending then it would be delivered with the correct new vector but to the incorrect old LAPIC. This fix could be made clearer by preserving the mask bit while programming the low bits and then explicitly resetting the mask bit after all the programming is done. Probability to trip over the fixed bug could be increased by bootverbose because printing of the interrupt information in ioapic_assign_cpu lengthened the time window during which an interrupt could arrive while a pin is masked. Reported by: Andreas Longwitz <longwitz@incore.de> Tested by: Andreas Longwitz <longwitz@incore.de> MFC after: 12 days Notes: svn path=/head/; revision=243764
* zfs_getpages: make use of vm_page_readahead_finishAndriy Gapon2012-12-011-20/+4
| | | | | | | | Suggested by: kib MFC after: 5 days Notes: svn path=/head/; revision=243763
* gfs_file_inactive: replace bad code with ugly codeAndriy Gapon2012-12-011-4/+7
| | | | | | | | | | | | | | | | | | | | | Also, make it explicit that V_XATTRDIR is not properly supported in gfs code yet. The bad code was plain incorrect: (a) it spoiled handling of v_usecount reaching zero and (b) it leaked v_holdcnt. The ugly code employs potentially unsafe locking tricks. Ideally we should separate vnode lifecycle and gfs node lifecycle. A gfs node should have its own reference count where its child nodes should be accounted. PR: kern/151111 Reviewed by: kib MFC after: 13 days Notes: svn path=/head/; revision=243762
* acpi_cpu_notify: disable acpi_cpu_idle while updating C-state dataAndriy Gapon2012-12-011-7/+15
| | | | | | | | | | | | | | | ... to avoid any races or inconsistencies. This should fix a regression introduced in r243404. Also, remove a stale comment that has not been true for quite a while now. Pointyhat to: avg Teested by: trociny, emaste, dumbbell (earlier version) MFC after: 1 week Notes: svn path=/head/; revision=243761
* acpi_cpu: change cpu_disable_idle to be a per-cpu flag...Andriy Gapon2012-12-011-17/+53
| | | | | | | | | | | and make it safe to manipulate and check the flag With help from: jhb Tested by: trociny, emaste, dumbbell MFC after: 1 week Notes: svn path=/head/; revision=243760
* Merge OpenBSM 1.2-alpha2 changes from contrib/openbsm toRobert Watson2012-12-015-11/+64
| | | | | | | | | | | | src/sys/{bsm,security/audit}. There are a few tweaks to help with the FreeBSD build environment that will be merged back to OpenBSM. No significant functional changes appear on the kernel side. Obtained from: TrustedBSD Project Sponsored by: The FreeBSD Foundation (auditdistd) Notes: svn path=/head/; revision=243751
* Fix one more compilation issue.Pawel Jakub Dawidek2012-12-011-2/+2
| | | | Notes: svn path=/head/; revision=243746
* IFp4 @219811:Pawel Jakub Dawidek2012-12-011-3/+1
| | | | | | | VFS is now fully MPSAFE, fix compilation. Notes: svn path=/head/; revision=243745
* Add a new HAL capability - check and enforce whether the NIC supportsAdrian Chadd2012-12-012-0/+18
| | | | | | | | | | | | | enforcing the TXOP and TBTT limits: * Frames which will overlap with TBTT will not TX; * Frames which will exceed TXOP will be filtered. This is not enabled by default; it's intended to be enabled by the TDMA code on 802.11n capable chipsets. Notes: svn path=/head/; revision=243743
* Patch #12 OK, I said there was only 11 patches, but unfortunatelyJack F Vogel2012-12-011-22/+42
| | | | | | | | | the revamped sysctl code did not work, and needed a change. This makes the limit get set at the time that all sysctl stats are created and is actually more elegant imho anyway. Notes: svn path=/head/; revision=243741
* Remove duplicate code. Reduce diff between amd64 and i386.Jung-uk Kim2012-12-012-31/+26
| | | | Notes: svn path=/head/; revision=243737
* Patch #11 - The final patch: this one greatly improves theJack F Vogel2012-12-012-84/+86
| | | | | | | | | | | | | TX hot path by getting rid of index calculations and simply managing pointers. Much of the creative code is due to my coworker here at Intel, Alex Duyck, thanks Alex! Also, this whole series of patches was given the critical eye of Gleb Smirnoff and is all the better for it, thanks Gleb! Notes: svn path=/head/; revision=243736
* Patch #10 Performance - this changes the protocol offloadJack F Vogel2012-12-011-52/+46
| | | | | | | | interface and code in the TX path,making it tighter and hopefully more efficient. Notes: svn path=/head/; revision=243735
* Patch #9 Performance - improve the tx dma failureJack F Vogel2012-11-301-25/+22
| | | | | | | path, similar to a change done in igb long ago. Notes: svn path=/head/; revision=243733
* Patch #8 Performance changes - this one improves locality,Jack F Vogel2012-11-302-57/+58
| | | | | | | | | moving some counters and data to the ring struct from the adapter struct, also compressing some data in the move. Notes: svn path=/head/; revision=243729
* Patch #7 This is primarily about processing limit control.Jack F Vogel2012-11-302-17/+28
| | | | | | | | | | | | | | | - add a limit for both RX and TX, change the default to 256 - change the sysctl usage to be common, and now to be called during init for each ring. - the TX limit is not yet used, but the changes in the last patch in this series uses the value. - the motivation behind these changes is to improve data locality in the final code. - rxeof interface changes since it now gets limit from the ring struct Notes: svn path=/head/; revision=243728
* IFp4 @208452:Pawel Jakub Dawidek2012-11-301-7/+11
| | | | | | | | | | | | | | | | Audit handling for missing events: - AUE_READLINKAT - AUE_FACCESSAT - AUE_MKDIRAT - AUE_MKFIFOAT - AUE_MKNODAT - AUE_SYMLINKAT Sponsored by: FreeBSD Foundation (auditdistd) MFC after: 2 weeks Notes: svn path=/head/; revision=243727
* IFp4 @208451:Pawel Jakub Dawidek2012-11-306-34/+50
| | | | | | | | | | | | | | | | | | | | | | Fix path handling for *at() syscalls. Before the change directory descriptor was totally ignored, so the relative path argument was appended to current working directory path and not to the path provided by descriptor, thus wrong paths were stored in audit logs. Now that we use directory descriptor in vfs_lookup, move AUDIT_ARG_UPATH1() and AUDIT_ARG_UPATH2() calls to the place where we hold file descriptors table lock, so we are sure paths will be resolved according to the same directory in audit record and in actual operation. Sponsored by: FreeBSD Foundation (auditdistd) Reviewed by: rwatson MFC after: 2 weeks Notes: svn path=/head/; revision=243726
* Patch #6 Whitespace cleanup, and removal of some very oldJack F Vogel2012-11-302-44/+36
| | | | | | | | | | | defines (at Gleb's request). Also, change the defines around the old transmit code to IXGBE_LEGACY_TX, I do this to make it possible to define this regardless of the OS level (it is not defined by default). There are also a couple changed comments for clarity. Notes: svn path=/head/; revision=243725
* Patch #5 Cleanup unused IEEE1588 code fragments, the day mayJack F Vogel2012-11-302-11/+1
| | | | | | | | come when this feature gets implemented, but its not here yet and I see no reason to leave this laying around. Notes: svn path=/head/; revision=243724
* IFp4 @208383:Pawel Jakub Dawidek2012-11-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | Currently when we discover that trail file is greater than configured limit we send AUDIT_TRIGGER_ROTATE_KERNEL trigger to the auditd daemon once. If for some reason auditd didn't rotate trail file it will never be rotated. Change it by sending the trigger when trail file size grows by the configured limit. For example if the limit is 1MB, we will send trigger on 1MB, 2MB, 3MB, etc. This is also needed for the auditd change that will be committed soon where auditd may ignore the trigger - it might be ignored if kernel requests the trail file to be rotated too quickly (often than once a second) which would result in overwriting previous trail file. Sponsored by: FreeBSD Foundation (auditdistd) MFC after: 2 weeks Notes: svn path=/head/; revision=243723
* IFp4 @208382:Pawel Jakub Dawidek2012-11-301-8/+15
| | | | | | | | | | | | | | | | | | | Currently on each record write we call VFS_STATFS() to get available space on the file system as well as VOP_GETATTR() to get trail file size. We can assume that trail file is only updated by the audit worker, so instead of asking for file size on every write, get file size on trail switch only (it should be zero, but it's not expensive) and use global variable audit_size protected by the audit worker lock to keep track of trail file's size. This eliminates VOP_GETATTR() call for every write. VFS_STATFS() is satisfied from in-memory data (mount->mnt_stat), so shouldn't be expensive. Sponsored by: FreeBSD Foundation (auditdistd) MFC after: 2 weeks Notes: svn path=/head/; revision=243722
* Patch #4 - this does two things, it removes a number of statistics,Jack F Vogel2012-11-301-28/+7
| | | | | | | | | | | | these are FCOE stats (fiber channel over ethernet), something that FreeBSD does not yet have, they were mistaken for flow control by the implementor I believe. Secondly, the real flow control stats are oddly named with a 'link' tag on the front, it was requested by my validation engineer to make these stats have the same name as the igb driver for clarity and that seemed reasonable to me. Notes: svn path=/head/; revision=243721
* IFp4 @208381:Pawel Jakub Dawidek2012-11-301-1/+1
| | | | | | | | | | For VOP_GETATTR() we just need vnode to be shared-locked. Sponsored by: FreeBSD Foundation (auditdistd) MFC after: 2 weeks Notes: svn path=/head/; revision=243720
* IFp4 @208450:Pawel Jakub Dawidek2012-11-301-1/+0
| | | | | | | | | | | Remove redundant call to AUDIT_ARG_UPATH1(). Path will be remembered by the following NDINIT(AUDITVNODE1) call. Sponsored by: FreeBSD Foundation (auditdistd) MFC after: 2 weeks Notes: svn path=/head/; revision=243719
* Patch #3 - Add a new ioctl to access SFP+ module diagnosticJack F Vogel2012-11-302-2/+28
| | | | | | | data via the I2C routines in shared code. Notes: svn path=/head/; revision=243718
* Patch #2 - remove OACTIVE and DEPLETED notions from theJack F Vogel2012-11-302-44/+13
| | | | | | | | | multiqueue code, this functionality has proven to be more trouble than it was worth. Thanks to Gleb for a second critical look over my code and help in the patches! Notes: svn path=/head/; revision=243716
* First of a series of 11 patches leading to new ixgbe version 2.5.0Jack F Vogel2012-11-303-314/+111
| | | | | | | This removes the header split and supporting code from the driver. Notes: svn path=/head/; revision=243714
* Use volatile keywords properly.Jung-uk Kim2012-11-302-22/+22
| | | | Notes: svn path=/head/; revision=243712