^243382 157 503 503 121 137 119 129 130 130 517 225 214 207 139 208 651 330 207 151 171 224 458 172 363 538 208 271 208 305 177 255 153 245 303 352 332 494 554 412 438 227 208 256 200 129 878 824 336 178 272 161 213 1223 180 157 513 155 178 186 2052 220 459 168 174 180 220 220 346 346 239 1072 140 778 161 162 160 176 1042 230 592 765 116 176 180 158 894 894 147 425 282 110 849 380 277 176 151 163 178 178 174 174 170 170 174 174 175 175 177 200 177 181 181 140 140 166 166 237 173 243 544 541 187 632 250 294 158 165 150 118 150 256 209 211 198 502 138 157 1510 182 2432 276 383 111 603 201 140 425 216 974 383 171 144 143 276 151 919 919 1753 K 10 svn:author V 2 ae K 8 svn:date V 27 2012-11-22T00:22:54.828517Z K 7 svn:log V 411 MFC r243028: zoneid has unsigned type. MFC r243029: SCOPE6_LOCK protects V_sid_default, no need to acquire it without any access to V_sid_default. MFC r243031: if_afdata lock was converted from mutex to rwlock a long ago, so we can replace IF_AFDATA_LOCK() macro depending to the access type. MFC r243148: Reduce the overhead of locking, use IF_AFDATA_RLOCK() when we are doing simple lookups. END K 10 svn:author V 2 ae K 8 svn:date V 27 2012-11-22T00:25:57.947282Z K 7 svn:log V 411 MFC r243028: zoneid has unsigned type. MFC r243029: SCOPE6_LOCK protects V_sid_default, no need to acquire it without any access to V_sid_default. MFC r243031: if_afdata lock was converted from mutex to rwlock a long ago, so we can replace IF_AFDATA_LOCK() macro depending to the access type. MFC r243148: Reduce the overhead of locking, use IF_AFDATA_RLOCK() when we are doing simple lookups. END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-22T02:42:31.439264Z K 7 svn:log V 25 Add yet more automation. END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-22T03:42:56.983119Z K 7 svn:log V 41 Add comment about execution environment. END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-22T03:45:14.960998Z K 7 svn:log V 23 This file is obsolete. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2012-11-22T03:54:51.432221Z K 7 svn:log V 34 Use %u for unsigned serial number END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-22T03:55:02.000247Z K 7 svn:log V 34 More anti-foot-shooting measures. END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-22T04:03:09.205546Z K 7 svn:log V 34 Make error message more accurate. END K 10 svn:author V 4 neel K 8 svn:date V 27 2012-11-22T04:07:18.982245Z K 7 svn:log V 423 Fix a bug in the MSI-X resource allocation for PCI passthrough devices. In the case where the underlying host had disabled MSI-X via the "hw.pci.enable_msix" tunable, the ppt_setup_msix() function would fail and return an error without properly cleaning up. This in turn would cause a page fault on the next boot of the guest. Fix this by calling ppt_teardown_msix() in all the error return paths. Obtained from: NetApp END K 10 svn:author V 4 neel K 8 svn:date V 27 2012-11-22T04:17:32.359137Z K 7 svn:log V 131 MSI-X does not need to be enabled in the message control register for the guest to access the MSI-x tables. Obtained from: NetApp END K 10 svn:author V 3 sjg K 8 svn:date V 27 2012-11-22T04:50:42.074798Z K 7 svn:log V 121 INSTALL_AS_USER: output of id -un will never match 0 so use id -u and USER for BINOWN etc. Approved by: marcel (mentor) END K 10 svn:author V 3 sjg K 8 svn:date V 27 2012-11-22T04:53:09.833984Z K 7 svn:log V 114 If .PARSEDIR is defined we have bmake, and CTFCONVERT_CMD can be empty. PR: 172440 Approved by: marcel (mentor) END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-22T05:48:29.447485Z K 7 svn:log V 43 Yet more automation for new installations. END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-11-22T06:45:28.601582Z K 7 svn:log V 116 Update vendor/illumos/dist and vendor-sys/illumos/dist to illumos-gate 13889:a67716f16746 (illumos zfs issue #3254) END K 10 svn:author V 6 davide K 8 svn:date V 27 2012-11-22T08:58:29.192700Z K 7 svn:log V 555 Until now, smbfs_fullpath() computed the full path starting from the vnode and following back the chain of n_parent pointers up to the root, without acquiring the locks of the n_parent vnodes analyzed during the computation. This is immediately wrong because if the vnode lock is not held there's no guarantee on the validity of the vnode pointer or the data. In order to fix, store the whole path in the smbnode structure so that smbfs_fullpath() can use this information. Discussed with: kib Reported and tested by: pho Sponsored by: iXsystems inc. END K 10 svn:author V 6 davide K 8 svn:date V 27 2012-11-22T09:13:45.507210Z K 7 svn:log V 234 - Remove reset of vpp pointer in some places as long as it's not really useful and has the side effect of obfuscating the code a bit. - Remove spurious references to simple_lock. Reported by: attilio [1] Sponsored by: iXsystems inc. END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2012-11-22T09:56:13.792669Z K 7 svn:log V 110 core(5) references sysctl debug.num_cores, but it is really debug.ncores. PR: docs/173831 MFC after: 1 week END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2012-11-22T10:24:30.003706Z K 7 svn:log V 55 [mdoc] remove hard sentence breaks. MFC after: 3 days END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-22T10:36:10.775356Z K 7 svn:log V 79 remove vop_lookup_pre and vop_lookup_post Suggested by: kib MFC after: 5 days END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-22T12:11:32.862589Z K 7 svn:log V 127 Partially merge r240494, which moved netinet/ipfw to netpfil/ipfw, to make it easier to merge ipfw commits back to stable/9. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2012-11-22T13:50:51.809186Z K 7 svn:log V 362 MFC r242766: sh: Fix two issues when an alias is redefined: * The last character is not displayed. * If the alias ends with itself (as a word), an infinite memory-eating loop occurs. If an alias is defined initially, a space is appended to avoid recursion but this did not happen when an alias was later modified. PR: bin/173418 Submitted by: Daniel F. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2012-11-22T13:51:58.958282Z K 7 svn:log V 77 MFC r242767,r243252: sh: Add tests for modifying an alias (r242766/r243402). END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-22T14:40:26.420565Z K 7 svn:log V 270 acpi_cpu: use fixed resource ids for cx state i/o resources ... instead of the ever increasing ones. Also, do free old resources when allocating new ones when cx states change. Tested by: Tom Lislegaard Obtained from: jkim MFC after: 1 week END K 10 svn:author V 2 ed K 8 svn:date V 27 2012-11-22T15:19:53.650895Z K 7 svn:log V 446 MFC r229848: Add aligned_alloc(3). The C11 folks reinvented the wheel by introducing an aligned version of malloc(3) called aligned_alloc(3), instead of posix_memalign(3). Instead of returning the allocation by reference, it returns the address, just like malloc(3). I'm MFCing this now, as it seems aligned_alloc(3) is needed to make the new version of libc++ work, which was merged back to FreeBSD 9 in r243376. Requested by: dim END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T15:38:09.397668Z K 7 svn:log V 113 Move m_nextpkt pointer from m_hdr to m_pkthdr where it belongs. m_nextpkt is never valid unless M_PKTHDR is set. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T16:14:41.982636Z K 7 svn:log V 176 Omit the type casting parameter from mtodo() and cast through void * which then can be assigned to any other pointer type without warning from the compiler. Suggested by: mdf END K 10 svn:author V 3 kib K 8 svn:date V 27 2012-11-22T16:20:08.954342Z K 7 svn:log V 115 MFC r242744: Zero the newly allocated md(4) swap-backed page to prevent random kernel memory leakage to userspace. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T16:48:58.279166Z K 7 svn:log V 210 lign and pad the mbuf header structures using the __aligned() attribute instead of manual padding. The alignment and padding is set to sizeof(void *) to align to the native pointer width on all architectures. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T17:00:34.487828Z K 7 svn:log V 83 Rearrange the fields in struct m_ext to get better packing on 64bit architectures. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T17:26:28.194336Z K 7 svn:log V 160 Introduce typedef for pfil hook callback function and replace all spelled out occurrences with it. Do some style cleanup of the pfil lock function prototypes. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T17:32:10.916417Z K 7 svn:log V 59 Remove bitrot linux and win32 ifdef from struct pfil_head. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T20:23:46.676578Z K 7 svn:log V 150 Convert another function prototype to use the pfil hook callback that got overlooked in r243411. The typedef name will be re-considered again later. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T20:43:09.328186Z K 7 svn:log V 208 Internalize pfil_hook_get(). There are no outside consumers of this API, it is only safe for internal use and even the pfil(9) man page says so in the BUGS section. Remember to adjust the pfil(9) man page. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T21:47:21.919003Z K 7 svn:log V 257 Resolve the confusion between the head_list and the hook list. The linked list of pfil hooks is changed to "chain" and this term applied consistently. The head_list remains with "list" term. Add KASSERT to vnet_pfil_uninit(). Update and extend comments. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-22T22:10:10.135267Z K 7 svn:log V 237 Rename PFIL_LIST_[UN]LOCK() to PFIL_HEADLIST_[UN]LOCK() to avoid confusion with the pfil_head locking macros. Shuffle around and group definitions and function prototypes by purpose to improve readability and restyle in various places. END K 10 svn:author V 5 simon K 8 svn:date V 27 2012-11-22T22:52:15.642070Z K 7 svn:log V 399 Fix multiple Denial of Service vulnerabilities with named(8). Fix insufficient message length validation for EAP-TLS messages. Fix Linux compatibility layer input validation error. Security: FreeBSD-SA-12:06.bind Security: FreeBSD-SA-12:07.hostapd Security: FreeBSD-SA-12:08.linux Security: CVE-2012-4244, CVE-2012-5166, CVE-2012-4445, CVE-2012-4576 Approved by: re Approved by: security-officer END K 10 svn:author V 5 simon K 8 svn:date V 27 2012-11-22T23:15:38.758288Z K 7 svn:log V 459 Fix multiple Denial of Service vulnerabilities with named(8). Fix insufficient message length validation for EAP-TLS messages. Fix Linux compatibility layer input validation error. This commit includes stable/7 which was missed in r243417. Security: FreeBSD-SA-12:06.bind Security: FreeBSD-SA-12:07.hostapd Security: FreeBSD-SA-12:08.linux Security: CVE-2012-4244, CVE-2012-5166, CVE-2012-4445, CVE-2012-4576 Approved by: re Approved by: security-officer END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2012-11-23T01:48:31.762811Z K 7 svn:log V 314 MFS security patches which seem to have accidentally not reached HEAD: Fix insufficient message length validation for EAP-TLS messages. Fix Linux compatibility layer input validation error. Security: FreeBSD-SA-12:07.hostapd Security: FreeBSD-SA-12:08.linux Security: CVE-2012-4445, CVE-2012-4576 With hat: so@ END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2012-11-23T03:24:52.886718Z K 7 svn:log V 343 Make FDT blob compatible with Raspberry Pi firmware. Rasperry Pi firmware has a set of hardcoded pathes it uses to fill FDT with system-specific information like display resolution, memory size, UART and SDHCI clocks, ethernet MAC address. Handle two of them: - Add placeholder for ethernet MAC address - Move display node out of "axi" node END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2012-11-23T03:34:12.936186Z K 7 svn:log V 132 Look for MAC address in FDT tree nodes that are usb network devices and have either "mac-address" or "local-mac-addrress" property. END K 10 svn:author V 8 jmallett K 8 svn:date V 27 2012-11-23T04:28:13.800105Z K 7 svn:log V 110 Use MIPS_PHYS_TO_DIRECT_UNCACHED rather than a homegrown version which is not compatible with 32-bit kernels. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2012-11-23T04:30:54.119828Z K 7 svn:log V 161 Multiple fixes for BCM2835 framebuffer - Get resolution settings from FDT blob - Properly handle 24 and 16 bits per pixel - Add colors support for text console END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-11-23T05:32:24.243501Z K 7 svn:log V 104 Implement a HAL method to set a 64 bit TSF value. TODO: implement it (and test) for the AR5210/AR5211. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-11-23T05:33:01.324048Z K 7 svn:log V 34 Add the HAL wrapper for settsf64. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-11-23T05:38:38.267103Z K 7 svn:log V 782 Fix up the nexttbtt -> TSF delta calculation to not wrap ridiculously on the 802.11n NICs. The 802.11n NICs return a TBTT value that continues far past the 16 bit HAL_BEACON_PERIOD time (in TU.) The code would constrain nextslot to HAL_BEACON_PERIOD, but it wasn't constraining nexttbtt - the pre-11n NICs would only return TU values from 0 -> HAL_BEACON_PERIOD. Thus, when nexttbtt exceeded 64 milliseconds, it would not wrap (but nextslot did) which lead to a huge tsfdelta. So until the slot calculation is converted to work in TSF rather than a mix of TSF and TU, "make" the nexttbtt values match the TU assumptions for pre-11n NICs. This fixes the crazy deltatsf calculations but it doesn't fix the non-convergent tsfdelta issue. That'll be fixed in a subsequent commit. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-11-23T05:52:22.346827Z K 7 svn:log V 728 Use a 64 bit TSF write to update the TSF adjust, rather than a 32 bit TSF write. The TSF_L32 update is fine for the AR5413 (and later, I guess) 11abg NICs however on the 11n NICs this didn't work. The TSF writes were causing a much larger time to be skipped, leading to the timing to never converge. I've tested this 64 bit TSF read, adjust and write on both the 11n NICs and the AR5413 NIC I've been using for testing. It works fine on each. This patch allows the AR5416/AR9280 to be used as a TDMA member. I don't yet know why the AR9280 is ~7uS accurate rather than ~3uS; I'll look into it soon. Tested: * AR5413, TDMA slave (~ 3us accuracy) * AR5416, TDMA slave (~ 3us accuracy) * AR9280, TDMA slave (~ 7us accuracy) END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T06:40:18.921875Z K 7 svn:log V 239 A branch where we (me, melifaro@, ae@ and kib@) are going to make a faster, raceless, non-overflowable (on 32bit arches) counters, which are going to be mostly utilizes in networking stack, but may be utilized anywhere else in the kernel. END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-23T07:02:01.269363Z K 7 svn:log V 82 First cut at a script to automate adding an architecture to a pointyhat instance. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T07:06:24.415298Z K 7 svn:log V 175 Right now PAGE_SIZE == UMA_SLAB_SIZE, but that can change in future. Use PAGE_SIZE when we are multiplying pages or uk_ppera. The change is a nop, but makes code consistent. END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-23T07:13:35.680877Z K 7 svn:log V 65 Fix the mount point. Fix permissions on default portbuild.conf. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T07:21:35.082230Z K 7 svn:log V 116 In keg_small_init() always set UMA_ZONE_HASH if zone was requested to be UMA_ZONE_OFFPAGE, but !UMA_ZONE_VTOSLAB. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T07:35:50.087543Z K 7 svn:log V 1125 Introduce UMA_ZONE_PCPU zones. These zones have slab size == sizeof(struct pcpu), but request from VM enough pages to fit (uk_slabsize * mp_ncpus). An item allocated from such zone would have a separate twin for each CPU in the system, and these twins are at a distance of sizeof(struct pcpu) from each other. This magic value of distance would allow us to make some optimizations later. To address private item from a CPU simple arithmetics should be used: item = (type *)((char *)base + sizeof(struct pcpu) * curcpu) To introduce non-page size slabs a new field had been added to uma_keg uk_slabsize. This shifted some frequently used fields of uma_keg to the fourth cache line on amd64. To mitigate this pessimization, uma_keg fields were a bit rearranged and least frequently used uk_name and uk_link moved down to the fourth cache line. All other fields, that are dereferenced frequently fit into first three cache lines. Right now kegs of such kind may have a large waste value, since sizeof(struct pcpu) isn't a denominator of PAGE_SIZE. We plan to pad struct pcpu appropriately to reduce this waste. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2012-11-23T07:58:12.192732Z K 7 svn:log V 86 Now that we have working USB keyboard add ukbd to the syscons-enabling part of config END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2012-11-23T08:22:06.161851Z K 7 svn:log V 60 Remove no longer needed quirk. Submitted by: Mark Johnston END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T08:23:53.151689Z K 7 svn:log V 416 Sync lagg(4) with head, merging r240742, r241619: r240742 | glebius | 2012-09-20 14:05:10 +0400 (чт, 20 сен 2012) | 4 lines Convert lagg(4) to use if_transmit instead of if_start. In collaboration with: thompsa, sbruno, fabient r241619 | emax | 2012-10-17 02:43:14 +0400 (ср, 17 окт 2012) | 5 lines report total number of ports for each lagg(4) interface via net.link.lagg.X.count sysctl END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2012-11-23T08:44:36.275117Z K 7 svn:log V 61 Catch up with r243046. KTR buffer can be changed at runtime. END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2012-11-23T08:47:57.584021Z K 7 svn:log V 84 According to r221124, the default NFS server and client are no longer experimental. END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2012-11-23T10:14:54.699473Z K 7 svn:log V 92 Document that getpeername(2) and getsockname(2) can fail with EINVAL. Reviewed by: glebius END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T11:19:43.759921Z K 7 svn:log V 1954 Merge r241037 from head: The drbr(9) API appeared to be so unclear, that most drivers in tree used it incorrectly, which lead to inaccurate overrated if_obytes accounting. The drbr(9) used to update ifnet stats on drbr_enqueue(), which is not accurate since enqueuing doesn't imply successful processing by driver. Dequeuing neither mean that. Most drivers also called drbr_stats_update() which did accounting again, leading to doubled if_obytes statistics. And in case of severe transmitting, when a packet could be several times enqueued and dequeued it could have been accounted several times. o Thus, make drbr(9) API thinner. Now drbr(9) merely chooses between ALTQ queueing or buf_ring(9) queueing. - It doesn't touch the buf_ring stats any more. - It doesn't touch ifnet stats anymore. - drbr_stats_update() no longer exists. o buf_ring(9) handles its stats itself: - It handles br_drops itself. - br_prod_bytes stats are dropped. Rationale: no one ever reads them but update of a common counter on every packet negatively affects performance due to excessive cache invalidation. - buf_ring_enqueue_bytes() reduced to buf_ring_enqueue(), since we no longer account bytes. o Drivers handle their stats theirselves: if_obytes, if_omcasts. o mlx4(4), igb(4), em(4), vxge(4), oce(4) and ixv(4) no longer use drbr_stats_update(), and update ifnet stats theirselves. o bxe(4) was the most correct driver, it didn't call drbr_stats_update(), thus it was the only driver accurate under moderate load. Now it also maintains stats itself. o ixgbe(4) had already taken stats from hardware, so just - drop software stats updating. - take multicast packet count from hardware as well. o mxge(4) just no longer needs NO_SLOW_STATS define. o cxgb(4), cxgbe(4) need no change, since they obtain stats from hardware. Reviewed by: jfv, gnn END K 10 svn:author V 3 hrs K 8 svn:date V 27 2012-11-23T11:21:58.486447Z K 7 svn:log V 127 - Use sin6_scope_id instead of sin6_addr.s6_addr[2]. - Support a flag for ALLOW/BLOCK in source-specific multicast (RFC 4604). END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T11:23:15.435608Z K 7 svn:log V 362 Merge r242467 from head: - If DRM_DEBUG_DEFAULT_ON is defined, then initialize drm_debug_flagi to all supported debugging bits. - If DRM_DEBUG_DEFAULT_ON isn't defined, then initialize drm_debug_flag to zero. DRM_DEBUG_DEFAULT_ON is defined when module is build with -DDEBUG_DRM or if kernel config has 'options DEBUG_DRM'. Reviewed by: kib END K 10 svn:author V 3 hrs K 8 svn:date V 27 2012-11-23T12:12:06.996541Z K 7 svn:log V 76 Document sin6_scope_id handling change and bump FreeBSD_version to 1000025. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T13:04:38.450588Z K 7 svn:log V 81 MFC: r242864 i386 comconsole: don't loop forever if hardware doesn't respond. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T13:09:20.233210Z K 7 svn:log V 87 MFC: r242863 add detection of serial console presence to btx and boot2-like blocks. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T13:17:18.111541Z K 7 svn:log V 126 MFC: r242855, r242865 - use -march=i386 for both i386 and amd64 builds. - cosmetic changes to reduce diffs against i386. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T13:18:26.310165Z K 7 svn:log V 126 MFC: r242855, r242865 - use -march=i386 for both i386 and amd64 builds. - cosmetic changes to reduce diffs against i386. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T13:35:17.864752Z K 7 svn:log V 252 MFC: r239063, r239064, r239069, r240852, r240854 - boot2: bunch of variables are turned into uint8_t. - boot2: Remove unnecessary initializations. - loader: replace ugly inb/outb re-implementations with cpufunc.h. - Reduce diffs against i386. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T13:36:09.209814Z K 7 svn:log V 252 MFC: r239063, r239064, r239069, r240852, r240854 - boot2: bunch of variables are turned into uint8_t. - boot2: Remove unnecessary initializations. - loader: replace ugly inb/outb re-implementations with cpufunc.h. - Reduce diffs against i386. END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-11-23T13:43:51.964387Z K 7 svn:log V 146 Move sndbuf_setmap() output about buffer addresses from the general verbose output to sound verbose output, where all other sndbuf messages live. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T13:47:41.985848Z K 7 svn:log V 975 Prototype a simple API for per-cpu counters, right now only 64-bit. A counter can be allocated, zeroed, freed, incremented and decremented. The incremention/decremention functions are going to MD. Right now amd64 implementation is put into MI file, while the project branch is pre-alpha state. A dummy implementation on 64-bit arch would pin to current CPU, calculate address of counter for this cpu, update it and unpin. We may provide a racy non-pinning interface, that can lead the update going to other's CPU counter. A smart implementation for amd64 does a one-instruction update, thus doesn't require any pinning. This is achieved due to the fact that UMA_ZONE_PCPU zone guarantees us that per-cpu counters are aligned by the size of struct pcpu from each other. And we have address of static struct pcpu in %gs register always. This nice implementation is submitted by kib@. Implementation for 32-bit arches would require critical section for update. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T13:55:38.691041Z K 7 svn:log V 47 MFC: r242870 Fix build mpboot.s with clang. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-11-23T14:00:26.970328Z K 7 svn:log V 681 Collect IP statistics in per-cpu 64-bit counters. This way we shoot two hares with one shot: - Parallel threads no longer invalidate the cache lines where old struct ipstat resided. - Parallel non-atomic writes no longer lose statistics. Old 'struct ipstat' left only as interface to userland, however all fields converted to uint64_t. Yes, this break ABI on 32-bit arches, but now statistics will not overflow. Old 'struct ipstat' was imported as SYSCTL_STRUCT(... CTLFLAG_RW ...), thus could not be only zeroed, but filled in with fake values. This is no longer possible - any attempt to write to statictics zeroes them, without accepting userland supplied info. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-23T14:16:24.249236Z K 7 svn:log V 67 Move declaration of _net_link_ether sysctl node to net/ethernet.h. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T14:16:55.769496Z K 7 svn:log V 69 MFC: r242866, r242871 Use ANSI prototype to fix build with clang. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-23T14:18:23.966708Z K 7 svn:log V 66 Move declaration of _net_inet6 sysctl node to netinet6/in6_var.h. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-23T14:20:27.689734Z K 7 svn:log V 82 Move declaration of _net_inet6 sysctl node to netinet6/in6_var.h. Fix to r243456. END K 10 svn:author V 5 andre K 8 svn:date V 27 2012-11-23T14:53:28.387141Z K 7 svn:log V 947 Add sysctl support for pfil hook reporting and ordering. pfil_head_register() takes an additional pointer to the parent sysctl node pointer of the protocol family that is being registered here. Two new branches are then attached named "pfil_in" and "pfil_out". In each branch a list of the attached pfil hooks in the order of their processing is provided in the "hooks" string sysctl. In addition each attached pfil hook has its own node with a numeric representation of is ordering rank (0-255). Writing a new ordering rank changes the processing order. If two hooks have the same rank the last installed or changed comes first. Example output: net.inet.pfil_in.hooks="pf,ipfw,ipfilter" net.inet.pfil_in.pf=200 net.inet.pfil_in.ipfw=201 net.inet.pfil_in.ipfilter=202 net.inet.pfil_out.hooks="ipfilter,ipfw,pf" net.inet.pfil_out.ipfilter=53 net.inet.pfil_out.ipfw=54 net.inet.pfil_out.pf=55 This may be further tweaked and refined. END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-11-23T15:31:00.365067Z K 7 svn:log V 137 Remove "clone manager: " message from verbose dmesg. It is pointless to print values that are statically hardcoded few lines above that. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T15:42:25.217682Z K 7 svn:log V 498 MFC: r240855, r242867, r242868, r242869 MFi386: r237445 Commit changes missed from r237435. Properly calculate the signal trampoline addresses after the shared page is enabled. Handle FreeBSD ABIs without shared page support too. MFi386: r238792 Introduce curpcb magic variable. MFi386: r211924 Register an interrupt vector for DTrace return probes. Fix some KASSERTs. They are missing changes from r208833, r227394 and r227442. Reduce diffs against i386. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2012-11-23T15:44:04.465798Z K 7 svn:log V 671 MFC: r225977, r242867, r242868, r242869 MFi386: r225936 Add some improvements in the idle table callbacks: - Replace instances of manual assembly instruction "hlt" call with halt() function calling. - In cpu_idle_mwait() avoid races in check to sched_runnable() using the same pattern used in cpu_idle_hlt() with the 'hlt' instruction. - Add comments explaining the logic behind the pattern used in cpu_idle_hlt() and other idle callbacks. MFi386: r211924 Register an interrupt vector for DTrace return probes. Fix some KASSERTs. They are missing changes from r208833, r227394 and r227442. Reduce diffs against i386. END K 10 svn:author V 3 imp K 8 svn:date V 27 2012-11-23T17:22:38.768412Z K 7 svn:log V 24 Strip trailing newline. END K 10 svn:author V 3 imp K 8 svn:date V 27 2012-11-23T17:27:09.177712Z K 7 svn:log V 84 The tramp stuff isn't dependent on DDB, so always add these to the CLEANFILES list. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2012-11-23T19:20:38.042816Z K 7 svn:log V 86 Style fixes - Remove C++ - style comments - Use proper device name in panic messages END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2012-11-23T20:04:39.784085Z K 7 svn:log V 64 Add Raspberry Pi GPIO driver Submitted by: Luiz Otavio O Souza END K 10 svn:author V 5 remko K 8 svn:date V 27 2012-11-23T21:27:26.245437Z K 7 svn:log V 799 MFC r232486 Add an ifconfig carp option that enables users to set the state of the carp cluster. This is a direct commit to stable/9 because -HEAD's code is very different. I discussed this with Gleb and the reason for this is that since we do not touch the kernel itself and are not adding very weird or confusing things, we can commit this to the stable branch directly. The options 'master' and 'backup' are now available, which enables the administrator to force a node into the backup or master state on the cluster. Ofcourse preempt has to be disabled otherwise the master node will become master again. One can do that with: sysctl net.inet.carp.preempt=0 After that one can schedule maintenance on the node normally running as the master and such. PR: 100956 Discussed with: glebius END K 10 svn:author V 5 remko K 8 svn:date V 27 2012-11-23T21:29:08.573720Z K 7 svn:log V 799 MFC r232486 Add an ifconfig carp option that enables users to set the state of the carp cluster. This is a direct commit to stable/9 because -HEAD's code is very different. I discussed this with Gleb and the reason for this is that since we do not touch the kernel itself and are not adding very weird or confusing things, we can commit this to the stable branch directly. The options 'master' and 'backup' are now available, which enables the administrator to force a node into the backup or master state on the cluster. Ofcourse preempt has to be disabled otherwise the master node will become master again. One can do that with: sysctl net.inet.carp.preempt=0 After that one can schedule maintenance on the node normally running as the master and such. PR: 100956 Discussed with: glebius END K 10 svn:author V 6 andrew K 8 svn:date V 27 2012-11-23T23:51:06.741054Z K 7 svn:log V 52 We always pass a wchar_t to is_delim(), not an int. END K 10 svn:author V 8 jmallett K 8 svn:date V 27 2012-11-24T02:00:29.883008Z K 7 svn:log V 327 o) Add support for specifying a model of Octeon to target at compile-time, reducing the number of runtime checks done by the SDK code. o) Group board/CPU information at early startup by subject matter, so that e.g. CPU information is adjacent to CPU information and board information is adjacent to board information. END K 10 svn:author V 8 jmallett K 8 svn:date V 27 2012-11-24T02:12:24.868623Z K 7 svn:log V 184 Use bootverbose to control debug printfs from the Cavium Simple Executive code. Also remove an unnecessary CVMX_ENABLE_DEBUG_PRINTS conditional around what is already a cvmx_dprintf. END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-11-24T02:13:18.173004Z K 7 svn:log V 14 Fix a braino. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-11-24T02:41:18.154912Z K 7 svn:log V 753 Add a comment which covers what's going on with the 64 bit TSF write. After chatting with the MAC team, the TSF writes (at least on the 11n MACs, I don't know about pre-11n MACs) are done as 64 bit writes that can take some time. So, doing a 32 bit TSF write is definitely not supported. Leave a comment here which explains that. Whilst here, add a comment which outlines that after a reset or TSF write, the TSF write may take a while (up to 50uS) to update. A write or reset shouldn't be done whilst the previous one is in flight. Also (and this isn't currently done) a read shouldn't occur until the SLEEP32_TSF_WRITE_STAT is clear. Right now we're not doing that, mostly because we haven't been doing lots of TSF resets/writes until recently. END K 10 svn:author V 8 jmallett K 8 svn:date V 27 2012-11-24T02:55:05.311756Z K 7 svn:log V 282 o) Have the FreeBSD kernel option "INVARIANTS" trickle down into the Simple Executive code where similar invariant knobs exist. o) Make the Simple Executive's warning function print "WARNING: " on the same line as the warning it is displaying, rather than on a separate line. END K 10 svn:author V 6 andrew K 8 svn:date V 27 2012-11-24T04:15:25.256836Z K 7 svn:log V 181 The is_delim function works on wchar_t characters not ints, update the function to take a wchar_t as it's argument. This fixes the build when wchar_t is not an int, i.e. ARM EABI. END K 10 svn:author V 6 dteske K 8 svn:date V 27 2012-11-24T06:27:46.554358Z K 7 svn:log V 81 Add IPv6 address-validation routine. Approved by: adrian (co-mentor) (implicit) END K 10 svn:author V 6 dteske K 8 svn:date V 27 2012-11-24T07:02:31.176675Z K 7 svn:log V 56 Whitespace. Approved by: adrian (co-mentor) (implicit) END K 10 svn:author V 2 jh K 8 svn:date V 27 2012-11-24T08:33:27.895524Z K 7 svn:log V 72 MFC r235143 by kib: Plug a leak. PR: 167068 Tested by: Oliver Pinter END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:34:44.218292Z K 7 svn:log V 86 MFC r242862: zfs_ioc_destroy_snaps_nvl: remove disk device entries for zvol snapshots END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:35:04.520358Z K 7 svn:log V 86 MFC r242862: zfs_ioc_destroy_snaps_nvl: remove disk device entries for zvol snapshots END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:37:37.142403Z K 7 svn:log V 82 MFC r243213: spa_import_rootpool: fall back to use configuration from zpool.cache END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:37:48.987810Z K 7 svn:log V 82 MFC r243213: spa_import_rootpool: fall back to use configuration from zpool.cache END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:40:23.479968Z K 7 svn:log V 78 MFC r242568: zfs_vnode_lock: no need to double-guess caller's intentions here END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:40:43.548861Z K 7 svn:log V 78 MFC r242568: zfs_vnode_lock: no need to double-guess caller's intentions here END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:42:29.013826Z K 7 svn:log V 82 MFC r242569: opensolaris_lookup: use vfs_busy in traverse before calling VFS_ROOT END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:42:42.153726Z K 7 svn:log V 82 MFC r242569: opensolaris_lookup: use vfs_busy in traverse before calling VFS_ROOT END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:44:13.405023Z K 7 svn:log V 83 MFC r242570: zfs_umount: no need to set MNTK_UNMOUNTF here, dounmount handles that END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:44:25.500180Z K 7 svn:log V 83 MFC r242570: zfs_umount: no need to set MNTK_UNMOUNTF here, dounmount handles that END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:46:07.953335Z K 7 svn:log V 85 MFC r242571: zfs_vnode_forget: dispose of larvae vnode using public vfs api (mostly) END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:51:57.494727Z K 7 svn:log V 107 MFC r225153: We need to unlock and destroy vnode attached to znode which we are freeing. MFC slacker: pjd END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:53:38.984907Z K 7 svn:log V 85 MFC r242571: zfs_vnode_forget: dispose of larvae vnode using public vfs api (mostly) END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:56:07.797975Z K 7 svn:log V 89 MFC r242572: opensolaris compat: clear VI_MOUNT before returning if mount_snapshot fails END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:56:21.104621Z K 7 svn:log V 89 MFC r242572: opensolaris compat: clear VI_MOUNT before returning if mount_snapshot fails END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:58:51.010903Z K 7 svn:log V 48 MFC r242573: zfs: set MNTK_EXTENDED_SHARED flag END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T12:59:02.498469Z K 7 svn:log V 48 MFC r242573: zfs: set MNTK_EXTENDED_SHARED flag END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T13:00:41.611845Z K 7 svn:log V 74 MFC r242574: zfsctl_snapdir_lookup: obtain a snapname in the remount case END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T13:00:57.601369Z K 7 svn:log V 74 MFC r242574: zfsctl_snapdir_lookup: obtain a snapname in the remount case END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T13:07:31.941312Z K 7 svn:log V 144 zfs: create devices/geoms from zvols after receiveing them PR: kern/167066 Tested by: Andreas Nilsson MFC after: 13 days END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T13:10:36.567915Z K 7 svn:log V 81 opensolaris compat: terminate cmn_err mesages with a new line MFC after: 6 days END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T13:11:47.849325Z K 7 svn:log V 150 assert_vop_locked: make the assertion race-free and more efficient this is really a minor improvement for the sake of correctness MFC after: 6 days END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T13:14:53.378219Z K 7 svn:log V 451 spa_import_rootpool: do not call spa_history_log_version The call is a NOP, because pool version in spa_ubsync.ub_version is not initialized and thus appears to be zero. If the version is properly set then the call leads to a NULL pointer dereference because the spa object is still under-constructed. The same change was independently made in the upstream as a part of a larger change (4445fffbbb1ea25fd0e9ea68b9380dd7a6709025). MFC after: 6 days END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T13:16:49.180105Z K 7 svn:log V 448 spa_import_rootpool: initialize ub_version before calling spa_config_parse ... because the latter makes some decision based on the version. This is especially important for raidz vdevs. This is similar to what spa_load does. This is not an issue for upstream because they do not seem to support using raidz as a root pool. Reported by: Andrei Lavreniyuk Tested by: Andrei Lavreniyuk MFC after: 6 days END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-24T13:23:15.862972Z K 7 svn:log V 95 zfs roopool: add support for multi-vdev configurations Tested by: madpilot MFC after: 10 days END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-11-25T09:06:32.108112Z K 7 svn:log V 540 MFV r242735: Illumos 13879:4eac7a87eff2: 3329 spa_sync() spends 10-20% of its time in spa_free_sync_cb() 3330 space_seg_t should have its own kmem_cache 3331 deferred frees should happen after sync_pass 1 3335 make SYNC_PASS_* constants tunable New loader-only tunables: vfs.zfs.sync_pass_deferred_free vfs.zfs.sync_pass_dont_compress vfs.zfs.sync_pass_rewrite References: https://www.illumos.org/issues/3329 https://www.illumos.org/issues/3330 https://www.illumos.org/issues/3331 https://www.illumos.org/issues/3335 MFC after: 2 weeks END K 10 svn:author V 6 dteske K 8 svn:date V 27 2012-11-25T10:37:10.942081Z K 7 svn:log V 154 Split IP address validation routines and improve error detection for dotted- quad notation in IPv6 addresses. Approved by: adrian (co-mentor) (implicit) END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-11-25T10:53:42.138101Z K 7 svn:log V 202 MFV r243012: Illumos 13886:e3261d03efbf 3349 zpool upgrade -V bumps the on disk version number, but leaves the in core version References: https://www.illumos.org/issues/3349 MFC after: 1 week END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-11-25T11:26:36.320112Z K 7 svn:log V 67 zfs sha256 checksum is missing in zfs.8 manpage MFC after: 3 days END K 10 svn:author V 3 ray K 8 svn:date V 27 2012-11-25T12:11:09.664748Z K 7 svn:log V 73 Allow to bind to i.MX i2c controllers. Sponsored by: FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2012-11-25T12:13:04.175484Z K 7 svn:log V 58 Expand compatibilty for i2c controlers in Freescale SoCs. END K 10 svn:author V 3 ray K 8 svn:date V 27 2012-11-25T12:18:07.353356Z K 7 svn:log V 26 Replace spaces with tabs. END K 10 svn:author V 3 ray K 8 svn:date V 27 2012-11-25T12:19:17.090584Z K 7 svn:log V 58 Enable i2c controllers. Sponsored by: FreeBSD Foundation END K 10 svn:author V 3 dim K 8 svn:date V 27 2012-11-25T12:27:19.415096Z K 7 svn:log V 163 MFC r243348: Do not expose LIBCXXRT and LIBCPLUSPLUS in bsd.libnames.mk, if WITHOUT_LIBCPLUSPLUS is specified. Submitted by: Garrett Cooper END K 10 svn:author V 3 ray K 8 svn:date V 27 2012-11-25T12:29:01.110929Z K 7 svn:log V 116 Allow to enable i2c controller driver with fsliic device option in kernel config. Sponsored by: FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2012-11-25T12:34:48.470074Z K 7 svn:log V 118 imx_gpt can serve ET_FLAGS_PERIODIC too now. ET_FLAGS_PERIODIC not well tested yet. Sponsored by: FreeBSD Foundation END K 10 svn:author V 3 ray K 8 svn:date V 27 2012-11-25T12:38:12.591290Z K 7 svn:log V 105 Enable i2c for EFIKA_MX kerenl. i2c used to control HDMI PHY (smarttop) and LVDS controller (smartbook). END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-25T14:22:08.540261Z K 7 svn:log V 409 remove stop_scheduler_on_panic knob There has not been any complaints about the default behavior, so there is no need to keep a knob that enables the worse alternative. Now that the hard-stopping of other CPUs is the only behavior, the panic_cpu spinlock-like logic can be dropped, because only a single CPU is supposed to win stop_cpus_hard(other_cpus) race and proceed past that call. MFC after: 1 month END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2012-11-25T14:25:08.317956Z K 7 svn:log V 43 Remove unused function. MFC after: 1 week END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-25T14:53:26.652841Z K 7 svn:log V 65 zfs_getpages: optimize for large block sizes MFC after: 6 weeks END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-25T15:01:12.464116Z K 7 svn:log V 1416 add zfs_bmap to aid vnode_pager_haspage ... otherwise zfs_getpages would mostly be called with one page at a time. It is expected that ZFS VOP_BMAP is only called from vnode_pager_haspage. Since ZFS files can have variable block sizes and also because we don't really know if any given blocks are consecutive, we can not really report any additional blocks behind or ahead of a given block. Since physical block numbers do not make sense for ZFS, we do not do any real translation and thus pass back blk = lblk. The net effect is that vnode_pager_haspage knows that the block exists and that the pages backed by the block can be accessed. vnode_pager_haspage may be wrong about the exact count of the pages backed by the block, because of a variable block size, which vnode_pager_haspage doesn't really know - it only knows max block size in a filesystem. So pages from multiple blocks can be passed to zfs_getpages, but that is expected and correctly handled. vnode_pager should not call zfs_bmap for any other reason, because ZFS implements VOP_PUTPAGES and thus vnode_pager_generic_getpages is not used. vfs_cluster code vfs_bio code should not be called for ZFS, because ZFS does not use buffer cache layer. Also, ZFS does not use vn_bmap_seekhole, it has its prviate mechanism for working with holes. The above list should cover all the current calls to VOP_BMAP. Reviewed by: kib MFC after: 6 weeks END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-25T15:07:27.702449Z K 7 svn:log V 90 zfs_fhtovp: there is no reason to amend lock flags with LK_RETRY here MFC after: 12 days END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-25T15:33:26.127558Z K 7 svn:log V 2338 zfs: overhaul zfs-vfs glue for vnode life-cycle management * There is no need for the delayed destruction of znodes via taskqueue, now that we do not need to fear recursion from getnewvnode into zfs_inactive and zfs_freebsd_reclaim, thus making znode/vnode state machine a bit simpler. * More complete porting of zfs_inactive from Solaris VFS model to FreeBSD vop_inactive and vop_reclaim model. All destructive actions are done in zfs_freebsd_reclaim. This allows to simplify zfs_zget logic. * Allow zfs_zget to return a doomed vnode if the current thread already has an exclusive lock on the vnode. * Clean up Solaris-isms like bailing out of reclaim/inactive on certain values of v_usecount (aka v_count) or directly messing with this counter. * Do not clear z_vnode while znode is still accessible. z_vnode should be cleared only after zfs_znode_dmu_fini. Otherwise zfs_zget may get an effectively half-deconstructed znode. This allows to simplify zfs_zget logic further. The above changes fix at least two known/reported problems: o An indefinite wait in the following code path: vgone -> VOP_RECLAIM -> zfs_freebsd_reclaim -> vnode_destroy_vobject -> put_pages -> zfs_write -> zil_commit -> zfs_zget This happened because vgone marks a vnode as VI_DOOMED before calling VOP_RECLAIM, but zfs_zget would not return a doomed vnode under any circumstances. The fix in this change is not complete as it won't fix a deadlock between two threads doing VOP_RECLAIM where one thread is in zil_commit trying to zfs_zget a znode/vnode being reclaimed by the other thread, which would be blocked trying to enter zil_commit. This type of deadlock has not been reported as of now. o An indefinite wait in the unmount path caused by a znode "falling through the cracks" in inactive+reclaim. This would happen if the znode is unlinked while its vnode is still active. To Do: pass locking flags parameter to zfs_zget, so that the zfs-vfs glue code doesn't have to re-lock a vnode but could ask for proper locking from the very start. This would also allow for the higher level code to obtain a doomed vnode when it is expected/requested. Or to avoid blocking when it is not allowed (see zil_commit example above). ffs_vgetf seems like a good source of inspiration. Tested by: Willem Jan Withagen MFC after: 6 weeks END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-11-25T15:46:29.079241Z K 7 svn:log V 183 zfs_freebsd_reclaim: remove a stray variable ... which leaked from a subsequent local change. Unfortunately I noticed that only after commit. MFC after: 5 weeks X-MFC with: r243520 END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-11-25T15:58:35.439611Z K 7 svn:log V 290 On multiple requests, compact HDA driver verbose output by hiding CODEC's detailed information under the sound debug. To make it easier accessible, export that information through the set of sysctls like dev.hdaa.X.nidY. Also tune some output to make it both more compact and informative. END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2012-11-25T16:19:12.424950Z K 7 svn:log V 14 Fix spelling. END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-11-25T16:32:07.899931Z K 7 svn:log V 511 MFV r243013 and r243267: Import the zio nop-write improvement from Illumos. To reduce I/O, nop-write omits overwriting data if the checksum (cryptographically secure) of new data matches the checksum of existing data. It also saves space if snapshots are in use. It currently works only on datasets with enabled compression, disabled deduplication and sha256 checksums. IllumOS 13887:196932ec9e6a and 13888:7204b3392a58 3236 zio nop-write References: https://www.illumos.org/issues/3236 MFC after: 2 weeks END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-11-25T16:54:43.241657Z K 7 svn:log V 109 Add loader(8) tunable to enable/disable nopwrite functionality: vfs.zfs.nopwrite_enabled MFC after: 2 weeks END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2012-11-25T18:22:53.800952Z K 7 svn:log V 43 Print kernel args when booting the kernel. END K 10 svn:author V 3 hrs K 8 svn:date V 27 2012-11-25T19:10:53.121719Z K 7 svn:log V 332 Please welcome Takuya ASADA (syuu) as a new src committer. Takuya was a GSoC student who worked on Multiqueue BPF support in 2011 and BHyVe BIOS emulation in 2012, and will be continuing work on improving virtualization and parallelism in the network stack/drivers. I will be his mentor with gnn@ as co-mentor. Approved by: core END K 10 svn:author V 3 pjd K 8 svn:date V 27 2012-11-25T19:31:42.427801Z K 7 svn:log V 123 Look for zombie process only if we were given process id. Reviewed by: kib MFC after: 2 weeks X-MFC-after-or-with: 243142 END K 10 svn:author V 3 alc K 8 svn:date V 27 2012-11-25T19:42:36.126978Z K 7 svn:log V 881 Make a few small changes to vm_map_pmap_enter(): Add detail to the comment describing this function. In particular, describe what MAP_PREFAULT_PARTIAL does. Eliminate the abrupt change in behavior when the specified address range grows from MAX_INIT_PT pages to MAX_INIT_PT plus one pages. Instead of doing nothing, i.e., preloading no mappings whatsoever, map any resident pages that fall within the start of the specified address range, i.e., [addr, addr + ulmin(size, ptoa(MAX_INIT_PT))). Long ago, the vm object's list of resident pages was not ordered, so this function had to choose between probing the global hash table of all resident pages and iterating over the vm object's unordered list of resident pages. Now, the list is ordered, so there is no reason for MAP_PREFAULT_PARTIAL to be concerned with the vm object's count of resident changes. MFC after: 14 days END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-11-25T20:06:01.755286Z K 7 svn:log V 290 On multiple requests, compact HDA driver verbose output by hiding CODEC's detailed information under the sound debug. To make it easier accessible, export that information through the set of sysctls like dev.hdaa.X.nidY. Also tune some output to make it both more compact and informative. END K 10 svn:author V 3 bar K 8 svn:date V 27 2012-11-25T21:32:13.273307Z K 7 svn:log V 79 Add my mentor relationships to committers-ports.dot Approved by: flo (mentor) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-11-26T00:06:55.737573Z K 7 svn:log V 49 Add a primitive to check if a lock is not owned. END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-11-26T01:54:00.304415Z K 7 svn:log V 51 Remove extra sbuf_trim() copy/pasted into r243530. END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2012-11-26T01:57:22.082425Z K 7 svn:log V 180 MFC 242922 Update MAX_TASKS to scale a bit based on MAXCPU This alleviates issues on newer Sandy/Ivy Bridge gear that seems to require boatloads more ACPI resources than before. END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-11-26T02:04:11.368910Z K 7 svn:log V 59 Fix uninitialized variable reported by gcc, but not clang. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2012-11-26T02:31:28.586888Z K 7 svn:log V 822 MFC r241215-241216,241219-241220,241341,241343: r241215: Don't touch EMAC Mode and TX/RX MAC Mode register when driver is not running. r241216: APE firmware touches EMAC Mode and TX/RX MAC Mode registers to keep the MAC connected to the outside world. So keep the accesses atomic. r241219: Add 40 microseconds delay after updating EMAC Mode register as recommended by Broadcom data sheet. r241220: Follow Broadcom datasheet: Delay 100 microseconds after enabling transmit MAC. Delay 10 microseconds after enabling receive MAC. r241341: Limit applying TX data corruption and FIFO workaround to BCM5719 A0. It's believed BCM5720 does not have the issue. r241343: Rework device detach. While here, move driver lock/callout initialization to the beginning of device attach for readability. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2012-11-26T02:32:32.818866Z K 7 svn:log V 822 MFC r241215-241216,241219-241220,241341,241343: r241215: Don't touch EMAC Mode and TX/RX MAC Mode register when driver is not running. r241216: APE firmware touches EMAC Mode and TX/RX MAC Mode registers to keep the MAC connected to the outside world. So keep the accesses atomic. r241219: Add 40 microseconds delay after updating EMAC Mode register as recommended by Broadcom data sheet. r241220: Follow Broadcom datasheet: Delay 100 microseconds after enabling transmit MAC. Delay 10 microseconds after enabling receive MAC. r241341: Limit applying TX data corruption and FIFO workaround to BCM5719 A0. It's believed BCM5720 does not have the issue. r241343: Rework device detach. While here, move driver lock/callout initialization to the beginning of device attach for readability. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2012-11-26T02:41:30.631141Z K 7 svn:log V 1655 MFC r241388-241393: r241388: If the maximum payload size is 256 bytes or more, set the DMA write water mark to 256 bytes. Otherwise controller will encounter DMA write under run errors and would result in RX DMA hang. If the maximum payload size is 128 bytes, the water mark is set to 128 bytes as usual. While here, set maximum read request size to 2048 for BCM5719/BCM5720. For other PCIe devices, use 4096. And reprogram the maximum read request size whenever device reset is performed. r241389: On PHY write error use hex number to show the value. Add more comments. r241390: Honor PHY type fiber for BCM5717/BCM5718/BCM5719/BCM5720. r241391: Do not force PCIe 1.0a mode in device reset on BCM5717 and newer controllers. BCM5785 does not require PCI 1.0a mode as well during reset. r241392: Fix a long standing VCPU reset sequence bug on BCM5906. The VCPU(Virtual CPU) of BCM5906 is used to provide a mechanism to control the bootcode execution and to pick up configuration data stored inside the EEPROM. The bootcode of BCM5906 will check the BGE_VCPU_STATUS_DRV_RESET bit to decide which booting procedure to choose. Data sheet indicates the VCPU of BCM5906 should set BGE_VCPU_STATUS_DRV_RESET bit *before* VCPU reset or global reset. r241393: Remove unnecessary delay. I don't see any comments in data sheet that requires 10ms delay after device reset. Because that code was there from day 1, I guess it was added to give enough settlement time after updating BGE_MAC_MODE register. The recommended delay time for BGE_MAC_MODE after updating is 40us and it was already done in r241219. END