ƒ·%225000 154 250 209 569 309 148 191 191 406 158 339 145 269 541 293 1000 263 130 349 183 126 153 2165 896 272 149 127 155 165 176 176 706 537 733 428 350 201 294 178 228 210 813 192 432 351 781 362 272 249 355 645 141 464 155 129 165 358 709 747 233 229 211 1912 122 101 190 216 312 498 498 668 467 207 1907 254 110 143 491 118 119 674 385 385 167 167 286 286 147 123 904 205 209 207 151 276 159 197 722 319 220 221 358 826 249 202 174 193 468 196 493 377 182 523 272 349 183 183 1006 1006 332 332 191 418 403 118 1261 401 114 643 142 197 194 364 212 216 157 170 164 969 154 507 208 133 346 162 216 524 156 158 113 180 166 224 779 226 K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-19T09:01:34.072943Z K 7 svn:log V 152 Add sysctl to not reset the device on clear stall failures, to temporarily mitigate problems with VMs. Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 5 vanhu K 8 svn:date V 27 2011-08-19T09:06:00.524868Z K 7 svn:log V 114 MFC: Release SP's refcount in key_get_spdbyid(). PR: 156676 Submitted by: Tobias Brunner (tobias@strongswan.org) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T09:14:22.205492Z K 7 svn:log V 473 (mostly) cosmetic changes: * bump the aggregate max packet size up a bit, just for testing. This needs to be calculated based on the rate control information. * start to break out the delimiter calculation function. This needs to take the negotiated mpdudensity into account, but this calculation again requires the rate control information (to map density to delimiter byte size). * Modify/add some more comments, more accurately describing what is going on. END K 10 svn:author V 2 ae K 8 svn:date V 27 2011-08-19T10:12:02.622165Z K 7 svn:log V 217 Add new section "BOOTSTRAPPING" to the gpart(8), that describes bootstrap code images used to boot from MBR, GPT, BSD and VTOC8 schemes. Reviewed by: marius (previous version) Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T11:58:05.797957Z K 7 svn:log V 53 Tidy up some debugging, remove some now unused code. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2011-08-19T12:08:15.101160Z K 7 svn:log V 98 MFC: revision 224780 Allow to build a release for stable/[78] on a current box and vise versa. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2011-08-19T12:08:54.431168Z K 7 svn:log V 98 MFC: revision 224780 Allow to build a release for stable/[78] on a current box and vise versa. END K 10 svn:author V 2 ae K 8 svn:date V 27 2011-08-19T12:48:06.654623Z K 7 svn:log V 314 The decimal() function was changed in r217808 to take the maximum value instead of number of bits. But for case when limitation is not needed it erroneously skips conversion to number and always returns zero. So, don't skip conversion for case when limitation is not needed. PR: bin/159765 Approved by: re (kib) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T12:55:50.517605Z K 7 svn:log V 63 Use the aggregate length when calculating the packet duration. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2011-08-19T13:31:48.030761Z K 7 svn:log V 242 Bump the maximum coretemp limit (for CPU temperature) to 110. Several cores with temp in the range 101-105 have been found in the past. Sponsored by: Sandvine Incorporated Reviewed by: delphij, emaste Approved by: re (kib) MFC after: 3 days END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T13:34:05.985682Z K 7 svn:log V 50 Be consistent in the buffer free/completion path. END K 10 svn:author V 5 vanhu K 8 svn:date V 27 2011-08-19T13:41:00.025214Z K 7 svn:log V 174 MFC: fixed two race conditions when inserting/removing SAs via PFKey, which can both lead to a kernel panic when adding/removing quickly a lot of SAs. Obtained from: NETASQ END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T15:14:13.575991Z K 7 svn:log V 445 Add BAW state tracking to ensure I'm updating the BAW before freeing the ath_buf. Add locking around the BAW related code. Since the BAW can be modified by both net80211/ifnet context (ie interface TX) as well as the ath task (frame scheduling & completion), it needs to be locked. A node purge during active traffic could leave the BAW inconsistent. This has fixed some immediate issues with the TX hanging, but it hasn't fully fixed things. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-19T15:21:13.993073Z K 7 svn:log V 197 Correctly handle BAR TX failures. On a TX failure, ic_raw_xmit will still call ieee80211_node_free(). There's no need to call it here. Submitted by: moonlightakkiy@yahoo.ca Approved by: re (kib) END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-08-19T19:12:58.802833Z K 7 svn:log V 904 r221812 reveals that at least some Broadcom PHYs default to being not only isolated but also powered down after a reset and while they just work fine [sic] when both is the case they don't if they are only deisolate but still powered down. So in order to put PHYs in an overall normal operation mode for the common case, ensure in mii_phy_reset() that they are not powered down after a reset. Unfortunately, this only helps in case of BCM5421, while BCM5709S apparently only work when they remain isolated and powered down after a reset. So don't call mii_phy_reset() in brgphy_reset() and implement the reset locally leaving the problematic bits alone. Effectively this bypasses r221812 for brgphy(4). Thanks to Justin Hibbits for doing a binary search in order to identify the problematic commit. PR: 157405, 158156 Reviewed by: yongari (mii_phy_reset() part) Approved by: re (kib) MFC after: 3 days END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-08-19T19:13:31.169282Z K 7 svn:log V 167 Revert r224157, re-enabling r222135. The underlying problem keeping the latter from working as expected was fixed in r225014. MFC after: 3 days Approved by: re (kib) END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2011-08-19T20:34:34.922245Z K 7 svn:log V 35 Bikeshed, time of death 13:34 PST. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-19T21:28:40.430267Z K 7 svn:log V 256 Walk the zombproc list as well as the allproc list when enumerating threads and processes in a kernel image. This allows examination of threads that have exited or are in the late stages of exiting. Tested by: avg Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-19T21:33:46.865214Z K 7 svn:log V 91 Fix WWN printing in `camcontrol identify` output. Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-19T21:58:50.288035Z K 7 svn:log V 32 - Use xfree() instead of free() END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-19T21:59:47.301636Z K 7 svn:log V 59 - Fix compilation by adding forgotten variable declaration END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-20T06:08:31.167725Z K 7 svn:log V 2068 Another combined diff - partly debugging, partly implementing more aggregation related stuff. Debugging/enforcing (which I'll likely remove at some point, or at least make optional): * Remove ath_buf's from the aggregate list - ie, blank bf->bf_next - when they've been handled and they're being requeued or completed. * Print out a message ath_tx_default_comp() if the ath_buf in question is still on an aggregation list. * Check whether the number of buffers handled in the aggregate frame completion or aggregate frame error functions match the number of frames -in- the aggregate buffer list. Print out an error if this isn't the case. Aggregation changes: * Fill out the rest of the ath_rc_series fields in the ath_buf - max4msframelen and the flags fields. This is done after the rate control decisions have been made in the (raw, normal) TX path. Later on, this will be pushed into the rate control module and then, much later on, it'll be pushed into net80211. * Implement the rest of the ampdu delimiter calculation code. The ampdu density figure, negotiated in STA mode and configured in hostap mode, is enforced when calculating delimiter counts. It uses the "fastest" rate (ie, the first one) to calculate how long a frame will be (in bytes) at the given rate/config, and then enforces that the configured delimiter count matches at least -that- length. If a sub-frame length is smaller than the configured mpdudensity, the delimiter count is the minimum density, rather than soley based on the frame count. * Implement a very simple function to return the maximum frame length for 4ms, based on the slowest rate. If the rate control returns a set of rate series rather than a single one, the aggregate may end up being transmitted at the slowest rather than the fastest. A lot of stuff that has been shoehorned into if_ath_tx_ht.c should likely live elsewhere, including the HAL and net80211. I'll worry about where to place all of this once the code is (more) stable. Obtained from: Atheros, Linux ath9k END K 10 svn:author V 2 mm K 8 svn:date V 27 2011-08-20T07:43:10.659901Z K 7 svn:log V 804 MFC r224814, r224855: MFC r224814 [1]: Fix race between dmu_objset_prefetch() invoked from zfs_ioc_dataset_list_next() and dsl_dir_destroy_check() indirectly invoked from dmu_recv_existing_end() via dsl_dataset_destroy() by not prefetching temporary clones, as these count as always inconsistent. In addition, do not prefetch hidden datasets at all as we are not going to process these later. Filed as Illumos Bug #1346 MFC r224855: zfs_ioctl.c: improve code readability in zfs_ioc_dataset_list_next() zvol.c: fix calling of dmu_objset_prefetch() in zvol_create_minors() by passing full instead of relative dataset name and prefetching all visible datasets to be processed later instead of just the pool name PR: kern/157728 [1] Tested by: Borja Marcos [1], mm Reviewed by: pjd END K 10 svn:author V 2 ae K 8 svn:date V 27 2011-08-20T08:20:10.395365Z K 7 svn:log V 180 o Fix mdoc formatting for the '.Fx' macro. [1] o Add information about APM scheme and fix typos. [2] Submitted by: gjb [1], nwhitehorn [2] Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-20T09:31:52.105769Z K 7 svn:log V 57 Add support for SATA Enclosure Management Bridge (SEMB). END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-20T10:44:13.590771Z K 7 svn:log V 32 More things to look at and fix! END K 10 svn:author V 3 avg K 8 svn:date V 27 2011-08-20T11:44:48.626919Z K 7 svn:log V 63 MFC r224529: fix a typo/tautology in the release documentation END K 10 svn:author V 3 avg K 8 svn:date V 27 2011-08-20T11:47:11.167013Z K 7 svn:log V 73 MFC r224632: fix a serious bug in libproc's proc_attach PR: bin/158431 END K 10 svn:author V 3 avg K 8 svn:date V 27 2011-08-20T11:50:02.056541Z K 7 svn:log V 84 MFC r224527: smp_rendezvous: master cpu should wait until all slaves are fully done END K 10 svn:author V 3 avg K 8 svn:date V 27 2011-08-20T12:08:53.348754Z K 7 svn:log V 84 MFC r224527: smp_rendezvous: master cpu should wait until all slaves are fully done END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T12:40:17.607922Z K 7 svn:log V 614 While not explicitly allowed by RFC 2460, in case there is no translation technology involved (and that section is suggested to be removed by Errata 2843), single packet fragments do not harm. There is another errata under discussion to clarify and allow this. Meanwhile add a sysctl to allow disabling this behaviour again. We will treat single packet fragment (a fragment header added when not needed) as if there was no fragment header. PR: kern/145733 Submitted by: Matthew Luckie (mjl luckie.org.nz) (original version) Tested by: Matthew Luckie (mjl luckie.org.nz) MFC after: 2 weeks Approved by: re (kib) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-20T13:07:29.480520Z K 7 svn:log V 441 Add some debugging to trace whether a packet has been added to the BAW before it's actually removed from it. It turns out that a node flush during active traffic would cause some frames to be freed before the frame was added to the BAW. This is why traffic exchange would (eventually) stop. For example: ath0: ath_tx_tid_free_pkts: wasn't added: seqno 3701 I'll have to see what Linux and the reference driver do here before I fix this. END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T13:17:47.563043Z K 7 svn:log V 641 ipfw internally checks for offset == 0 to determine whether the packet is a/the first fragment or not. For IPv6 we have added the "more fragments" flag as well to be able to determine on whether there will be more as we do not have the fragment header avaialble for logging, while for IPv4 this information can be derived directly from the IPv4 header. This allowed fragmented packets to bypass normal rules as proper masking was not done when checking offset. Split variables to not need masking for IPv6 to avoid further errors. PR: kern/145733 Submitted by: Matthew Luckie (mjl luckie.org.nz) MFC after: 2 weeks Approved by: re (kib) END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T13:46:19.589187Z K 7 svn:log V 336 If we detect an IPv6 fragment header and it is not the first fragment, then terminate the loop as we will not find any further headers and for short fragments this could otherwise lead to a pullup error discarding the fragment. PR: kern/145733 Submitted by: Matthew Luckie (mjl luckie.org.nz) MFC after: 2 weeks Approved by: re (kib) END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T13:47:08.709739Z K 7 svn:log V 258 After r225032 fix logging in a similar way masking the the IPv6 more fragments flag off so that offset == 0 checks work properly. PR: kern/145733 Submitted by: Matthew Luckie (mjl luckie.org.nz) MFC after: 2 weeks X-MFC with: r225032 Approved by: re (kib) END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-20T14:04:16.793663Z K 7 svn:log V 103 Use correct enum instead of constant value. MFC after: 1 week Spotted by: scf @ Approved by: re (kib) END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T14:20:36.662267Z K 7 svn:log V 202 Hide IPv6 next header parsing warnings under the verbose sysctl so people can possibly disable it when their consoles are flooded, or enabled it for debugging. MFC after: 2 weeks Approved by: re (kib) END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-20T14:21:32.321455Z K 7 svn:log V 81 Add new USB ID. Approved by: re (kib) MFC after: 1 week PR: usb/159836 END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-20T15:12:53.737081Z K 7 svn:log V 130 Fix for recursive locking in usb_close() after change 224777. Approved by: re (kib) MFC after: 3 days Reported by: kwm @ END K 10 svn:author V 2 jh K 8 svn:date V 27 2011-08-20T15:21:02.561092Z K 7 svn:log V 118 MFC r208717: Don't try to call cdevsw d_close() method when devfs_close() is called because of insmntque1() failure. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-08-20T16:12:29.133150Z K 7 svn:log V 720 Prevent the hiwatermark for the unix domain socket from becoming effectively negative. Often seen as upstream fastcgi connection timeouts in nginx when using sendfile over unix domain sockets for communication. Sendfile(2) may send more bytes then currently allowed by the hiwatermark of the socket, e.g. because the so_snd sockbuf lock is dropped after sbspace() call in the kern_sendfile() loop. In this case, recalculated hiwatermark will overflow. Since lowatermark is renewed as half of the hiwatermark by sendfile code, and both are unsigned, the send buffer never reaches the free space requested by lowatermark, causing indefinite wait in sendfile. Reviewed by: rwatson Approved by: re (bz) MFC after: 2 weeks END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-20T16:21:40.973485Z K 7 svn:log V 95 Add new USB ID to u3g driver. Approved by: re (kib) MFC after: 1 week PR: usb/159919 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-20T16:34:31.546226Z K 7 svn:log V 336 More updates, now that: * I know what the current batch of BAW tracking failures are; * some discussions with Felix (nbd) and I about what this code and Linux ath9k are doing have given rise to some issues with channel changes (eg channel, 20/2040 change, mode, etc) and what this may do to software/hardware queued frames, etc. END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T16:43:47.737602Z K 7 svn:log V 259 Add an in6_localip() helper function as in6_localaddr() is not doing what people think: returning true for an address in any connected subnet, not necessarily on the local machine. Sponsored by: Sandvine Incorporated MFC after: 2 weeks Approved by: re (kib) END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T17:05:11.481869Z K 7 svn:log V 689 Add support for IPv6 to ipfw fwd: Distinguish IPv4 and IPv6 addresses and optional port numbers in user space to set the option for the correct protocol family. Add support in the kernel for carrying the new IPv6 destination address and port. Add support to TCP and UDP for IPv6 and fix UDP IPv4 to not change the address in the IP header. Add support for IPv6 forwarding to a non-local destination. Add a regession test uitilizing VIMAGE to check all 20 possible combinations I could think of. Obtained from: David Dolson at Sandvine Incorporated (original version for ipfw fwd IPv6 support) Sponsored by: Sandvine Incorporated PR: bin/117214 MFC after: 4 weeks Approved by: re (kib) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-20T17:11:51.357690Z K 7 svn:log V 266 * Add some debugging to announce functions which call ath_tx_flushtxq(). * Disable ath_tx_flushtxq() for ath_reset(), on a hunch. It likely isn't needed. * Add some more comments about what's going on and what the implications seem to be flushing the TXQ there. END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T18:45:38.341444Z K 7 svn:log V 180 Fix compilation in case of defined(INET) && defined(IPFIREWALL_FORWARD) but no INET6. Reported by: avg Tested by: avg MFC after: 4 weeks X-MFC with: r225044 Approved by: re (kib) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-20T19:09:25.451108Z K 7 svn:log V 156 Fetch list of supported diagnostic pages for SES to find whether optional Additional Element Status page is supported. If it's not, do not try to query it. END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-08-20T19:21:46.667770Z K 7 svn:log V 263 In HEAD when doing no further checkes there is no reason use the temporary variable and check with if as TUNABLE_*_FETCH do not alter values unless successfully found the tunable. Reported by: jhb, bde MFC after: 3 days X-MFC with: r224516 Approved by: re (kib) END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2011-08-20T21:26:35.489074Z K 7 svn:log V 547 Fix the NFSv4 server so that it returns NFSERR_SYMLINK when an attempt to do an Open operation on any type of file other than VREG is done. A recent discussion on the IETF working group's mailing list (nfsv4@ietf.org) decided that NFSERR_SYMLINK should be returned for all non-regular files and not just symlinks, so that the Linux client would work correctly. This change does not affect the FreeBSD NFSv4 client and is not believed to have a negative effect on other NFSv4 clients. Reviewed by: zkirsch Approved by: re (kib) MFC after: 2 weeks END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-21T00:48:03.312941Z K 7 svn:log V 47 - Support REG_PEND for fast matching functions END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-21T00:51:42.849155Z K 7 svn:log V 369 - Add the heuristic matching code. Currently * it only supports BRE * the heuristic construction is limited because the fast matching algorithm is also limited and only allows simple heuristic patterns * it has a bug and fills in incorrectly the matching offsets - Even with the above limitations, some searches only require half of the time with BSD grep. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T02:35:10.454154Z K 7 svn:log V 60 Add some very basic TX aggregation statistics via a sysctl. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T02:40:42.917515Z K 7 svn:log V 34 Document off-channel TX handling. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T03:12:07.933583Z K 7 svn:log V 70 * Add some more stats * Add a comment that I need to add some locking END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T03:48:07.554481Z K 7 svn:log V 262 * Correctly lock stuff during ath_txq_sched() * Add the aggregate packet counter * For now, don't try to queue further work to a TXQ if there's more than two packets queued to it. This is an attempt to give the aggregation code more time to form aggregates. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T10:05:39.938672Z K 7 svn:log V 613 * Fix a duplicate call to the TX scheduling task queue function; this doesn't improve network throughput but it decreases CPU usage. * Add a reference to the softc from the hardware txq; this was intended to be used by a per-txq task scheduler function; I may end up removing this later on. * add a txq field to ath_tx_sched_proc_sched(), but as taskqueue_enable doesn't take an argument, we can't use it just yet. Again, the current way of kicking the TXQ scheduler code may not be the best way to do it - ie, calling taskqueue_enable() on every single TX'ed packet is likely not helping ;-) END K 10 svn:author V 7 attilio K 8 svn:date V 27 2011-08-21T10:52:50.469715Z K 7 svn:log V 650 callout_cpu_switch() allows preemption when dropping the outcoming callout cpu lock (and after having dropped it). If the newly scheduled thread wants to acquire the old queue it will just spin forever. Fix this by disabling preemption and interrupts entirely (because fast interrupt handlers may incur in the same problem too) while switching locks. Reported by: hrs, Mike Tancsa , Chip Camden Tested by: hrs, Mike Tancsa , Chip Camden , Nicholas Esborn Approved by: re (kib) MFC after: 10 days END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T14:43:19.919109Z K 7 svn:log V 137 add a twiddle to dump the current queue depth. It's not -that- useful with live traffic as the queue depth changes too frequently, so.. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T14:44:44.946334Z K 7 svn:log V 133 Clear bf_comp, not all frame setups currently set this to something, so packets were getting the -previous- completion handler. tsk. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T16:11:57.594432Z K 7 svn:log V 115 Always request an interrupt when doing aggregation; let the interrupt coelescence support mitigate interrupt load. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T16:27:59.134414Z K 7 svn:log V 1815 Begin adding some support framework needed to try and get a handle on aggregation throughput. The main problem at the present moment is that - at least for userspace applications (ie iperf) generating traffic - the scheduler is called too often (and likely calling taskqueue_enabled on each queued frame is .. bad, I'll deal with that mistake of mine later) and thus the software queue isn't "large" enough for aggregates to be formed. This is noticable for UDP, where over 80% of the frames are sent as single frames rather than being aggregated, limiting performance on my MIPS boards to < 30mbit. The eventual aim is to only queue enough frames to the hardware TX queue to keep the MAC busy sending said frames, rather than filling its TXQ with as many frames as possible. As long as packets are queued faster than individual frames are scheduled, the software queue will back up and give the aggregation logic something to work with. * Add a couple of schedule calls which kick along the TID scheduling after a completion handler has occured. These aren't strictly needed here (as the call is only needed when frames are added onto the TID queue) but they'll be needed later on when the TID scheduling is delayed to "encourage" aggregates. * Add hwq_depth to the TID state, which tracks how many buffers are queued to the hardware. Aggregate buffers are (for now) counted as a single buffer. Since completion functions can (unfortunately) be called from both the ath task and when flushing/draining a queue (ie, from various other contexts), lock access to it. * modify the aggregate queue function to limit scheduling aggregate frames based on how many hardware-queued frames from this TID are queued. This may flip back to being based on the hardware queue after some more testing. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T16:33:34.946152Z K 7 svn:log V 27 Update my todo/notes list. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-21T16:38:16.233751Z K 7 svn:log V 7 Update END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-21T18:23:09.767306Z K 7 svn:log V 98 Do not delay boot if we are not going to run daemon process. Otherwise boot will wait infinitely. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2011-08-21T18:49:28.574699Z K 7 svn:log V 115 Make messages about typos appear on the screen instead of in the log file. Reported by: lev Approved by: re (kib) END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2011-08-21T18:50:30.025781Z K 7 svn:log V 211 Implement support for GRAID volumes in the installer partition editor, rename a few options, clarify some help text, and add help text for the buttons on the main partition editor screen. Approved by: re (kib) END K 10 svn:author V 6 jilles K 8 svn:date V 27 2011-08-21T20:59:51.213561Z K 7 svn:log V 402 MFC r224865: tail: Fix crash if -F'ed file's filesystem disappears. If tail notices that a file it is following no longer exists (because stat() fails), it will output any final lines and then close the file. If the read operation also causes an error, such as when the filesystem is forcefully unmounted, it closes the file as well, leading to fclose(NULL) and a segmentation fault. PR: bin/159750 END K 10 svn:author V 6 jilles K 8 svn:date V 27 2011-08-21T22:09:30.323004Z K 7 svn:log V 402 MFC r224865: tail: Fix crash if -F'ed file's filesystem disappears. If tail notices that a file it is following no longer exists (because stat() fails), it will output any final lines and then close the file. If the read operation also causes an error, such as when the filesystem is forcefully unmounted, it closes the file as well, leading to fclose(NULL) and a segmentation fault. PR: bin/159750 END K 10 svn:author V 5 silby K 8 svn:date V 27 2011-08-22T03:10:29.579091Z K 7 svn:log V 573 Disable TSC usage inside SMP VM environments. On my VMware ESXi 4.1 environment with a core i5-2500K, operation in this mode causes timeouts from the mpt driver. Switching to the ACPI-fast timer resolves this issue. Switching the VM back to single CPU mode also works, which is why I have not disabled the TSC in that mode. I did not test with KVM or other VM environments, but I am being cautious and assuming that the TSC is not reliable in SMP mode there as well. Reviewed by: kib Approved by: re (kib) MFC after: Not applicable, the timecounter code is new for 9.x END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-22T04:33:49.011389Z K 7 svn:log V 371 Move the TX schedule taskqueue call out of the per-packet path and into ath_start(), and call it just once if any packets were queued. Add it back in the ath_tx_raw_xmit() path, so raw packets still cause the software TX scheduler to be queued to the ath task queue. This improves TCP performance a bit because of reduced CPU use, but UDP still isn't being aggregated. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-22T05:03:43.634242Z K 7 svn:log V 111 The completion handler "fail" flag is 0 or 1 - -1 is what was being passed to the net80211 completion routine. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-22T06:25:01.916242Z K 7 svn:log V 1810 Do some reasonably major surgery to the way TX rates are calculated and completed, as part of providing the rate control code with accurate information about aggregate packet completions. Since the aggregate completion function has no idea how many frames have succeeded or failed until -after- the ath_buf list has been walked, compared against the Blockack bitmap (and buffers have been completed), we need to keep a variety of the state somewhere. So we can't just pass in an ath_buf into the completion code - it has likely already been freed before the rate update call is made. Also, the framelength for an aggregate is the aggregate itself, not the length of the first frame. The specifics: * add a 'ratecode' field to ath_rc_series, storing the ratecode decision; * update ratecode in ath_tx_rate_fill_rcflags(), also taking into account whether the ath_buf has the short preamble bit set; * modify the sample ath_tx_rate_complete() function to take a copy of the ath_rc_series, along with a framelength * if a buffer doesn't have a completion handler, manually call the rate control code * if a buffer -does- have a completion handler, leave calling the rate control code up to that. The things to do: * Actually teach ath_rate_sample about the packet error rate when TX'ing aggregates. That's next. * Becuase the rate lookup is done before the aggregate is formed, we can't query the rate control code with the length of the aggregate. It's a chicken and egg problem - we can't form aggregates until we know what the rate selection is (as that's used to enforce the 4ms frame max duration) and delimiter density. So for now, it'll just use the size of the first frame in the list when making a rate decision, and I'll worry about delaying the rate control lookup later. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-22T06:27:45.590521Z K 7 svn:log V 158 Don't call the rate control update code if the frame didn't require an ACK. Since aggregate frames require an ACK, don't worry about doing the checks there. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-22T06:33:03.558298Z K 7 svn:log V 15 Update README. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-22T07:55:48.546628Z K 7 svn:log V 48 Add parameters to tweak aggregation thresholds. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-08-22T11:18:47.814673Z K 7 svn:log V 398 Apply the limit to avoid the overflows in the radix tree subr_blist.c after the conversion of the swap device size to the page size units, not before. That lifts the limit on the usable swap partition size from 32GB to 256GB, that is less depressing for the modern systems. Submitted by: Alexander V. Chernikov Reviewed by: alc Approved by: re (bz) MFC after: 2 weeks END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-22T11:22:13.537467Z K 7 svn:log V 24 - Add a general comment END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-22T16:35:46.763847Z K 7 svn:log V 24 Fix a NULL de-reference END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-22T18:36:58.181375Z K 7 svn:log V 581 Add two new macros DRIVER_MODULE_ORDERED() and EARLY_DRIVER_MODULE_ORDERED() that allow a module to use an order other than the default of SI_ORDER_MIDDLE when registering a driver. This can be useful for drivers in a kld that contain multiple new-bus drivers as part of one logical device driver. A typical case would be to use SI_ORDER_LAST for the "main" driver to ensure that any other "helper" drivers are registered and available before the "main" driver attempts to attach. Tested by: kib, Jason Harmening jason harmening / gmail Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-22T18:41:39.774371Z K 7 svn:log V 292 MFC 224986: 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. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-22T18:41:55.551865Z K 7 svn:log V 292 MFC 224986: 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. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-22T18:46:02.872742Z K 7 svn:log V 75 MFC 224898: Add device id for the Moxa CP-112UL dual-port serial adapters. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-22T18:46:23.506294Z K 7 svn:log V 75 MFC 224898: Add device id for the Moxa CP-112UL dual-port serial adapters. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-22T18:57:59.635177Z K 7 svn:log V 193 MFC 224495: Properly initialize an error variable to avoid returning uninitialized data when 'show drives' succeeds, often resulting in a failing exit code even though the command worked fine. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-08-22T18:58:08.885577Z K 7 svn:log V 193 MFC 224495: Properly initialize an error variable to avoid returning uninitialized data when 'show drives' succeeds, often resulting in a failing exit code even though the command worked fine. END K 10 svn:author V 3 mdf K 8 svn:date V 27 2011-08-22T19:46:25.197031Z K 7 svn:log V 55 Branch to integrate Gleb Kurtsou's ino64 GSoC project. END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-22T20:25:55.135450Z K 7 svn:log V 29 - Partly fix offset handling END K 10 svn:author V 7 yongari K 8 svn:date V 27 2011-08-22T20:33:05.337871Z K 7 svn:log V 807 Disable PHY hibernation until I get more detailed hibernation programming secret. The PHY would go into sleep state when it detects no established link and it will re-establish link when the cable is plugged in. Previously it failed to re-establish link when the cable is plugged in such that it required to manually down and up the interface again to make it work. This came from incorrectly programmed hibernation parameters. According to Atheros, each PHY chip requires different configuration for hibernation and different vendor has different settings for the same chip. Disabling hibernation may consume more power but establishing link looks more important than saving power. Special thanks to Atheros for giving me instructions that disable hibernation. MFC after: 1 week Approved by: re (kib) END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-08-22T20:44:18.102716Z K 7 svn:log V 112 Update some comments in swap_pager.c. Reviewed and most wording by: alc MFC after: 1 week Approved by: re (bz) END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-22T21:05:39.856991Z K 7 svn:log V 111 Whitespace corrections for LibUSB manual page (1/2). MFC after: 1 week Approved by: re (kib) PR: docs/159898 END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-22T21:10:50.291235Z K 7 svn:log V 109 Spelling corrections for LibUSB manual page (2/2). MFC after: 1 week Approved by: re (kib) PR: docs/159898 END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-22T23:15:15.566075Z K 7 svn:log V 57 - Fix offsets for heuristics with prefix and end segment END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-22T23:19:20.121335Z K 7 svn:log V 181 - Add an internal flag for heuristics: it understands ^$. but handles everything else as literal. This allows using the fast algorithm while treating {}, \, *, etc. as literal. END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-22T23:20:13.435394Z K 7 svn:log V 65 - With the previous change we can allow more accurate heuristics END K 10 svn:author V 3 mdf K 8 svn:date V 27 2011-08-22T23:27:23.105557Z K 7 svn:log V 104 Hide DIR definition by making it an opaque struct typedef. GSoC r222617, r222832. Code by Gleb Kurtsou. END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2011-08-22T23:39:40.097885Z K 7 svn:log V 625 Fix if_addr_mtx recursion in mld6. mld_set_version() is called only from mld_v1_input_query() and mld_v2_input_query() both holding the if_addr_mtx lock, and then calling into mld_v2_cancel_link_timers() acquires it the second time, which results in mtx recursion. To avoid that, delay if_addr_mtx acquisition until after mld_set_version() is called; while here, further reduce locking scope to protect only the needed pieces: if_multiaddrs, in6m_lookup_locked(). PR: kern/158426 Reported by: Thomas , Tom Vijlbrief Tested by: Tom Vijlbrief Reviewed by: bz Approved by: re (kib) END K 10 svn:author V 3 mdf K 8 svn:date V 27 2011-08-22T23:54:12.503494Z K 7 svn:log V 226 Avoid using dirfd name there is dirfd() macro already. Use dirfd() instead of dirp->dd_fd. Replace dirfd() macro with exported libc symbol. Use _dirfd() macro internally. GSoC r222835, r222836, r222837. Code by Gleb Kurtsou. END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-23T00:12:24.593812Z K 7 svn:log V 125 - [] brackets are parsed differently than other brackets because [ and ] are interpreted differently in some special cases END K 10 svn:author V 3 mdf K 8 svn:date V 27 2011-08-23T00:25:15.834542Z K 7 svn:log V 128 boot: Use 32 bit ufs_ino_t to keep boot2 small and prevent 64-bit math on 32-bit machines. GSoC r222839. Code by Gleb Kurtsou. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2011-08-23T07:00:51.199847Z K 7 svn:log V 265 MFC r224791: Eliminate the zfsdev_state_lock entirely and replace it with the spa_namespace_lock. This fixes LOR between the spa_namespace_lock and spa_config lock. LOR can cause deadlock on vdevs removal/insertion. Reported by: gibbs, delphij Tested by: delphij END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-23T07:17:37.875731Z K 7 svn:log V 730 Sync this code a little more with what's in the Linux/atheros reference drivers. It doesn't yet fix aggregation throughput issues, but it provides some handy statistics for tracking what's going on. * add an ath_txq (hardware) counter tracking how many aggregate frames are pending. * Use this instead of the overall counter (axq_depth) * Add it to the txagg sysctl And another temporary tinker: * Delay scheduling the TID in ath_tx_swq() if the TID has some hardware queued frames. This doesn't seem to (yet) be doing what I would like it to be doing. The MAC is still not being kept totally busy, especially when TX'ing UDP traffic from a local iperf process. I'll add some more statistics and see what's going on. END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-23T07:35:21.232180Z K 7 svn:log V 151 MFC r224903, r224917, r225035, r225090, r225091: - Add missing API function to the LibUSB v1.0 API. - Update LibUSB v1.0 manual page. PR: docs/159898 END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-08-23T07:42:04.915830Z K 7 svn:log V 104 MFC r225038: Fix for recursive locking in usb_close() after r224777 (9-current) and r224960 (8-stable). END K 10 svn:author V 2 ae K 8 svn:date V 27 2011-08-23T08:47:27.400465Z K 7 svn:log V 83 Fix lock leak. Reported by: Alex Lyashkov Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 7 attilio K 8 svn:date V 27 2011-08-23T09:42:29.701909Z K 7 svn:log V 97 MFC r225009: Bump coretemp tollerable limit to 110 degrees. Sponsored by: Sandvine Incorporated END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-23T11:53:08.978489Z K 7 svn:log V 372 Undo some of the stuff I've been tinkering with. TX aggregation seems to be working on faster hardware; it's just running iperf locally on these MIPS boards is causing headaches. * Always schedule the TID in ath_tx_swq() * Only schedule the TID when packets are thrown on the end of that TID software queue. This matches what the linux and reference code driver does. END K 10 svn:author V 4 gber K 8 svn:date V 27 2011-08-23T12:45:02.238669Z K 7 svn:log V 102 Create branch to add support for armv6 and armv7 and for SMP on arm. Approved by: cognet (mentor) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-23T13:07:30.197057Z K 7 svn:log V 400 Last SAF-TE spec draft defines the field to identify real number of thermostats. Use it to report real state of things. Unluckily, when it is zero, it is impossible to say whether there are no sensors or this field is not implemented. In this case report "status not available" when no error reported to not inflate expectations. Map temperature sensors status to the respective out of range flags. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2011-08-23T13:17:09.518800Z K 7 svn:log V 279 Fix nfsstat(1) so that it prints out correct stats for the new NFS server when the "-w" option is used. The problem was spotted by hrs@ during testing where srvrpcnt[] must be indexed by NFSV4OP_XXX and not NFSPROC_XXX. Submitted by: hrs Approved by: re (bz) MFC after: 2 weeks END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-23T13:25:29.312904Z K 7 svn:log V 90 Tuning r225108, trust ETA flag zero status also when there is some thermometer available. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-23T13:36:09.486253Z K 7 svn:log V 427 These timer registers are all 1uS in resolution in AR5416 or later. Previous hardware had some as TU, some as 1/8th TU. * Modify AR_NEXT_DBA and AR_NEXT_SWBA to use a new macro, ONE_EIGHTH_TU_TO_USEC(), which converts the 1/8th TU fields to USEC. This is just cosmetic and matches the Atheros reference driver. * Fix AR_NEXT_TBTT, which is USEC, not TU. Submitted by: paradyse@gmail.com Approved by: re (kib, blanket) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-23T13:36:34.878824Z K 7 svn:log V 179 Element descriptor is optional for SES devices. Respecting that, report empty string for SAF-TE devices where there is no descriptor, instead of returning confusing EINVAL error. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2011-08-23T13:44:56.290884Z K 7 svn:log V 251 Fix nfsstat(1) so that it prints out correct stats for the new NFS server when the "-e" option is not used. The bug was that srvrpccnt[] was being indexed by NFSPROC_XXX when it needs to be indexed by NFSV4OP_XXX. Tested by: hrs Approved by: re (bz) END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-08-23T14:00:01.079952Z K 7 svn:log V 88 MFC: r223688 Add detection for the Marvel 88E1149R and treat it just like the 88E1149. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-08-23T14:01:04.769916Z K 7 svn:log V 88 MFC: r223688 Add detection for the Marvel 88E1149R and treat it just like the 88E1149. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-08-23T14:32:53.988344Z K 7 svn:log V 910 MFC: r225014 r221812 (MFC'ed to stable/8 in r222159) reveals that at least some Broadcom PHYs default to being not only isolated but also powered down after a reset and while they just work fine [sic] when both is the case they don't if they are only deisolate but still powered down. So in order to put PHYs in an overall normal operation mode for the common case, ensure in mii_phy_reset() that they are not powered down after a reset. Unfortunately, this only helps in case of BCM5421, while BCM5709S apparently only work when they remain isolated and powered down after a reset. So don't call mii_phy_reset() in brgphy_reset() and implement the reset locally leaving the problematic bits alone. Effectively this bypasses r221812 for brgphy(4). Thanks to Justin Hibbits for doing a binary search in order to identify the problematic commit. PR: 157405, 158156 Reviewed by: yongari (mii_phy_reset() part) END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-08-23T14:32:59.435375Z K 7 svn:log V 910 MFC: r225014 r221812 (MFC'ed to stable/7 in r222160) reveals that at least some Broadcom PHYs default to being not only isolated but also powered down after a reset and while they just work fine [sic] when both is the case they don't if they are only deisolate but still powered down. So in order to put PHYs in an overall normal operation mode for the common case, ensure in mii_phy_reset() that they are not powered down after a reset. Unfortunately, this only helps in case of BCM5421, while BCM5709S apparently only work when they remain isolated and powered down after a reset. So don't call mii_phy_reset() in brgphy_reset() and implement the reset locally leaving the problematic bits alone. Effectively this bypasses r221812 for brgphy(4). Thanks to Justin Hibbits for doing a binary search in order to identify the problematic commit. PR: 157405, 158156 Reviewed by: yongari (mii_phy_reset() part) END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-08-23T14:37:39.196472Z K 7 svn:log V 236 MFC: r225015 Revert r224157 (MFC'ed to stable/8 in r224401), re-enabling r222135 (MFC'ed to stable/8 in r222371). The underlying problem keeping the latter from working as expected was fixed in r225014 (MFC'ed to stable/8 in r225116). END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-08-23T14:37:42.209609Z K 7 svn:log V 236 MFC: r225015 Revert r224157 (MFC'ed to stable/7 in r224402), re-enabling r222135 (MFC'ed to stable/7 in r222372). The underlying problem keeping the latter from working as expected was fixed in r225014 (MFC'ed to stable/7 in r225117). END K 10 svn:author V 7 delphij K 8 svn:date V 27 2011-08-23T19:29:11.946913Z K 7 svn:log V 95 Honor WITHOUT_IPX when installing etc/rc.d/ipxrouted. MFC after: 1 week Approved by: re (kib) END K 10 svn:author V 2 mm K 8 svn:date V 27 2011-08-23T19:49:06.159948Z K 7 svn:log V 326 Fix buffer overflow and possible ISO image corruption in wrong handling of "." character case in makefs ISO level 1 and 2 filename conversion. Filed as NetBSD PR #45285 http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45285 Reviewed by: Christos Zoulas Approved by: re (kib) MFC after: 3 days END K 10 svn:author V 5 marck K 8 svn:date V 27 2011-08-23T20:25:11.204984Z K 7 svn:log V 308 Add kern.cam.boot_delay description (with reasonable default) to default/loader.conf This should help people installing ${OS} to USB devices, where there are frequently cases where kernel tries to mount root before actual umass sensing is finished. Reviewed by: mav Approved by: re (kib) MFC after: 1 week END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-08-23T21:10:23.388738Z K 7 svn:log V 24 - Add some debug output END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-23T23:33:38.856849Z K 7 svn:log V 1164 Try to make the ATH_BUF_BUSY handling work again. * add bf_last to ath_buf, which points to the last frame in an aggregate, or itself for a single frame * Set ATH_BUF_BUSY in the last frame in an aggregate - that's the ath_buf which the hardware may be currently tinkering with. * Restore the ATH_BUF_BUSY clearing in ath_tx_processq() - clear the ATH_BUF_BUSY flag in the last entry on the free list before adding the next buffer - it's assumed the hardware has finished with that descriptor. This should restore the current behaviour that ATH_BUF_BUSY protects against, but: * retries which use ATH_BUF_BUSY buffers need to result in the ath_buf being cloned, rather than reused. That buffer then needs to be returned to the free list. * This code seems like it'll only work for a single TX queue. As in, if TXQ 0 has been handled and the last buffer is marked BUSY, then TXQ 1 runs - the last buffer on the free list will be marked as non-busy. ath9k and the reference code uses a more complicated "holding descriptor" setup which keeps the descriptor on the TXQ list and frees it when needed. This will be eventually needed! END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T00:45:53.937651Z K 7 svn:log V 305 TIM/Timer fixes for AR5416 and later: * Fix SLEEP1/SLEEP2 register definitions; the CAB/Beacon timeout fields have changed in AR5416 and later * The TIM_PERIOD and DTIM_PERIOD registers are now microsecond fields, not TU. Obtained from: Linux ath9k, Atheros reference Approved by: re (kib, blanket) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T03:09:02.054605Z K 7 svn:log V 19 Tidy this up a bit END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T04:06:21.500099Z K 7 svn:log V 547 * Begin fleshing out ath_buf_clone() - a method of cloning buffers for reuse during software retransmit * Break out the buffer reclaimation code into ath_freebuf(), which doesn't recycle the mbuf/node or call the net80211 callback. * Change _ath_getbuf_locked() to use ath_freebuf(). This changes the order of DMA unmap and buffer free, so keep that in mind. The (eventual) aim of ath_freebuf() is to allow a buffer to be cloned, and the original buffer to then be returned. The caller can blank the node/mbuf and call ath_freebuf(). END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T04:42:31.656819Z K 7 svn:log V 47 Clear the ATH_BUF_BUSY flag on cloned buffers. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T05:59:58.455027Z K 7 svn:log V 101 * Setup bf_lastds when fiddling with beacon descriptors * Restore a DMA unmap call I removed earlier END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T06:49:57.052430Z K 7 svn:log V 99 Eliminate a dangling bf_next when creating a cloned buf; new buffers are not part of an aggregate. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T06:57:29.763272Z K 7 svn:log V 268 Begin fleshing out busy buffer handling in the software retry path. If the buffer is marked ATH_BUF_BUSY, the hardware may still be pointing at the link pointer in that descriptor. So the software retry code can't simply throw the descriptor back into the work list. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T06:59:59.760245Z K 7 svn:log V 116 Add a comment describing what may occur during retries. Another thing to sort out before this is merged into -HEAD. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T07:28:04.367080Z K 7 svn:log V 120 The descriptor + link is going to be updated anyway; so there's no need to copy the descriptors into the cloned buffer. END K 10 svn:author V 4 gber K 8 svn:date V 27 2011-08-24T07:49:18.267120Z K 7 svn:log V 64 Initial support for armv6/v7. Obtained from: Marvell, Semihalf END K 10 svn:author V 4 gber K 8 svn:date V 27 2011-08-24T07:52:55.144990Z K 7 svn:log V 77 Created new implementation of busdma for armv6. Submitted by: Mark Tinguely END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T08:27:00.592371Z K 7 svn:log V 69 Add some debugging to spit out the txbuf count and busy txbuf count. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T08:32:51.928691Z K 7 svn:log V 873 Fix a TX hang that crept in when I flipped in ATH_BUF_BUSY / TX buf cloning. This was due to an ATH_BUF_BUSY buffer ending up at the head of the txbuf list, causing ath_getbuf() to halt TX until the TX queue had caught up. Since the TX queue wasn't -really- full, TX would stay paused. The basic problem: because I just checked the busy flag, the: * buffer would be cloned; the ATH_BUF_BUSY tagged buffer would be freed and tossed onto the end of the list; * if the new cloned buffer (not busy) was already at max retries, the new non-busy buffer would be freed, and added to the end of the list; and thus the busy buffer isn't at the end of the list; * .. and bewm. The flag would never be cleared. Also, whilst I'm at it, add a comment about an error condition if the buffer can't be cloned - i may end up confusing the DMA code a bit. I'll sort that out later. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T08:38:44.326365Z K 7 svn:log V 59 Create a new debug flag to print out the software retries. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T08:53:33.985911Z K 7 svn:log V 411 This patch fixes beacon frame sequence number generation. The code didn't set a sequence number; it didn't show up earlier because the hardware most people use for hostap (ie, AR5212 series stuff) sets the sequence numbers up in hardware. Later hardware (AR5416, etc) which can do 11n and aggregation require sequence numbers to be generated in software. Submitted by: paradyse@gmail.com Approved by: re (kib) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-24T09:08:07.938886Z K 7 svn:log V 115 Add ID for ASMedia ASM1061 2-port PCIe 2.0 x1 6Gb/s SATA controller. Approved by: re (blackend) MFC after: 1 week END K 10 svn:author V 6 cognet K 8 svn:date V 27 2011-08-24T09:54:21.495643Z K 7 svn:log V 38 Remove dead code Noticed by: dmarion END K 10 svn:author V 3 gjb K 8 svn:date V 27 2011-08-24T12:18:29.393668Z K 7 svn:log V 253 Reword sentence noting UPDATING entries prior to October 2007 are only available in older FreeBSD releases. PR: 159220 Submitted by: arundel Patch by: Benjamin Kaduk (kaduk % mit ! edu) OK'd by: imp (via -doc@) MFC after: 1 week Approved by: re (kib) END K 10 svn:author V 4 gber K 8 svn:date V 27 2011-08-24T13:35:56.577937Z K 7 svn:log V 69 Few small fixes and whitespace removal. Submitted by: Damjan Marion END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-24T14:09:32.676632Z K 7 svn:log V 123 First part of SAF-TE driver refactoring to the new fsm-based model: - make configuration and status reading asynchronous. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-08-24T14:11:00.739588Z K 7 svn:log V 428 Fix a missing initialisation of bt_flags when setting up the TDMA beacon. The AR5212 HAL didn't check this field; timers are enabled a different way. The AR5416 HAL however did, and since this field was uninitialised, it had whatever was on the stack at the time. This lead to "unpredictable" behaviour. This allows TDMA to work on the AR5416 and later chipsets. Thanks to: paradyse@gmail.com Approved by: re (kib, blanket) END K 10 svn:author V 4 gber K 8 svn:date V 27 2011-08-24T14:12:35.276492Z K 7 svn:log V 63 Added initial Cortex-Axx support. Submitted by: Damjan Marion END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-08-24T14:53:49.545457Z K 7 svn:log V 66 Try to read global flags on startup. Fix SAFT_BAIL() macro usage. END K 10 svn:author V 3 hrs K 8 svn:date V 27 2011-08-24T18:41:48.786866Z K 7 svn:log V 21 Refine log messages. END K 10 svn:author V 3 hrs K 8 svn:date V 27 2011-08-24T18:44:05.586975Z K 7 svn:log V 88 Fix SIGSEGV when receiving RAs that contain RDNSS and/or DNSSL options. Spotted by: ps END K 10 svn:author V 3 hrs K 8 svn:date V 27 2011-08-24T19:01:37.869329Z K 7 svn:log V 74 Fix -F flag handling to support receiving RAs even when ip6.forwarding=1. END K 10 svn:author V 3 hrs K 8 svn:date V 27 2011-08-24T19:27:49.461652Z K 7 svn:log V 131 Add ip6.rfc6204w3 to support accepting the default router lists from RAs even when ip6.forwarding=1. Obtained from: m0n0wall r475 END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-08-24T20:05:13.053725Z K 7 svn:log V 686 Rtld links with the specially built pic static libc library to get some C runtime services, like printf(). Unfortunately, the multithread-safeness measures in the libc do not work in rtld environment. Rip the kernel printf() implementation and use it in the rtld instead of libc version. This printf does not require any shared global data and thus is mt-safe. Systematically use rtld_printf() and related functions, remove the calls to err(3). Note that stdio is still pulled from libc due to libmap implementaion using fopen(). This is safe but unoptimal, and can be changed later. Reported and tested by: pgj Diagnosed and reviewed by: kan (previous version) Approved by: re (bz) END K 10 svn:author V 3 pjd K 8 svn:date V 27 2011-08-24T22:07:38.549635Z K 7 svn:log V 133 We need to unlock and destroy vnode attached to znode which we are freeing. Reviewed by: kib Approved by: re (bz) MFC after: 1 week END