‚’a224912 88 677 301 434 375 1156 251 362 584 1184 364 2381 226 291 117 719 112 197 118 1785 199 180 157 273 208 191 245 275 143 308 228 303 123 136 391 142 497 308 227 600 600 1806 260 314 222 139 448 335 359 170 136 136 192 228 2231 333 231 149 101 121 201 277 283 328 514 128 154 296 214 318 133 167 129 136 154 414 1309 175 434 135 385 182 490 176 1384 119 133 129 622 K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-16T14:25:41.199596Z K 7 svn:log V 581 Begin to modify the ath rate path to use the stuff hiding in ath_buf now, rather than passing around all these extra fields. The (eventual) aim is to fully setup ath_buf.bf_state.bfs_rc with the legacy rate code information, then populate the rate series stuff as needed. Then legacy chips can use the bfs_rc rates, and 11n chipsets can use the rate series (which will also be set for legacy rates.) TODO: making sure the short preamble flag is set correctly everywhere. This commit doesn't fully fix onoe/amrr to use the new API, I must do that before I merge this into -HEAD. END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2011-08-16T19:46:13.084384Z K 7 svn:log V 206 sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c: When attaching to a vdev by GUIDs, verify both the pool and vdev GUIDS instead of just the vdev GUID. Sponsored by: Spectra Logic Corporation END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-08-16T20:07:47.842060Z K 7 svn:log V 341 Add the fo_chown and fo_chmod methods to struct fileops and use them to implement fchown(2) and fchmod(2) support for several file types that previously lacked it. Add MAC entries for chown/chmod done on posix shared memory and (old) in-kernel posix semaphores. Based on the submission by: glebius Reviewed by: rwatson Approved by: re (bz) END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-08-16T20:13:17.395407Z K 7 svn:log V 282 Do not return success and a string "unknown" when vn_fullpath() was unable to resolve the path of the text vnode of the process. The behaviour is very confusing for any consumer of the procfs, in particular, java. Reported and tested by: bf MFC after: 2 weeks Approved by: re (bz) END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2011-08-16T20:29:03.286879Z K 7 svn:log V 1060 Modify the geom vdev provider's open behavior so that it will only unconditionally open a device by path if the open is part of a pool create, pool split, or device add operation, and a search of all known geom provider's label data doesn't yield a device with matching pool and vdev GUIDs. This fixes a bug where the wrong disk could be associated with a vdev's configuration data when device devfs paths change due to insert and remove events. While, ZFS detects this kind of coding mixup and immediately flags the device as faulted before the confusion can cause permanent data loss, a reboot was necessary in order to resurrect the configuration. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c: Modify the open behavior to: - Open by recorded device path with GUID matching - If that fails, search all geom providers for a device with matching GUIDs. - If that fails and we are opening a "new to a pool configuration" vdev, open by path. - Otherwise fail the open. Sponsored by: Spectra Logic Corporation END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-16T21:04:04.522932Z K 7 svn:log V 153 Update LibUSB v1.0 manual page: - fix some minor spelling - fix some style - add description of new function MFC after: 1 week Approved by: re (kib) END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2011-08-16T21:04:18.304303Z K 7 svn:log V 266 Fix the handling of [gs]etsockopt() unconnected 1-to-1 style sockets. While there: * Fix a locking issue in setsockopt() of SCTP_CMT_ON_OFF. * Fix a bug in setsockopt() of SCTP_DEFAULT_PRINFO, where the pr_value was ignored. Approved by: re@ MFC after: 2 months. END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-16T21:51:29.787399Z K 7 svn:log V 491 Always check current HPET counter value after comparator programming to avoid lost timer interrupts. Previous optimization attempt doing it only for intervals less then 5000 ticks (~300us) reported to be unreliable by some people. Probably because of some heavy SMI code on their boards. Introduce additional safety interval of 128 counter ticks (~9us) between programmed comparator and counter values to cover different cases of delayed write found on some chipsets. Approved by: re (kib) END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2011-08-16T22:20:45.272103Z K 7 svn:log V 1088 Close several race conditions in the ZFS vdev geom module, most triggered by concurrent ZFS reprobe and GEOM orphan processing. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c: o Make vdev_geom_close() synchronous instead of deferring its work to a GEOM event handler. This prevents a future open call from referencing a consumer that is scheduled for destruction. o Move initialization of the consumer private pointer (which references the ZFS vdev object using this consumer) into vdev_geom_attach(). This guarantees that an orphan event received during the small windows where the topology lock is dropped in open processing, is effective in marking a vdev as needing to be removed. o Move clearing of the consumer private pointer from vdev_geom_close() into vdev_geom_detach(). When vdev_geom_open() fails, vdev_geom_detach is called directly, which used to bypass this necessary step. o Modify vdev_geom_orphan handler to ignore a consumer that that is no longer associated with a vdev. Sponsored by: Spectra Logic Corporation END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2011-08-16T22:33:05.967999Z K 7 svn:log V 269 sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c: Subscribe to attribute change notifications and update vdev physical path information (in core and on disk) when a GEOM::physpath event indicates they have changed. Sponsored by: Spectra Logic Corporation END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2011-08-16T23:47:53.421205Z K 7 svn:log V 2285 Add ZFSD, a ZFS fault management daemon. This daemon has the following features: o When a vdev for an active pool is inserted into the system, it will re-integrate it with the pool. o When an unlabeled or inactive disk is inserted into the same physical location as a missing member of a pool with the "autoreplace" attribute set, the inserted disk will be used to replace the missing disk. o When the cumulative soft-error count for a vdev exceeds 50 errors, the vdev will be marked degraded, alerting users to a potential problem. The error counts are persisted across reboots. The daemon is written to be easily extended for more advanced fault management policies and to handle new features such as spare pool management. cddl/sbin/zfsd/zpool_list.cc: cddl/sbin/zfsd/zpool_list.h: ZpoolList is a standard container allowing filtering and iteration of imported ZFS pool information. cddl/sbin/zfsd/callout.cc: cddl/sbin/zfsd/callout.h: Timer services built on top of the POSIX interval timer API. cddl/sbin/zfsd/vdev.cc: cddl/sbin/zfsd/vdev.h: Wrapper class used to provide easy access to Vdev nvlist data. cddl/sbin/zfsd/zfsd.cc: cddl/sbin/zfsd/zfsd.h: Daemon main, devctl socket handling, and global application state exported through the ZfsDaemon singleton. cddl/sbin/zfsd/case_file.cc: cddl/sbin/zfsd/case_file.h: CaseFile objects aggregate vdev faults that may require ZFSD action in order to maintain the health of a ZFS pool. They also handle serialization/deserialization of fault data to persistent storage. cddl/sbin/zfsd/vdev_iterator.cc: cddl/sbin/zfsd/vdev_iterator.h: Helper class for traversing and finding vdev objects within a pool configuration. cddl/sbin/zfsd/dev_ctl_event.cc: cddl/sbin/zfsd/dev_ctl_event.h: Class hierarchy used to express events received via the devctl API. cddl/sbin/zfsd/zfsd_exception.cc: cddl/sbin/zfsd/zfsd_exception.h: Definition of exceptions explicitly thrown by ZFSD. cddl/sbin/zfsd/Makefile: cddl/sbin/Makefile: Add zfsd to the build. etc/rc.d/zfsd: Rc script for ZFSD. etc/defaults/rc.conf: ZFSD defaults, just like ZFS, to being disabled. etc/mtree/BSD.root.dist: Create the etc/zfs/cases directory used to store persistent fault data. Sponsored by: Spectra Logic Corporation END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T02:01:37.454466Z K 7 svn:log V 130 Break out the rate setup code into a new function, ath_tx_set_ratectrl(), which programs the 11n or non-11n rate setup as needed. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T03:04:02.595953Z K 7 svn:log V 195 Break out the descriptor and rate control programming and place them in ath_tx_start(). This means the descriptor setup should now be able to be delayed until packet scheduling to the hardware. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T03:44:47.845901Z K 7 svn:log V 22 Update my TODO/README END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T06:21:34.206120Z K 7 svn:log V 623 Modify how/when the frame descriptor is being setup. For packets being immediately queued to the hardware, setup the descriptor before handing it off to the hardware. For packets being queued to the per-TID software queue, defer setting up the descriptor details (setup, rate control, chaining) until the packet is about to be queued to the hardware. This way, packet aggregation (RIFS burst, A-MPDU) can setup the descriptor list as needed. The only downside at the moment is that the rate control decision is done (very) early on. I'll fix this at a later stage so software retries can use different rates as needed. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T07:52:14.428747Z K 7 svn:log V 17 Fix a silly typo END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T07:53:05.686382Z K 7 svn:log V 101 In preparation for the aggregate list creation code, move some needed code/defines into public view. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T08:27:11.703993Z K 7 svn:log V 23 Add another HAL method END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T09:02:58.207676Z K 7 svn:log V 1688 This is another "too much going on in one commit for my own good" commits. The stuff in progress, which shouldn't affect anything: * Begin fleshing out the aggregate list creation function, untested * Rename some of the aggregate response functions to indicate they're handling individual, non-aggregate frames when in aggregation mode. * make ath_tx_aggr_comp() now call either the aggr_comp_aggr() for an aggregate frame list, or aggr_comp_unaggr() for a single frame. The important change which could break things, but is needed: * add ath_buf->bf_lastds, which points to the descriptor in the last frame in the list. Now, the reasoning. The TX descriptor status is in the _last_ descriptor in a list. For a single frame w/ a single TX descriptor, it's also the first descriptor. For a single frame w/ multiple TX descriptors, it's the last descriptor in the frame. For an aggregate list w/ multiple TX descriptors, it's the first descriptor in the -last- subframe. Ie, NOT the very last descriptor. The (upcoming) aggregate scheduling function will thus have to set ds->lastds to the first descriptor in the last buffer. The point is, bf->bf_lastds needs to be correct for setting the rate control stuff (which uses bf_lastds to hide a copy of the rate information in the last descriptor in the chain) and for completion status checking. TODO: although linux and the reference code seem to use the above, I really should double-check that this is correct before trying to TX aggregate frames. TODO: see whether that use of lastds in ath_buf_set_rate() is needed for the hardware, or for hiding a copy of the rate settings used, to be used by the rate control code. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T09:06:05.847214Z K 7 svn:log V 103 * Fix a busted locking call I just introduced * Fix a potential LOR when fiddling with the mcastq/cabq END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T09:40:52.863212Z K 7 svn:log V 85 Extract out the TID field from the TX completion status. Obtained from: Linux ath9k END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T09:44:15.630607Z K 7 svn:log V 62 Flesh out a completely untested aggregate completion handler. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T09:52:34.749025Z K 7 svn:log V 177 Flesh out the aggregate cleanup function. Again, untested. Fix the aggregate single-packet cleanup function - call the completion handler before potentially kicking the queue. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-08-17T12:37:14.164993Z K 7 svn:log V 115 Fix build breakage. Initialize error variables explicitely for !MAC case. Pointy hat to: kib Approved by: re (bz) END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2011-08-17T13:02:50.130416Z K 7 svn:log V 95 Fix build failure without BPF. Reported by: deeptech71 at gmail dot com Approved by: re (kib) END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-17T13:56:33.479340Z K 7 svn:log V 150 - Fix handling of environmental variables when they are set to empty string Submitted by: ttsestt@gmail.com Approved by: re (kib), delphij (mentor) END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-17T13:58:39.250061Z K 7 svn:log V 180 - Fix exclusion of directories from a recursive search - Use FTS_SKIP for exclusion instead of custom code Submitted by: ttsestt@gmail.com Approved by: re (kib), delphij (mentor) END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-17T14:08:02.124444Z K 7 svn:log V 49 - Introduce a public interface for fast matching END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T14:28:58.934172Z K 7 svn:log V 212 Add two new 11n methods - aggr middle and aggr last. This matches the HAL routines in ath9k and the reference driver. There's some duplicate and unused code though; I'll do a subsequent pass to prune those out. END K 10 svn:author V 8 deischen K 8 svn:date V 27 2011-08-17T14:29:33.093635Z K 7 svn:log V 130 MFC r218627 Allow SO_SETFIB to select/set the default routing table. Requested by: Andrew Boyer aboyer at averesystems dot com. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-17T14:39:45.965417Z K 7 svn:log V 210 Fix a regression where a rule containing a source port option after a destination IP would incorrectly display the source port as a destination port. Reviewed by: luigi Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T15:13:07.347925Z K 7 svn:log V 28 Comment what SHOULD happen. END K 10 svn:author V 2 jh K 8 svn:date V 27 2011-08-17T15:19:25.627673Z K 7 svn:log V 45 MFC r218410: Handle EOF when skipping lines. END K 10 svn:author V 2 jh K 8 svn:date V 27 2011-08-17T15:22:58.282543Z K 7 svn:log V 299 MFC r218411: - Use LINE_MAX from limits.h as the maximum line length instead of BUFSIZ. Use LINE_MAX * 2 as the buffer size (BSIZE). - Error out if we encounter a line longer than LINE_MAX. The previous behavior was to silently split long lines and produce corrupted output. PR: bin/151384 END K 10 svn:author V 2 jh K 8 svn:date V 27 2011-08-17T15:24:25.197990Z K 7 svn:log V 51 MFC r219038: Document the input line length limit. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T15:45:40.676905Z K 7 svn:log V 401 Fix some BAW brokenness introduced by previous commits. The BAW tracking was completely broken. ath_tx_swq() was blanking the BAW flag in the ath_buf, thus no frames were ever thrown into the BAW tracking code. This restores the BAW tracking functionality but there's again a race between the pre-ADDBA sequence numbers and the post-ADDBA BAW. I'll look into this and fix it in a subsequent commit. END K 10 svn:author V 5 gavin K 8 svn:date V 27 2011-08-17T17:04:43.483969Z K 7 svn:log V 213 Merge r211908 from head (originally by jfv): Add Intel Cougar Point PCH LPC Controller Device IDs for watchdog support. Also add additional Intel Ibex Peak (5 Series/3400 Series) PCH IDs. PR: kern/159800 END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-17T19:43:41.628612Z K 7 svn:log V 134 Update ata(4) manual page, reflecting migration to CAM-based ATA stack (`options ATA_CAM` enabled by default). Approved by: re (kib) END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2011-08-17T20:43:59.824561Z K 7 svn:log V 502 MFC: r224604 Fix a LOR in the NFS client which could cause a deadlock. This was reported to the mailing list freebsd-net@freebsd.org on July 21, 2011 under the subject "LOR with nfsclient sillyrename". The LOR occurred when nfs_inactive() called vrele(sp->s_dvp) while holding the vnode lock on the file in s_dvp. This patch modifies the client so that it performs the vrele(sp->s_dvp) as a separate task to avoid the LOR. This fix was discussed with jhb@ and kib@, who both proposed variations of it. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2011-08-17T20:55:56.759779Z K 7 svn:log V 502 MFC: r224606 Fix a LOR in the NFS client which could cause a deadlock. This was reported to the mailing list freebsd-net@freebsd.org on July 21, 2011 under the subject "LOR with nfsclient sillyrename". The LOR occurred when nfs_inactive() called vrele(sp->s_dvp) while holding the vnode lock on the file in s_dvp. This patch modifies the client so that it performs the vrele(sp->s_dvp) as a separate task to avoid the LOR. This fix was discussed with jhb@ and kib@, who both proposed variations of it. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-17T23:59:55.229400Z K 7 svn:log V 1709 Close up any BAW races as much as possible; document the current problem and the workaround. In the first cut of this code, packet scheduling (ie, stuffing into a software or hardware TXQ) occured in the same context as the serialised TX from the net80211/netif code. When addba was set, the TID could be paused, and anything queued into the software queue would sit there and wait. Once the TID was unpaused, all those queued packets with sequence numbers would fall into an aggregate TID, and their sequence numbers would happily fall into the BAW. Now, packet scheduling occurs in the task context rather than the TX context. So when the TID is paused, any currently running packet scheduler/queue function in the ath task may be running concurrently. So it's possible that some packets would be dumped to the hardware before the TID pause value was checked. This commit (mostly) fixes the races in checking the TID paused flag. It doesn't check for races when forming aggregates; I'll worry about that later when I'm actively making aggregate frames. But as the TID isn't being locked for the entire duration of the packet scheduling and hardware queue, it's quite possible one will leak by between when TID->paused is set, and the next time it's checked. I'm also "sliding" the left edge of the BAW along to match whatever sequence numbers net80211 assigns between addba being setup and addba being actually enabled. The (likely) correct way to handle this is to queue frames during addba setup for this TID as aggregates without creating sequence numbers for them. If the TID pause is handled correctly, this should occur. This needs to be revisited and fixed before the code is merged into -HEAD. END K 10 svn:author V 4 zack K 8 svn:date V 27 2011-08-18T00:05:09.296828Z K 7 svn:log V 166 MFC r224637: Fix an NFS server issue where it was not correctly setting the eof flag when a READ had hit the end of the file. Also, clean up some cruft in the code. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T00:19:12.349229Z K 7 svn:log V 218 In preparation for forming aggregates, push the descriptor setup and descriptor chain code into the software queue routine, and leave setting the rate control stuff until the packet is actually queued to the hardware. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T00:31:08.418609Z K 7 svn:log V 126 Update with a nice, long description of what I have to do to fix the initial burst of packets after addba negotiation begins. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T03:44:32.017268Z K 7 svn:log V 44 Fix a locking bug I introduced in the past. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T04:39:29.915805Z K 7 svn:log V 352 Detaching the STA VAP causes a station disassociate frame to be sent. This ends up being queued on a TX node that is then being freed, leading to a node sticking around whose vap state is now invalid. For now, just force another hardware and software TXQ flush. Later on, investigate why this is the case as this doesn't occur in the normal ath tree. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T04:44:41.891751Z K 7 svn:log V 239 Whilst auditing the code, I've found that my shuffling of ATH_BUF_BUSY handling is incorrect. Since this'll break the TDMA code (and I'd rather not do that), just leave a note for it to be revisited before this is merged back into -HEAD. END K 10 svn:author V 2 mm K 8 svn:date V 27 2011-08-18T07:34:11.387073Z K 7 svn:log V 267 MFC r224605: Fix panic in zfs_read() if IO_SYNC flag supplied by checking for zfsvfs->z_log before calling zil_commit(). [1] Do not call zfs_read() from zfs_getextattr() with the IO_SYNC flag. Submitted by: Alexander Zagrebin [1] Reviewed by: pjd END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-18T08:25:27.031591Z K 7 svn:log V 73 MFC r224777: Use synchronous device destruction instead of asynchronous. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T08:40:11.052733Z K 7 svn:log V 41 Fix a typo; shuffle things around a bit. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T08:42:39.161894Z K 7 svn:log V 41 More updates, the LORs have mostly gone. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T08:45:35.344142Z K 7 svn:log V 97 Clear bf_next when a buffer is recycled, just to ensure things aren't pointing to random memory. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T08:58:10.042897Z K 7 svn:log V 132 To bring this in line with other function calls, use the cipher field stored in the HAL state, rather than the explictly given one. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T09:18:39.412150Z K 7 svn:log V 2134 Flip on TX aggregate formation. No, it doesn't quite work. * Push ath_tx_setds() and ath_tx_chaindesc() back to where I had it - ie, setup just before the buffer was queued to the hardware. * Use the 11n aggregate form methods from Sam's HAL, rather than the added methods from linux/reference code. I'm still unsure which to use for now, but those methods do seem to work. the chaindesc method knows about sub-frames _and_ segments of a sub-frame; the Linux/reference code seem to assume that a TX'ed aggregate sub-frame will only take up one skb. (Or there's something else subtle going on that I haven't quite understood.) * Modify ath_tx_form_aggr() to only form the aggregate buffer list; it doesn't link the descriptors together or do any descriptor setup. * Write ath_tx_setds_11n() which sets up an aggregate descriptor set. This sets up the first/last descriptors as appropriate as well as chaining the subframes together. * Teach the aggregate scheduler function to use ath_tx_form_aggr(), then based on the result of that process, either send a single-packet (which is known to be inside the BAW), or fire off an aggregate frame list to the hardware. * Add some debugging to try and figure out what's going on. As it stands, the TX path halts very quickly. It looks like some completion handling is incorrect, as the TX stops because the BAW tracking becomes out of whack. If I disable this (ie, treat all packets as ACKed and not retry anything), TX is slow (on the order of a few megabits/sec) but the hardware doesn't lock up; so it's likely the descriptor fiddling is functioning mostly correctly. Unfortunately, I don't yet have a clear picture how I'm supposed to setup multi-segment frames inside an aggregate. As mentioned above, Linux/reference code both seem to assume an aggregate subframe fits in a whole skb. (Yes, the receive-side does indeed indicate the frames received were A-MPDU frames. No, I haven't even begun to dig deeply into the aggregate setup to see if I've done everything completely correctly. No, don't expect to use this in STA/Hostap mode just yet.) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T13:00:41.974401Z K 7 svn:log V 237 Fix the order of shifting items around the buf lists - it has to be removed from the list first before added to another. Doing it in the reverse order just ends up getting stuck in an infinite loop. Fix some debugging whilst I'm at it. END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-18T13:33:34.785521Z K 7 svn:log V 138 Fix headphones pin configuration on Lenovo B450 laptop. Submitted by: "Sergey V. Dyatko" Approved by: re (kib) END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T14:11:03.139825Z K 7 svn:log V 55 - Properly pass pattern length to underlying functions END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T15:12:39.860747Z K 7 svn:log V 8 - Style END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T15:13:08.622923Z K 7 svn:log V 27 - Add REG_STARTEND support END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T15:31:31.957906Z K 7 svn:log V 106 - Support REG_PEND in the fast matching functions - Fall back to strlen() when the end pointer is invalid END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2011-08-18T16:00:32.874562Z K 7 svn:log V 176 Fix a bug that prevented docsinstall from being able to use DNS in most cases and provide a better error handling mechanism during package installation. Approved by: re (kib) END K 10 svn:author V 3 ken K 8 svn:date V 27 2011-08-18T16:07:41.590823Z K 7 svn:log V 190 Set the max_lun field in the path inquiry CCB for the mps(4) driver to 8. This allows LUNs greater than 0 to be probed. The value can be increased later if need be. Approved by: re (kib) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T16:19:26.058312Z K 7 svn:log V 232 As much as I've been wanting to avoid this, convert STAILQ->TAILQ. There's at least one instance where I need to traverse the list in reverse order, and that's impossible with a STAILQ. It also makes TID schedule/unschedule O(1). END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-18T16:36:26.422001Z K 7 svn:log V 418 ath_hal_setupfirsttxdesc() sets the first TX descriptor fields but it doesn't overwrite them. ath_hal_chaintxdesc() initialises the TX descriptor fields. Calling setupfirsttxdesc() -before- chaintxdesc() meant various fields were being overwritten, blanking a bunch of needed fields (such as flags.) This allows TX aggregate DMA to proceed a little further, but things are still pausing due to BAW tracking issues. END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T16:44:42.064992Z K 7 svn:log V 34 - Create a directory for BSD grep END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T16:45:23.244703Z K 7 svn:log V 60 - Create a private branch of BSD grep for local development END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2011-08-18T16:54:04.099092Z K 7 svn:log V 200 Allow release generation from a WORLDDIR that is not /usr/src PR: misc/159666 Submitted by: Test Rat Reviewed by: Nathan Whitehorn Approved by: re (kib) END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T16:57:51.160223Z K 7 svn:log V 119 - Add $FreeBSD$ id to files in /usr/include - Remove the license text from header files as they usually do not have it END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T17:09:10.277004Z K 7 svn:log V 223 - Backport the fast matching algorithm from TRE that has been written during this summer as a part of GSoC 2011. This only improves the performance slightly but expected to be much better tested and much more robust. END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T17:12:01.634955Z K 7 svn:log V 39 - Submatches are actually never needed END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T17:53:19.122849Z K 7 svn:log V 73 - Pass the pattern length to the matcher instead of calculating it twice END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T17:54:33.165401Z K 7 svn:log V 35 - Revert r224981; it was incorrect END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-18T18:15:14.234469Z K 7 svn:log V 42 - Kepp things clean Pointyhat to: obrien END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2011-08-18T18:15:59.321936Z K 7 svn:log V 59 Pay no attention to this directory, in here madness waits. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-18T22:20:45.513894Z K 7 svn:log V 321 One of the general principles of the sysctl(3) API is that a user can query the needed size for a sysctl result by passing in a NULL old pointer and a valid oldsize. The kern.proc.args sysctl handler broke this assumption by not calling SYSCTL_OUT() if the old pointer was NULL. Approved by: re (kib) MFC after: 3 days END K 10 svn:author V 8 jonathan K 8 svn:date V 27 2011-08-18T22:51:30.740835Z K 7 svn:log V 1210 Add experimental support for process descriptors A "process descriptor" file descriptor is used to manage processes without using the PID namespace. This is required for Capsicum's Capability Mode, where the PID namespace is unavailable. New system calls pdfork(2) and pdkill(2) offer the functional equivalents of fork(2) and kill(2). pdgetpid(2) allows querying the PID of the remote process for debugging purposes. The currently-unimplemented pdwait(2) will, in the future, allow querying rusage/exit status. In the interim, poll(2) may be used to check (and wait for) process termination. When a process is referenced by a process descriptor, it does not issue SIGCHLD to the parent, making it suitable for use in libraries---a common scenario when using library compartmentalisation from within large applications (such as web browsers). Some observers may note a similarity to Mach task ports; process descriptors provide a subset of this behaviour, but in a UNIX style. This feature is enabled by "options PROCDESC", but as with several other Capsicum kernel features, is not enabled by default in GENERIC 9.0. Reviewed by: jhb, kib Approved by: re (kib), mentor (rwatson) Sponsored by: Google Inc END K 10 svn:author V 8 jonathan K 8 svn:date V 27 2011-08-18T23:08:52.332475Z K 7 svn:log V 78 Auto-generated system call code based on r224987. Approved by: re (implicit) END K 10 svn:author V 8 jonathan K 8 svn:date V 27 2011-08-18T23:15:04.170297Z K 7 svn:log V 336 Test process descriptors. Ensure that process descriptors work as expected. We should be able to: - pdfork(), like regular fork(), but producing a process descriptor - pdgetpid() to convert a PD into a PID - pdkill() to send signals to a process identified by a PD Approved by: re (kib), mentor (rwatson) Sponsored by: Google Inc END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-19T00:44:37.283402Z K 7 svn:log V 41 - Also fix here the REG_NOSUB regression END K 10 svn:author V 7 delphij K 8 svn:date V 27 2011-08-19T01:11:06.810756Z K 7 svn:log V 288 MFC r224905: Update arcmsr(4) to 1.20.00.22 to solve recursive acquisition of buffer mutex, which would lead to a deadlock. Many thanks to Areca for their continued support of FreeBSD. Submitted by: Ching Huang Tested by: Willem Jan Withagen END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-19T02:03:00.852729Z K 7 svn:log V 88 - Move TRE_CHAR macro to tre-internal.h because it will be used in the heuristic code END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T02:16:29.687265Z K 7 svn:log V 394 Fix the holes in the sequence number ranges being fed to the BAW tracking code. The main culprit was the retries flag, this wasn't being cleared for new frames and thus ath_tx_addto_baw() was incorrectly ignoring those frames. The traffic flow is now stable until the first set of failed frames. Aggregate frames are being transmitted however the throughput is still much less than expected. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T02:37:13.729476Z K 7 svn:log V 81 Comment out an unused variable; locking doesn't seem to be needed here just yet. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T06:33:40.773045Z K 7 svn:log V 1287 * Disable BAR sending for now, I'm still not entirely convinced that it's all setup correctly and the right BAW left edge value is being sent (ie, I think I need to add some locking to ensure that new values aren't allocated by the TX send context, as completion and TX occur in different thread/processes.) I'll revisit correct BAR TX'ing later on. * Add/change some debugging around to make tracking down strange sequence number issues easier. And the actual bugfix: * re-schedule the TID for more TX scheduling after the aggregate completion handler is run - either the error handler (which retries all subframes if possible) or after the completion handler itself. In both instances, since packets may be requeued on the software queue, the TID needs rescheduling. Without this, I noticed the throughput would drop immediately when any retries occured, and lots of frames were being scheduled later on when I was issuing a single ICMP ping. That ping was causing the software queue to be scheduled, and lots of frames were thus being re-scheduled to the hardware (and updating the BAW in the process.) With this, things are stable. Slow (same as non-aggregate speed) and the software retry rate is too high for my liking, but packets now seem to zip along. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T07:12:29.570928Z K 7 svn:log V 24 More things to look at! END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T07:12:50.322201Z K 7 svn:log V 38 Add more statistics to keep track of. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T07:21:19.293355Z K 7 svn:log V 34 Note some more things to look at. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2011-08-19T08:29:10.787503Z K 7 svn:log V 525 r222015 introduced a new assertion that the size of a fixed-length sbuf buffer is greater than 1. This triggered panics in at least one spot in the kernel (the MAC Framework) which passes non-negative, rather than >1 buffer sizes based on the size of a user buffer passed into a system call. While 0-size buffers aren't particularly useful, they also aren't strictly incorrect, so loosen the assertion. Discussed with: phk (fears I might be EDOOFUS but willing to go along) Spotted by: pho + stress2 Approved by: re (kib) END