ƒ´Y248679 158 541 276 663 142 133 459 168 203 165 131 164 734 276 454 212 368 165 239 212 488 343 182 289 167 394 277 357 726 513 802 331 99 120 674 300 427 709 194 321 273 275 210 169 294 153 145 129 311 154 491 243 226 423 279 495 239 314 211 379 251 170 238 241 360 323 446 1548 626 215 574 272 2861 232 370 295 488 502 514 219 220 367 208 373 441 428 500 260 351 756 228 549 229 251 334 278 330 186 565 223 492 300 148 176 800 132 188 150 330 602 369 712 320 99 705 120 592 283 545 180 214 402 389 213 358 172 118 115 269 343 311 376 185 234 255 194 142 544 384 402 149 168 327 526 197 231 189 388 216 153 159 186 873 178 221 247 365 190 774 K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-24T10:14:25.262129Z K 7 svn:log V 448 Fix long known deadlock between geom dev destruction and d_close() call. Use destroy_dev_sched_cb() to not wait for device destruction while holding GEOM topology lock (that actually caused deadlock). Use request counting protected by mutex to properly wait for outstanding requests completion in cases of device closing and geom destruction. Unlike r227009, this code does not block taskqueue thread for indefinite time, waiting for completion. END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2013-03-24T10:41:29.037389Z K 7 svn:log V 180 Resolve clang compile errors on amd64/i386 for certain by casting. compile tested with clang on i386, amd64 compile tested with gcc on i386, amd64, sparc64 Submitted by: delphij END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-03-24T12:35:12.392186Z K 7 svn:log V 567 MFC r248446: find: Include nanoseconds when comparing timestamps of files. When comparing to the timestamp of a given file using -newer, -Xnewer and -newerXY (where X and Y are one of m, c, a, B), include nanoseconds in the comparison. The primaries that compare a timestamp of a file to a given value (-Xmin, -Xtime, -newerXt) continue to compare times in whole seconds. Note that the default value 0 of vfs.timestamp_precision almost always causes the nanoseconds part to be 0. However, touch -d can set a timestamp to the microsecond regardless of that sysctl. END K 10 svn:author V 7 antoine K 8 svn:date V 27 2013-03-24T12:39:26.272090Z K 7 svn:log V 46 Add 2 more obsolete files and a missing date. END K 10 svn:author V 4 miwi K 8 svn:date V 27 2013-03-24T16:41:23.121914Z K 7 svn:log V 40 - Make sure /dev/fd get first umounted. END K 10 svn:author V 3 alc K 8 svn:date V 27 2013-03-24T16:43:07.963786Z K 7 svn:log V 366 Micro-optimize the control flow in a few places. Eliminate a panic call that could never be reached in vm_radix_insert(). (If the pointer being checked by the panic call were ever NULL, the immmediately preceding loop would have already crashed on a NULL pointer dereference.) Reviewed by: attilio (an earlier version) Sponsored by: EMC / Isilon Storage Division END K 10 svn:author V 4 miwi K 8 svn:date V 27 2013-03-24T16:44:30.977885Z K 7 svn:log V 75 - workaround bug leaking user 5201 for unknown reasons Submitted by: bapt END K 10 svn:author V 4 miwi K 8 svn:date V 27 2013-03-24T16:48:40.229336Z K 7 svn:log V 109 - tell jexec whish shell to use (this seems to fix jexec: execvp(): /buildscript: No such file or directory) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-24T16:51:21.267763Z K 7 svn:log V 73 No need to erase all 64 bytes of CFIS area if we never use more then 16. END K 10 svn:author V 4 miwi K 8 svn:date V 27 2013-03-24T16:53:08.316701Z K 7 svn:log V 38 - hardcode zbase to fix client setup. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-24T17:23:10.590906Z K 7 svn:log V 72 Set the backlink in mmc commands to the mmc request that contains them. END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-03-24T19:12:08.313907Z K 7 svn:log V 641 Dtrace: add optional size argument to tracemem(). Merge change from illumos: 1455 DTrace tracemem() should take an optional size argument Our local enhancements to dt_print_bytes were equivalent to those in illumos but we made it match the illumos version to ease further code merges. For now leave out tst.smallsize.d and tst.smallsize.d.out since those don't seem to work cleanly on FreeBSD. This change bumps the DT_VERS_* number to 1.7.1 in accordance to what is done in illumos. Illumos Revision: 13457:571b0355c2e3 Reference: https://www.illumos.org/issues/1455 Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 month END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2013-03-24T22:37:10.073398Z K 7 svn:log V 178 Note that output is in seconds, not msec. KNF indentation. No functional change. No change to printf strings. No change to casting of printf arguments. Reported by: Bruce Evans END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-03-24T22:48:45.199195Z K 7 svn:log V 358 sh(1): Mention possible ambiguities with $(( and ((. In some other shells, things like $((a);(b)) are command substitutions. Also, there are shells that have an extension ((ARITH)) that evaluates an arithmetic expression and returns status 1 if the result is zero, 0 otherwise. This extension may lead to ambiguity with two subshells starting in sequence. END K 10 svn:author V 4 gleb K 8 svn:date V 27 2013-03-25T00:31:14.036751Z K 7 svn:log V 118 Add shlib-compat under tools. shlib-compat is ABI compatibility checker for shared libraries with symbol versioning. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-25T05:45:24.356257Z K 7 svn:log V 275 In GEOM DISK: - Replace single done mutex with per-disk ones. On system with several disks on several HBAs that removes small, but measurable lock congestion. - Modify disk destruction process to not destroy the mutex prematurely. - Remove some extra pointer derefences. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-25T06:31:17.040633Z K 7 svn:log V 73 Remove two bzero()s that are erasing only few more bytes then set later. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-25T07:24:58.177612Z K 7 svn:log V 146 Make GEOM MULTIPATH to report unmapped bio support if underling path report it. GEOM MULTIPATH itself never touches the data and so transparent. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-03-25T07:43:46.898614Z K 7 svn:log V 120 When we are removing a specific set, call ipfw_expire_dyn_rules only once. Obtained from: Yandex LLC MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-25T08:50:51.502753Z K 7 svn:log V 395 Depending on combination of running commands (NCQ/non-NCQ) try to avoid extra read from PxCI/PxSACT registers. If only NCQ commands are running, we don't really need PxCI. If only non-NCQ commands are running we don't need PxSACT. Mixed set may happen only on controllers with FIS-based switching when port multiplier is attached, and then we have to read both registers. MFC after: 1 month END K 10 svn:author V 6 davide K 8 svn:date V 27 2013-03-25T09:43:50.503690Z K 7 svn:log V 247 Cache the callout precision argument as part of the informations required for migrating callouts to new CPU. This value is passed to callout_cc_add() in order to update properly precision field in case of rescheduling/migration. Reviewed by: mav END K 10 svn:author V 5 maxim K 8 svn:date V 27 2013-03-25T12:38:45.922447Z K 7 svn:log V 88 o Typo: IEE -> IEEE. PR: docs/173069 Submitted by: Bjorn Heidotting MFC after: 1 week END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-03-25T13:03:24.248144Z K 7 svn:log V 193 Add a two functions to pmap_pv tracking: i) To run a callback on every iterated entry ii) To free a pv entry and it's associated chunk (from amd64/amd64/pmap.c) Approved by: gibbs(implicit) END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-03-25T13:23:47.479785Z K 7 svn:log V 72 Avoid unused variable warning for pm_pml4 Approved by: gibbs(implicit) END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-03-25T13:33:06.431594Z K 7 svn:log V 298 This commit combines the following features: i) Context switch now DTRT and maps in userspace into a separate kernel VA ii) Supporting pmap_xxx() functions for boot progress have been added. iii) Boottime \"dummy\" user page tables have been temporarily disabled. Approved by: gibbs(implicit) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-25T13:58:17.912213Z K 7 svn:log V 184 Read Asynchronous Notification statuses only if Port Multiplier or ATAPI device are connected. ATA disks are not using ANs, while the extra register read operation is quite expensive. END K 10 svn:author V 8 melifaro K 8 svn:date V 27 2013-03-25T14:30:34.571639Z K 7 svn:log V 259 Unlock IPMI sc while performing requests via KCS and SMIC interfaces. It is already done in SSIF interface code. This reduces contention/spinning reported by many users. PR: kern/172166 Submitted by: Eric van Gyzen MFC after: 2 weeks END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-03-25T15:40:57.934692Z K 7 svn:log V 633 Dtrace: add toupper()/tolower() and enhancements to lltostr(). Merge changes from illumos: 1451 DTrace needs toupper()/tolower() subroutines 1457 lltostr() D subroutine should take an optional base This change bumps the DT_VERS_* number to 1.8.1 in accordance to what is done in illumos. The test suite we currently include is outdated and doesnt support some updates in tst.subr.d which had to be left out for now. Illumos Revisions: r13458 5e394d8db762 r13459 c3454574dd1a Reference: https://www.illumos.org/issues/1451 https://www.illumos.org/issues/1457 Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 month END K 10 svn:author V 7 trociny K 8 svn:date V 27 2013-03-25T19:12:36.629256Z K 7 svn:log V 416 hrStorageSize and hrStorageUsed are 32 bit integers, reporting a fs size and usage in hrStorageAllocationUnits. If the file system has more than 2^31 allocations it can not be shown correctly and the meters are useless. In such cases follow net-snmp behaviour and increase hrStorageAllocationUnits so the values fit under INT_MAX. PR: bin/177183 Submitted by: Eugene Grosbein egrosbein rdtc.ru MFC after: 2 weeks END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-03-25T20:38:09.043349Z K 7 svn:log V 709 Dtrace: Add SUN MDB-like type-aware print() action. Merge change from illumos: 1694 Add type-aware print() action This is a very nice feature implemented in upstream Dtrace. A complete description is available here: http://dtrace.org/blogs/eschrock/2011/10/26/your-mdb-fell-into-my-dtrace/ This change bumps the DT_VERS_* number to 1.9.0 in accordance to what is done in illumos. While here also include some minor cleanups to ease further merging and appease clang with a fix by Fabian Keil. Illumos Revisions: 13501:c3a7090dbc16 13483:f413e6c5d297 Reference: https://www.illumos.org/issues/1560 https://www.illumos.org/issues/1694 Tested by: Fabian Keil Obtained from: Illumos MFC after: 1 month END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-03-25T22:40:38.291689Z K 7 svn:log V 234 Make the obj->bcount protected by the swhash_mtx mutex. This way few swapper specific functions can now get object lock in read mode. Where the most notable case is swap_pager_freespace(). Sponsored by: EMC / Isilon storage division END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-03-25T23:22:40.880819Z K 7 svn:log V 4 MFC END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-03-25T23:38:01.414007Z K 7 svn:log V 24 Merge from vmcontention END K 10 svn:author V 3 kan K 8 svn:date V 27 2013-03-26T01:17:06.684818Z K 7 svn:log V 581 Do not pass unmapped buffers to drivers that cannot handle them In physio, check if device can handle unmapped IO and pass an appropriately mapped buffer to the driver strategy routine. The only driver in the tree that can handle unmapped buffers is one exposed by GEOM, so mark it as such with the new flag in the driver cdevsw structure. This fixes insta-panics on hosts, running dconschat, as /dev/fwmem is an example of the driver that makes use of physio routine, but bypasses the g_down thread, where the buffer gets mapped normally. Discussed with: kib (earlier version) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-26T04:47:40.460626Z K 7 svn:log V 204 Migrate the multicast queue assembly code to not use the axq_link pointer and instead use the HAL method to set the link pointer. Tested: * AR9280, hostap mode, CABQ frames being queued and transmitted END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-26T04:48:58.204548Z K 7 svn:log V 331 Convert the EDMA multicast queue code over to use the HAL method to set the descriptor link pointer, rather than directly. This is needed on AR9380 and later (ie, EDMA) NICs so the multicast queue has a chance in hell of being put together right. Tested: * AR9380, AR9580 in hostap mode, CABQ traffic (but with other patches..) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-26T04:52:16.726204Z K 7 svn:log V 613 Convert the CABQ queue code over to use the HAL link pointer method instead of axq_link. This (among a bunch of uncommitted work) is required for EDMA chips to correctly transmit frames on the CABQ. Tested: * AR9280, hostap mode * AR9380/AR9580, hostap mode (staggered beacons) TODO: * This code only really gets called when burst beacons are used; it glues multiple CABQ queues together when sending to the hardware. * More thorough bursted beacon testing! (first requires some work with the beacon queue code for bursted beacons, as that currently uses the link pointer and will fail on EDMA chips.) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-26T04:53:40.755231Z K 7 svn:log V 99 Remove this dead code - it's no longer relevant (as yes, we do actually support TX on EDMA chips.) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-26T04:56:54.490367Z K 7 svn:log V 225 Remove the mcast path calls to ath_hal_gettxdesclinkptr() for axq_link - they're no longer needed for the legacy path and they're not wanted for the EDMA path. Tested: * AR9280, hostap + CABQ * AR9380/AR9580, hostap + CABQ END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-03-26T05:25:43.445126Z K 7 svn:log V 177 Oops, missed out supporting bits for r248703: - store machine address in pcb->pcb_cr3. This prevents AS reloads within kernel space. Approved by: gibbs(implicit) END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-03-26T05:31:08.893742Z K 7 svn:log V 179 SYSINIT(9) completes successfully, let's make bootup less verbose. We also re-enable a couple of useful drivers, namely: random(4), tun(4) and md(4) Approved by: gibbs(implicit) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-26T05:42:12.871299Z K 7 svn:log V 117 Remove extra bio_data and bio_length copying to child request after calling g_clone_bio(), that already copied them. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-26T05:58:49.751556Z K 7 svn:log V 77 GEOM NOP does not touch the data, so pass G_PF_ACCEPT_UNMAPPED flag through. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-26T07:55:24.985988Z K 7 svn:log V 201 geom_slice.c and its consumers like GEOM_LABEL are not touching the data unless hotspots are used. Pass G_PF_ACCEPT_UNMAPPED flag through except such rare cases (obsolete GEOM_SUNLABEL and GEOM_BSD). END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-03-26T10:08:54.727351Z K 7 svn:log V 58 remove stray debug printk() Approved by: gibbs(implicit) END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-26T14:05:37.736531Z K 7 svn:log V 49 Cleanup: wrap long lines, cleanup comments, etc. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-26T14:08:14.404661Z K 7 svn:log V 33 Return ENOMEM if malloc() fails. END K 10 svn:author V 5 andre K 8 svn:date V 27 2013-03-26T14:36:11.302086Z K 7 svn:log V 216 Switch from the vectored key setting approach to one key operation per setsockopt(). It is much simpler for applications using TCP-AO to implement and has only a negligible overhead. Sponsored by: Juniper Networks END K 10 svn:author V 7 dchagin K 8 svn:date V 27 2013-03-26T16:38:03.742160Z K 7 svn:log V 58 Calculate the %rip value rather than hard coding numbers. END K 10 svn:author V 3 alc K 8 svn:date V 27 2013-03-26T17:30:40.372990Z K 7 svn:log V 398 Introduce vm_radix_isleaf() and use it in a couple places. As compared to using vm_radix_node_page() == NULL, the compiler is able to generate one less conditional branch when vm_radix_isleaf() is used. More use cases involving the inner loops of vm_radix_insert(), vm_radix_lookup{,_ge,_le}(), and vm_radix_remove() will follow. Reviewed by: attilio Sponsored by: EMC / Isilon Storage Division END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:01:24.421676Z K 7 svn:log V 144 Do not look at the namespace's thin provisioning field to determine if DSM command is supported. The two are not related. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:16:30.609995Z K 7 svn:log V 127 Make the DSM range count 0-based. Previously we were deallocating one more LBA than we should have been. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:20:11.124692Z K 7 svn:log V 324 Add an internal _nvme_qpair_submit_request function, which performs the submit action assuming the qpair lock has already been acquired. Also change nvme_qpair_submit_request to just lock/unlock the mutex around a call to this new function. This fixes a recursive mutex acquisition in the retry path. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:23:35.340681Z K 7 svn:log V 180 Add support for ABORT commands, including issuing these commands when an I/O times out. Also ensure that we retry commands that are aborted due to a timeout. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:27:22.991192Z K 7 svn:log V 396 Break out the code for completing an nvme_tracker object into a separate function. This allows for completions outside the normal completion path, for example when an ABORT command fails due to the controller reporting the targeted command does not exist. This is mainly for protection against a faulty controller, but we need to clean up our internal request nonetheless. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:29:04.631177Z K 7 svn:log V 140 Explicitly abort a timed out command, if the ABORT command sent to the controller indicates the command was not found. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:31:46.475386Z K 7 svn:log V 215 Specify command timeout interval on a per-command type basis. This is primarily driven by the need to disable timeouts for asynchronous event requests, which by nature should not be timed out. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:34:19.926297Z K 7 svn:log V 112 Move controller destruction code from nvme_detach() to new nvme_ctrlr_destruct() function. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:37:36.006051Z K 7 svn:log V 280 Enable asynchronous event requests on non-Chatham devices. Also add logic to clean up all outstanding asynchronous event requests when resetting or shutting down the controller, since these requests will not be explicitly completed by the controller itself. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:39:54.968308Z K 7 svn:log V 152 Add an interface for nvme shim drivers (i.e. nvd) to register for notifications when new nvme controllers are added to the system. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:42:05.110326Z K 7 svn:log V 72 Expose the get/set features API to nvme consumers. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:43:53.219022Z K 7 svn:log V 139 Create a generic nvme_ctrlr_cmd_get_log_page function, and change the health information log page function to use it. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T18:45:16.579890Z K 7 svn:log V 142 Keep a doubly-linked list of outstanding trackers. This enables in-order re-submission of I/O after a controller reset. Sponsored by: Intel END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-03-26T18:46:40.263833Z K 7 svn:log V 265 Make sure to set OBJS consistently in the cases where SRCS is and isn't already defined. Setting it with "+=" makes it possible for other make scripts (e.g. bsd.dtrace.mk) to include additional object files in the linker arguments. Approved by: emaste (co-mentor) END K 10 svn:author V 8 melifaro K 8 svn:date V 27 2013-03-26T18:57:25.558465Z K 7 svn:log V 225 Permit changing MTU in 6to4 relay. This behavior is recommended by RFC 4213 clause 3.2. Sometimes fragmentation is the least evil. For example, some Linux IPVS kernels forwards ICMPv6 checksums to real servers incorrectly. END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-03-26T19:43:18.844969Z K 7 svn:log V 351 Invert the meaning of -S (added in r247405) and document its meaning. Also, don't carp about the watchdog command taking too long until after the watchdog has been patted, and don't carp via warnx(3) unless -S is set since syslog(3) already logs to standard error otherwise. Discussed with: alfred Reviewed by: alfred Approved by: emaste (co-mentor) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-26T19:46:51.172810Z K 7 svn:log V 1451 Add per-TXQ EDMA FIFO staging queue support. Each set of frames pushed into a FIFO is represented by a list of ath_bufs - the first ath_buf in the FIFO list is marked with ATH_BUF_FIFOPTR; the last ath_buf in the FIFO list is marked with ATH_BUF_FIFOEND. Multiple lists of frames are just glued together in the TAILQ as per normal - except that at the end of a FIFO list, the descriptor link pointer will be NULL and it'll be tagged with ATH_BUF_FIFOEND. For non-EDMA chipsets this is a no-op - the ath_txq frame list (axq_q) stays the same and is treated the same. For EDMA chipsets the frames are pushed into axq_q and then when the FIFO is to be (re) filled, frames will be moved onto the FIFO queue and then pushed into the FIFO. So: * Add a new queue in each hardware TXQ (ath_txq) for staging FIFO frame lists. It's a TAILQ (like the normal hardware frame queue) rather than the ath9k list-of-lists to represent FIFO entries. * Add new ath_buf flags - ATH_TX_FIFOPTR and ATH_TX_FIFOEND. * When allocating ath_buf entries, clear out the flag value before returning it or it'll end up having stale flags. * When cloning ath_buf entries, only clone ATH_BUF_MGMT. Don't clone the FIFO related flags. * Extend ath_tx_draintxq() to first drain the FIFO staging queue, _then_ drain the normal hardware queue. Tested: * AR9280, hostap * AR9280, STA * AR9380/AR9580 - hostap TODO: * Test on other chipsets, just to be thorough. END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T19:50:46.713762Z K 7 svn:log V 527 Add controller reset capability to nvme(4) and ability to explicitly invoke it from nvmecontrol(8). Controller reset will be performed in cases where I/O are repeatedly timing out, the controller reports an unrecoverable condition, or when explicitly requested via IOCTL or an nvme consumer. Since the controller may be in such a state where it cannot even process queue deletion requests, we will perform a controller reset without trying to clean up anything on the controller first. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T19:52:57.792408Z K 7 svn:log V 116 Add API for nvme consumers to access controller and namespace identify data. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T19:58:17.648761Z K 7 svn:log V 475 Add handling for controller fatal status (csts.cfs). On any I/O timeout, check for csts.cfs==1. If set, the controller is reporting fatal status and we reset the controller immediately, rather than trying to abort the timed out command. This changeset also includes deferring the controller start portion of the reset to a separate task. This ensures we are always performing a controller start operation from a consistent context. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T20:02:35.838706Z K 7 svn:log V 173 Add a tunable for the I/O timeout interval. Default is still 30 seconds, but can be adjusted between a min/max of 5 and 120 seconds. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-26T20:04:45.799159Z K 7 svn:log V 2764 Implement the replacement EDMA FIFO code. (Yes, the previous code temporarily broke EDMA TX. I'm sorry; I should've actually setup ATH_BUF_FIFOEND on frames so txq->axq_fifo_depth was cleared!) This code implements a whole bunch of sorely needed EDMA TX improvements along with CABQ TX support. The specifics: * When filling/refilling the FIFO, use the new TXQ staging queue for FIFO frames * Tag frames with ATH_BUF_FIFOPTR and ATH_BUF_FIFOEND correctly. For now the non-CABQ transmit path pushes one frame into the TXQ staging queue without setting up the intermediary link pointers to chain them together, so draining frames from the txq staging queue to the FIFO queue occurs AMPDU / MPDU at a time. * In the CABQ case, manually tag the list with ATH_BUF_FIFOPTR and ATH_BUF_FIFOEND so a chain of frames is pushed into the FIFO at once. * Now that frames are in a FIFO pending queue, we can top up the FIFO after completing a single frame. This means we can keep it filled rather than waiting for it drain and _then_ adding more frames. * The EDMA restart routine now walks the FIFO queue in the TXQ rather than the pending queue and re-initialises the FIFO with that. * When restarting EDMA, we may have partially completed sending a list. So stamp the first frame that we see in a list with ATH_BUF_FIFOPTR and push _that_ into the hardware. * When completing frames, only check those on the FIFO queue. We should never ever queue frames from the pending queue direct to the hardware, so there's no point in checking. * Until I figure out what's going on, make sure if the TXSTATUS for an empty queue pops up, complain loudly and continue. This will stop the panics that people are seeing. I'll add some code later which will assist in ensuring I'm populating each descriptor with the correct queue ID. * When considering whether to queue frames to the hardware queue directly or software queue frames, make sure the depth of the FIFO is taken into account now. * When completing frames, tag them with ATH_BUF_BUSY if they're not the final frame in a FIFO list. The same holding descriptor behaviour is required when handling descriptors linked together with a link pointer as the hardware will re-read the previous descriptor to refresh the link pointer before contiuning. * .. and if we complete the FIFO list (ie, the buffer has ATH_BUF_FIFOEND set), then we don't need the holding buffer any longer. Thus, free it. Tested: * AR9380/AR9580, STA and hostap * AR9280, STA/hostap TODO: * I don't yet trust that the EDMA restart routine is totally correct in all circumstances. I'll continue to thrash this out under heavy multiple-TXQ traffic load and fix whatever pops up. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-03-26T20:11:09.908006Z K 7 svn:log V 136 Unconditionally include ${SRCCONF} if overridden This avoids silently failing to include ${SRCCONF} specified by a make(1) invocation. END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-03-26T20:17:08.180109Z K 7 svn:log V 277 Dtrace: dtrace.c erroneously checks for memory alignment on amd64. Merge change from illumos: 3511 dtrace.c erroneously checks for memory alignment on amd64 Illumos Revision: c93cc65 Reference: https://www.illumos.org/issues/3511 Obtained from: Illumos MFC after: 3 weeks END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-03-26T20:32:46.376153Z K 7 svn:log V 199 Always define and use PROGNAME This avoids having separate cases in the install rule for PROGNAME set and not set. This is a minor cleanup in advance of further support for standalone debug files. END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T20:32:57.415331Z K 7 svn:log V 389 By default, always escalate to controller reset when an I/O times out. While aborts are typically cleaner than a full controller reset, many times an I/O timeout indicates other controller-level issues where aborts may not work. NVMe drivers for other operating systems are also defaulting to controller reset rather than aborts for timed out I/O. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T20:56:58.530540Z K 7 svn:log V 403 Make nvme_ctrlr_reset a nop if a reset is already in progress. This protects against cases where a controller crashes with multiple I/O outstanding, each timing out and requesting controller resets simultaneously. While here, remove a debugging printf from a previous commit, and add more logging around I/O that need to be resubmitted after a controller reset. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:00:18.262146Z K 7 svn:log V 415 Create struct nvme_status. NVMe error log entries include status, so breaking this out into its own data structure allows it to be included in both the nvme_completion data structure as well as error log entry data structures. While here, expose nvme_completion_is_error(), and change all of the places that were explicitly looking at sc/sct bits to use this macro instead. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:01:53.413751Z K 7 svn:log V 120 Add structure definitions and a controller command function for error log pages. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:03:03.458841Z K 7 svn:log V 121 Add structure definitions and controller command function for firmware log pages. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:05:15.637380Z K 7 svn:log V 268 When an asynchronous event request is completed, automatically fetch the specified log page. This satisfies the spec condition that future async events of the same type will not be sent until the associated log page is fetched. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:08:32.110233Z K 7 svn:log V 109 Pass associated log page data to async event consumers, if requested. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:14:51.573353Z K 7 svn:log V 274 Cap the number of retry attempts to a configurable number. This ensures that if a specific I/O repeatedly times out, we don't retry it indefinitely. The default number of retries will be 4, but is adjusted using hw.nvme.retry_count. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:16:53.837933Z K 7 svn:log V 342 Ensure the controller's MDTS is accounted for in max_xfer_size. The controller's IDENTIFY data contains MDTS (Max Data Transfer Size) to allow the controller to specify the maximum I/O data transfer size. nvme(4) already provides a default maximum, but make sure it does not exceed what MDTS reports. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:19:26.375614Z K 7 svn:log V 329 Remove the is_started flag from struct nvme_controller. This flag was originally added to communicate to the sysctl code which oids should be built, but there are easier ways to do this. This needs to be cleaned up prior to adding new controller states - for example, controller failure. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:42:53.539579Z K 7 svn:log V 401 Set Pre-boot Software Load Count to 0 at the end of the controller start process. The spec indicates the OS driver should use Set Features (Software Progress Marker) to set the pre-boot software load count to 0 after the OS driver has successfully been initialized. This allows pre-boot software to determine if there have been any issues with the OS loading. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:45:37.886918Z K 7 svn:log V 161 Have nvd(4) register for controller notifications. Also have nvd maintain controller/namespace relationships internally. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:48:41.329830Z K 7 svn:log V 252 Just disable the controller instead of deleting IO queues during detach. This is just as effective, and removes the need for a bunch of admin commands to a controller that's going to be disabled shortly anyways. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T21:58:38.951242Z K 7 svn:log V 657 Add the ability to internally mark a controller as failed, if it is unable to start or reset. Also add a notifier for NVMe consumers for controller fail conditions and plumb this notifier for nvd(4) to destroy the associated GEOM disks when a failure occurs. This requires a bit of work to cover the races when a consumer is sending I/O requests to a controller that is transitioning to the failed state. To help cover this condition, add a task to defer completion of I/Os submitted to a failed controller, so that the consumer will still always receive its completions in a different context than the submission. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T22:06:05.583527Z K 7 svn:log V 129 Abort and do not retry any outstanding admin commands left over after a controller reset. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T22:09:51.204582Z K 7 svn:log V 450 Replace usages of mtx_pool_find used for admin commands with a polling mechanism. Now that all requests are timed, we are guaranteed to get a completion notification, even if it is an abort status due to a timed out admin command. This has the effect of simplifying the controller and namespace setup code, so that it reads straight through rather than broken up into a bunch of different callback functions. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T22:11:34.211732Z K 7 svn:log V 130 Change a number of malloc(9) calls to use M_WAITOK instead of M_NOWAIT. Sponsored by: Intel Suggested by: carl Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T22:13:07.291551Z K 7 svn:log V 152 Move common code from the different nvme_allocate_request functions into a separate function. Sponsored by: Intel Suggested by: carl Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T22:14:47.964792Z K 7 svn:log V 235 Use errno and strerror to print more descriptive messages when operations fail in nvmecontrol(8). While here, use consistent checks of return values from stat, open and ioctl. Sponsored by: Intel Suggested by: carl Reviewed by: carl END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T22:17:10.680436Z K 7 svn:log V 179 Clean up debug prints. 1) Consistently use device_printf. 2) Make dump_completion and dump_command into something more human-readable. Sponsored by: Intel Reviewed by: carl END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-03-26T22:46:56.064939Z K 7 svn:log V 234 accept(2): Mention inheritance of O_ASYNC and signal destination. While almost nobody uses O_ASYNC, and rightly so, the inheritance of the related properties across accept() is a portability issue like the inheritance of O_NONBLOCK. END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-26T23:04:06.223056Z K 7 svn:log V 88 Report support for unmapped I/O by adding PIM_UNMAPPED flag. Submitted by: jhb, scottl END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-03-26T23:11:30.877954Z K 7 svn:log V 470 Fix interval-based rotations when the -t flag is used. In this case, find the most-recently archived logfile and use its mtime to determine whether or not to rotate, as in the non-timestamped case. Previously we would just try to use the mtime of .0, which always results in a rotation since it generally doesn't exist in the -t case. PR: bin/166448 Approved by: emaste (co-mentor) Tested by: Marco Steinbach MFC after: 2 weeks END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-03-26T23:58:13.294700Z K 7 svn:log V 129 Loosen restrictions for quoted strings. Now we can use more complex strings and "escaped" quote characters. MFC after: 1 month END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-27T00:15:22.532229Z K 7 svn:log V 393 Panic should the SCI framework ever request a pointer into the ccb's data buffer for a ccb that is unmapped. This case is currently not possible, since the SCI framework only requests these pointers for doing SCSI/ATA translation of non- READ/WRITE commands. The panic is more to protect against the unlikely future scenario where additional commands could be unmapped. Sponsored by: Intel END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-27T00:35:45.579260Z K 7 svn:log V 204 * Stop processing after HAL_EIO; this is what the reference driver does. * If we hit an empty queue condition (which I haven't yet root caused, grr.) .. make sure we release the lock before continuing. END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-27T00:37:00.452177Z K 7 svn:log V 50 Fix printf format issue on i386. Reported by: bz END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-27T03:33:19.284671Z K 7 svn:log V 81 Add the reference clock for each supported chip. Obtained from: Linux (openwrt) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-27T03:38:58.950002Z K 7 svn:log V 704 Commit initial (unfinished!) support for the AR933x series of embedded CPUs. The AR933x is a mips24k based SoC with an AR9380 series SoC on board, two gigabit ethernet interfaces and an internal 10/100mbit ethernet switch. There's also the normal interfaces (USB, ethernet, uart, GPIO.) The downside? There's a non-ns8250 UART device. With a very basic UART driver (not in this commit) the SoC is initialised and boots up. I'll commit the UART code soon and then link it into the general setup path. This code is a re-implementation based from the Linux kernel / openwrt AR933x support. TODO: * UART (obviously) * All of the ethernet, USB and wifi SoC glue, including ethernet PLL programming. END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-03-27T07:11:29.196444Z K 7 svn:log V 37 Add missing space MFC after: 3 days END K 10 svn:author V 5 erwin K 8 svn:date V 27 2013-03-27T07:15:01.865480Z K 7 svn:log V 94 Vendor import of Bind 9.8.4-P2 Approved by: delphij (mentor) Sponsored by: DK Hostmaster A/S END K 10 svn:author V 5 erwin K 8 svn:date V 27 2013-03-27T07:16:14.148268Z K 7 svn:log V 56 Tag the 9.8.4-P2 release Approved by: delphij (mentor) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-27T07:30:08.057709Z K 7 svn:log V 237 Add Subsystem ID field to the quirk table. Use it to identify Mac Pro 1,1, which requires OVREF to be set to get proper playback volume, but which has all zeroes in HDA controller subdevice IDs on PCI. MFC after: 1 month Sponsored by: END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-03-27T07:58:29.037905Z K 7 svn:log V 509 MFC r248672: Compile contrib/tzcode/stdtime/localtime.c with -fwrapv, since it relies on signed integer overflow wrapping. Otherwise mktime(3) and timegm(3) can hang, in case the timestamp passed in struct tm is not representable in a time_t. Specifically, any timestamp after 2038-01-19 03:14:07, in combination with a 32-bit time_t. Note that it would be better to change the code to not rely on undefined behaviour, but it is contributed code, and it is not entirely trivial to fix the issue properly. END K 10 svn:author V 5 erwin K 8 svn:date V 27 2013-03-27T10:11:43.652984Z K 7 svn:log V 274 Update to 9.8.4-P2 Removed the check for regex.h in configure in order to disable regex syntax checking, as it exposes BIND to a critical flaw in libregex on some platforms. [RT #32688] Security: CVE-2013-2266 Approved by: delphij (mentor) Sponsored by: DK Hostmaster A/S END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-27T10:52:18.402499Z K 7 svn:log V 619 Fix the VM_BCACHE_SIZE_MAX definition on i386 to match the maximal buffer map size, auto-tuned on the 4GB machine. Having the maxbcache bigger than the buffer map causes the transient bio map sizing logic to assume that there is enough KVA to use approximately 90MB (buffer map is sized to 110MB, and maxbcache is 200MB). The increase in the KVA usage caused other big KVA consumers, like nvidia.ko, to fail the initialization. Change the definition for both PAE and non-PAE cases, since PAE is even more KVA-starved. Reported and tested by: David Wolfskill Discussed with: alc Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-27T10:56:15.225200Z K 7 svn:log V 227 On i386, double the default size of the bio transient map. With the maxbcache size fixed, the auto-tuned transient map is too small for real-world load on i386. Tested by: David Wolfskill Sponsored by: The FreeBSD Foundation END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-03-27T11:31:39.591580Z K 7 svn:log V 4 MFC END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-27T11:34:27.253325Z K 7 svn:log V 612 Add dev_strategy_csw() function, which is similar to dev_strategy() but assumes that a thread reference was already obtained on the passed device. Use the function from physio(), to avoid two extra dev_mtx lock and unlock. Note that physio() is always used as the cdevsw method, or is called from a cdevsw method, and the caller already owns the reference. dev_strategy() is left to keep KPI intact, but now it is implemented as a wrapper around dev_strategy_csw(). Do some style cleanup in physio(). Requested and reviewed by: kan (previous version) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-03-27T11:42:36.707296Z K 7 svn:log V 24 Merge from vmcontention END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-27T11:47:52.464218Z K 7 svn:log V 499 Fix a race with the vnode reclamation in the aio_qphysio(). Obtain the thread reference on the vp->v_rdev and use the returned struct cdev *dev instead of using vp->v_rdev. Call dev_strategy_csw() instead of dev_strategy(), since we now own the reference. Since the csw was already calculated, test d_flags to avoid mapping the buffer if the driver supports unmapped requests [*]. Suggested by: kan [*] Reviewed by: kan (previous version) Sponsored by: The FreeBSD Foundation MFC after: 2 weeks END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-27T11:58:08.782471Z K 7 svn:log V 186 Mechanically rename: counter_u64_inc -> counter_u64_add counter_u64_dec -> counter_u64_subtract This is done to match atomic(9) API, making it easier to remember. Discussed with: kib END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-27T14:23:50.120170Z K 7 svn:log V 452 MFC r245266: Remove not very useful printf, that can be too chatty. ASUS P8Z77-V board reports _AC2, _AC3 and _AC4 setpoints as 0C. With active cooling already automatically set to _AC2, that still caused driver to print two useless lines about temperature above _AC3 and _AC4 every ten seconds. Three setponts of 0C is probably a board bug, but the same spam could happen also in correct case if system is runnign not with the lowest cooling level. END K 10 svn:author V 4 rene K 8 svn:date V 27 2013-03-27T15:03:18.911183Z K 7 svn:log V 87 Fix a typo, 'xdev-build' should be spelled with a 'd' at the end. Approved by: cognet END K 10 svn:author V 4 rene K 8 svn:date V 27 2013-03-27T15:10:40.005412Z K 7 svn:log V 120 Properly spell "Class Based Queueing" PR: www/177412 Submitted by: Oliver Loch Approved by: cognet END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-03-27T18:06:28.686043Z K 7 svn:log V 308 Limit the amount of video memory we map for the driver to the maximum value. This basically restores the spirit of r203535, which was partially reverted in r205557, while we still map fixed amount to work around transient issues we experienced with r203535. Prodded by: avg Tested by: avg MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-27T18:55:01.563518Z K 7 svn:log V 296 On SIM destruction free associated CCBs, preallocated inside xpt_get_ccb(). Before this change they were just leaked. Fortunately USB sticks now use only one CCB, and so leak was only 2KB per detach, while other bigger SIMs with much more allocated CCBs are rarely detached. MFC after: 2 weeks END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-27T19:07:02.684859Z K 7 svn:log V 120 Preemptively require the approvals on the releng/8.4, in the preparation for the branching. Approved by: re (implicit) END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-03-27T19:21:36.569022Z K 7 svn:log V 265 Similar to r239870 and r239872, teach the other binutils tools about the DW_FORM_flag_present dwarf attribute, so they do not print errors or warnings on files that contain it. (This attribute can be emitted by newer versions of clang and gcc.) MFC after: 1 week END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-03-27T21:31:40.599626Z K 7 svn:log V 77 btowc(3), isblank(3): Correct prototypes for _l variants. MFC after: 1 week END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-27T23:07:43.875450Z K 7 svn:log V 20 deferal -> deferral END K 10 svn:author V 3 imp K 8 svn:date V 27 2013-03-28T02:44:15.364653Z K 7 svn:log V 23 Update wiht the times. END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-03-28T04:13:52.630711Z K 7 svn:log V 174 Make sure that ${SHLIB_NAME}.debug and ${SHLIB_NAME}.symbols are always deleted by a "make clean" when DEBUG_FLAGS is set. Reported by: gleb Approved by: emaste (co-mentor) END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T05:35:46.902430Z K 7 svn:log V 246 MFC r248788 (erwin): Update BIND to 9.8.4-P2 Removed the check for regex.h in configure in order to disable regex syntax checking, as it exposes BIND to a critical flaw in libregex on some platforms. [RT #32688] Approved by: re (rodrigc, kib) END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T05:39:45.375157Z K 7 svn:log V 214 MFC r248788 (erwin): Update BIND to 9.8.4-P2 Removed the check for regex.h in configure in order to disable regex syntax checking, as it exposes BIND to a critical flaw in libregex on some platforms. [RT #32688] END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-28T05:43:03.231852Z K 7 svn:log V 280 Fix the AR933x platform device start/stop code. This was ported from the AR724x code and I think that also doesn't quite work. I'll investigate that soon. With this in place the system reset path works, so 'reset' from kdb actually resets the SoC. Tested: * AP121 test board END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T05:55:28.024216Z K 7 svn:log V 89 Copy stable/8 to releng/8.4 as part of 8.4-RELEASE release cycle. Approved by: re (kib) END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T06:01:23.928602Z K 7 svn:log V 137 Release stable/8 from code freeze. Release activity for the 8.4-RELEASE release cycle will now be on releng/8.4. Approved by: re (kib) END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-28T06:20:13.743198Z K 7 svn:log V 162 MFC r248276: Rewrite the vfs_bio_clrbuf(9) to not access the b_data for B_VMIO buffers directly, use pmap_zero_page_area(9) for each zeroing page region instead. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-28T06:22:43.247394Z K 7 svn:log V 101 MFC r248277: Remove excessive and inconsistent initializers for the various kernel maps and submaps. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-28T06:31:04.264241Z K 7 svn:log V 50 MFC r248280: Add pmap function pmap_copy_pages(). END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-28T06:39:27.271430Z K 7 svn:log V 451 Release the v_writecount reference on the vnode in case of error, before the vnode is vput() in vm_mmap_vnode(). Error return means that there is no use reference on the vnode from the vm object reference, and failing to restore v_writecount breaks the invariant that v_writecount is less or equal to the usecount. The situation observed when nfs client returns ESTALE for VOP_GETATTR() after the open. In collaboration with: pho MFC after: 1 week END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T06:48:06.554472Z K 7 svn:log V 287 MFV r248595: - Integrate OpenSSL revisions fb092ef4fca897344daf7189526f5f26be6487ce, a93cc7c57333f4538cbcdedd2e961a5a38caa52d, and 76c61a5d1adb92388f39e585e4af860a20feb9bb. This removes the newly added orig_len field of SSL3_RECORD and restored ABI. Approved by: benl END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T06:51:29.155995Z K 7 svn:log V 305 MFS r248816: MFV r248595: - Integrate OpenSSL revisions fb092ef4fca897344daf7189526f5f26be6487ce, a93cc7c57333f4538cbcdedd2e961a5a38caa52d, and 76c61a5d1adb92388f39e585e4af860a20feb9bb. This removes the newly added orig_len field of SSL3_RECORD and restored ABI. Approved by: re (kib) END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T06:56:13.439156Z K 7 svn:log V 53 8.4-BETA1 is done, identify as 8.4-PRERELEASE again. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T06:59:58.552588Z K 7 svn:log V 72 Bump __FreeBSD_version to 804500 now that releng/8.4 has been branched. END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-03-28T08:13:52.442259Z K 7 svn:log V 234 rc.subr: disabling globbing while processing devfs rules The rules themselves typically have shell-like patterns and it is incorrect when they get replaced with matching filesystem entries. Shell magic by: jilles MFC after: 2 weeks END K 10 svn:author V 5 gavin K 8 svn:date V 27 2013-03-28T09:03:15.227874Z K 7 svn:log V 431 When r241373 was merged, one file appears to have been missed from the commit. Merge it: Remove undefined behavior from sranddev() and srandomdev(). This doesn't actually work with any modern C compiler: In particular, both clang and modern gcc verisons silently elide any xor operation with 'junk'. No mergeinfo changes with this commit as r241475 already updated the mergeinfo. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-03-28T09:51:37.518859Z K 7 svn:log V 105 MFC r248180: Take the inpcb rlock before calculating checksum, it was accidentally moved in r191672. END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-03-28T10:08:58.304635Z K 7 svn:log V 139 MFstable/8 r248822: Take the inpcb rlock before calculating checksum, it was accidentally moved in r191672. Approved by: re (glebius) END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2013-03-28T11:00:41.133181Z K 7 svn:log V 94 Fix compile of ciss(4) with CISS_DEBUG defined Obtained from: Yahoo! Inc. MFC after: 2 weeks END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-28T11:24:30.190458Z K 7 svn:log V 295 Except one case mps(4) driver does not touch the data and works well with unmapped I/O. That one exception is access to INQUIRY VPD request result. Those requests are never unmapped now, but to be safe add respective check there and allow unmapped I/O for the SIM by setting PIM_UNMAPPED flag. END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2013-03-28T12:44:43.437606Z K 7 svn:log V 120 Restore DB_COMMAND capabilities of ciss(4) for debugging and diagnostics Obtained from: Yahoo! Inc. MFC after: 2 weeks END K 10 svn:author V 4 tijl K 8 svn:date V 27 2013-03-28T12:46:04.534016Z K 7 svn:log V 60 Add myself as ports committer. Approved by: crees (mentor) END K 10 svn:author V 3 des K 8 svn:date V 27 2013-03-28T13:38:02.897330Z K 7 svn:log V 67 MFH (r248465): revert upstream decommissioning of authorized_keys2 END K 10 svn:author V 3 des K 8 svn:date V 27 2013-03-28T13:45:45.932091Z K 7 svn:log V 94 MFH (r248465): revert upstream decommissioning of authorized_keys2 Approved by: re (marius@) END K 10 svn:author V 6 scottl K 8 svn:date V 27 2013-03-28T14:14:28.748781Z K 7 svn:log V 777 Several fixes and improvements to sendfile() 1. If we wanted to send exactly as many bytes as the socket buffer is sized for, the inner loop of kern_sendfile() would see that the socket is full before seeing that it had no more bytes left to send. This would cause it to return EAGAIN to the caller instead of success. Fix by changing the order that these conditions are tested. 2. Simplify the calculation for the bytes to send in each iteration of the inner loop of kern_sendfile() 3. Fix some calls with bogus arguments to sf_buf_ext(). These would only trigger on mbuf allocation failure, but would be hilariously bad if they did trigger. Submitted by: gibbs(3), andre(2) Reviewed by: emax, andre Obtained from: Netflix MFC after: 1 week END K 10 svn:author V 6 mjacob K 8 svn:date V 27 2013-03-28T14:25:09.253066Z K 7 svn:log V 83 MFC 247266 Don't try and negotiate sync mode if either period or offset are zero. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-28T14:39:50.951253Z K 7 svn:log V 128 MFC r248422: Remove negative name cache entry pointing to the target name, which could be instantiated while tdvp was unlocked. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-28T15:04:03.261117Z K 7 svn:log V 154 MFC r248422: Remove negative name cache entry pointing to the target name, which could be instantiated while tdvp was unlocked. Approved by: re (marius) END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-28T16:54:19.833511Z K 7 svn:log V 266 Delete extra IO qpairs allocated based on number of MSI-X vectors, but later found to not be usable because the controller doesn't support the same number of queues. This is not the normal case, but does occur with the Chatham prototype board. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-28T16:57:48.114896Z K 7 svn:log V 92 Remove obsolete comment. This code has now been tested with the QEMU NVMe device emulator. END K 10 svn:author V 4 will K 8 svn:date V 27 2013-03-28T17:04:59.350763Z K 7 svn:log V 680 KGDB: Allow modules to be loaded from the specified kernel's directory. When looking up the absolute path for a kld, call find_kld_path() first. This enables locating the module in a different directory than the one stored in kernel memory. With this change, kgdb can now be run on a kernel & vmcore whose associated modules are located in the same directory as the kernel. This makes independent triaging of problems much easier. This change also does not break the normal kgdb use case where no arguments are specified; in that case kgdb loads the running kernel and its modules. Reviewed by: adrian Approved by: ken (mentor) Sponsored by: Spectra Logic MFC after: 1 month END