‚Ñ-212862 138 110 168 424 169 181 371 608 134 174 137 139 470 154 284 160 180 235 420 140 154 224 224 162 296 402 175 175 166 166 176 160 160 160 160 611 213 169 173 142 244 1239 221 196 443 343 645 174 122 394 154 154 202 223 223 296 104 240 240 304 272 272 620 620 438 253 142 172 588 588 161 240 237 615 164 252 480 445 2574 110 141 133 149 155 136 235 200 172 200 189 341 319 656 178 169 169 229 661 156 175 308 583 529 467 1316 516 391 160 242 309 362 160 443 209 266 365 142 118 544 324 226 354 183 174 145 147 229 153 305 458 207 179 782 1129 168 114 247 350 216 K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-09-19T15:15:04.850720Z K 7 svn:log V 14 MFC @ r212861 END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-09-19T15:20:52.599743Z K 7 svn:log V 72 There is no dependence by DEVICE_POLLING, so just axe this include out. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-19T16:06:32.142177Z K 7 svn:log V 328 MFC r212417: sh(1): Remove xrefs for expr(1) and getopt(1). expr(1) should usually not be used as various forms of parameter expansion and arithmetic expansion replicate most of its functionality in an easier way. getopt(1) should not be used at all in new code. Instead, getopts(1) or entirely manual parsing should be used. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-19T16:13:47.767931Z K 7 svn:log V 74 MFC r212418: test(1): Clarify grammar ambiguity and -a/-o vs shell &&/||. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-19T16:15:42.872192Z K 7 svn:log V 86 MFC r212419: test(1): Fix markup, ( and ) must be separate arguments so leave spaces. END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-09-19T16:35:42.580928Z K 7 svn:log V 279 Just make callout devices and /dev/console force CLOCAL on open(). Instead of adding custom checks to wait for DCD on open(), just modify the termios structure to set CLOCAL. This means SIGHUP is no longer generated when losing DCD as well. Reviewed by: kib@ MFC after: 1 week END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-09-19T17:43:22.252464Z K 7 svn:log V 515 Make refinements to r212824. In particular, don't make vm_map_unlock_nodefer() part of the synchronization interface for maps. Add comments to vm_map_unlock_and_wait() and vm_map_wakeup() describing how they should be used. In particular, describe the deferred deallocations issue with vm_map_unlock_and_wait(). Redo the implementation of vm_map_unlock_and_wait() so that it passes along the caller's file and line information, just like the other map locking primitives. Reviewed by: kib X-MFC after: r212824 END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T18:55:47.939484Z K 7 svn:log V 42 Mark r172606, r174682, r177298 as merged. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T19:02:14.191954Z K 7 svn:log V 82 MFC r194902, r197540, r198587, r198865: Define some ATA IDENTIFY fields and bits. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T19:16:27.715258Z K 7 svn:log V 45 Mark r174034,174665,174683,177262 as merged. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T19:18:35.444311Z K 7 svn:log V 47 MFC r199644: Add some missing WDMA/UDMA modes. END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-09-19T19:42:04.785479Z K 7 svn:log V 377 Allow a POSIX shared memory object that is opened for read but not for write to nonetheless be mapped PROT_WRITE and MAP_PRIVATE, i.e., copy-on-write. (This is a regression in the new implementation of POSIX shared memory objects that is used by HEAD and RELENG_8. This bug does not exist in RELENG_7's user-level, file-based implementation.) PR: 150260 MFC after: 3 weeks END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T19:43:05.062989Z K 7 svn:log V 62 MFC r201566: Move wakeup() out of mutex to reduce contention. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T19:51:14.952605Z K 7 svn:log V 191 MFC r196904: Remove msleep() timeout from g_io_schedule_up/down(). It works fine without it, saving few percents of CPU on high request rates without need to rearm callout twice per request. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T19:52:26.430340Z K 7 svn:log V 68 MFC r201264: Call wakeup() only for the first request on the queue. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T19:53:41.943929Z K 7 svn:log V 88 MFC r205619: Do not fetch precise time of request start when stats collection disabled. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T19:57:15.767959Z K 7 svn:log V 142 MFC r174669: Don't limit BIO_DELETE requests to MAXPHYS, they perform no data transfers, so they are not subject to the VM system limitation. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T20:02:31.064003Z K 7 svn:log V 327 MFC r196964: Do not check proper request alignment here in geom_dev in production. It will be checked any way later by g_io_check() in g_io_schedule_down(). It is only needed here to not trigger panic from additional check, when INVARIANTS enabled. So cover it with #ifdef INVARIANTS. It saves two 64bit divisions per request. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T20:07:40.790356Z K 7 svn:log V 48 MFC r201545: Slightly optimize XOR calculation. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-19T20:08:45.895427Z K 7 svn:log V 62 MFC r201567: Move wakeup() out of mutex to reduce contention. END K 10 svn:author V 2 np K 8 svn:date V 27 2010-09-19T20:22:48.801427Z K 7 svn:log V 132 MFC r212710 Fix t3_gate_rx_traffic and t3_open_rx_traffic. Parts of them always operated on XGMAC0 instead of the specified XGMAC. END K 10 svn:author V 2 np K 8 svn:date V 27 2010-09-19T20:38:34.492045Z K 7 svn:log V 132 MFC r212710 Fix t3_gate_rx_traffic and t3_open_rx_traffic. Parts of them always operated on XGMAC0 instead of the specified XGMAC. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-19T21:38:12.472233Z K 7 svn:log V 67 MFC r211621: sh(1): Add a brief summary of arithmetic expressions. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-19T21:56:41.956308Z K 7 svn:log V 200 MFC r207831: sh(1): Fix "reserved word" vs "keyword" inconsistency. Use "keyword" everywhere, like the output of the 'type' builtin, and only mention "reserved word" once to say it is the same thing. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2010-09-20T04:20:55.734472Z K 7 svn:log V 306 Unbreak the build on strong-aligned architectures (arm, ia64). Casting from (char *) to (struct ufs1_dinode *) changes the alignment requirement of the pointer and GCC does not know that the pointer is adequately aligned (due to malloc(3)), and warns about it. Cast to (void *) first to by-pass the check. END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T05:39:50.692118Z K 7 svn:log V 83 MFC r212549: acpi_cpu: do not apply P_LVLx_LAT rules to latencies returned by _CST END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T05:46:15.023886Z K 7 svn:log V 83 MFC r212549: acpi_cpu: do not apply P_LVLx_LAT rules to latencies returned by _CST END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T05:56:09.943012Z K 7 svn:log V 74 MFC r212213: struct device: widen type of flags and order fields to u_int END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T05:58:55.788446Z K 7 svn:log V 74 MFC r212213: struct device: widen type of flags and order fields to u_int END K 10 svn:author V 2 mm K 8 svn:date V 27 2010-09-20T07:23:45.041896Z K 7 svn:log V 85 MFC r212791: Remove duplicate include of Approved by: delphij (mentor) END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T07:31:08.529031Z K 7 svn:log V 68 MFC r212413: bus_add_child: change type of order parameter to u_int END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T11:09:31.115176Z K 7 svn:log V 68 MFC r212413: bus_add_child: change type of order parameter to u_int END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T11:15:23.652528Z K 7 svn:log V 68 MFC r212325: subr_bus: use hexadecimal representation for bit flags END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T11:18:20.760297Z K 7 svn:log V 68 MFC r212325: subr_bus: use hexadecimal representation for bit flags END K 10 svn:author V 8 jchandra K 8 svn:date V 27 2010-09-20T11:53:57.402483Z K 7 svn:log V 513 Add 64 bit support to nlge, and additional fixes - 64 bit fixes for ifnlge.c - Use m_nextpkt to save mbuf vaddr on 64 bit, we cannot store the 64 bit vaddr in the 40bit freeback field. - remove unused code and unnecessary variables. - use xlr_io_mmio macro instead of adding io base address - rewrite GPIO related code to fixup nlge using xlr_write_reg and DELAY - support for engg boards major num 11 and 12 - add xlr_paddr_lw() to load 32bit value from physical address, fix inline assembly - style fixes END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2010-09-20T12:19:11.146432Z K 7 svn:log V 117 Fix a locking issue which resulted in aborted associations due to a corrupted nr-mapping array. MFC after: 2 weeks. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2010-09-20T12:23:10.610817Z K 7 svn:log V 73 Do not convert some meaningful error value to EINVAL. Reviewed by: will END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-20T13:23:43.610389Z K 7 svn:log V 81 Add __dead2 to functions that we know they are going to exit. MFC after: 3 days END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-20T13:48:07.158922Z K 7 svn:log V 50 MFC r196415: Fill cpi->transport in XPT_PATH_INQ. END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-09-20T14:58:08.140720Z K 7 svn:log V 146 Fix an integer overflow in RLE length parsing when decompressing corrupt bzip2 data. Approved by: so (cperciva) Security: FreeBSD-SA-10:08.bzip2 END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T16:04:44.161913Z K 7 svn:log V 1145 Tweak the stats exported by the e1000 drivers: - Add a single sysctl procedure to all three drivers to read an arbitrary register (the register is passed as arg2). Use it to replace existing routines in igb(4) that used a separate routine for each register, and to add support for missing stats in em(4) and lem(4). - Move the 'rx_overruns' and 'watchdog_timeouts' stats out of the MAC stats section as they are driver stats, not MAC counters. - Simplify the code that creates per-queue stats in igb(4) to use a single loop and remove duplicated code. - Properly read all 64 bits of the 'good octets received/transmitted' in em(4) and lem(4). - Actually read the interrupt count registers in em(4), and drop the 'host to card' sysctl stats from em(4) as they are not implemented in any of the hardware this driver supports. - Restore several stats to em(4) that were lost in the earlier stats conversion including per-queue stats. - Export several MAC stats in em(4) that were exported in igb(4) but not in em(4). - Export stats in lem(4) using individual sysctls as in em(4) and igb(4). Reviewed by: jfv MFC after: 1 week END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-09-20T16:18:39.379178Z K 7 svn:log V 124 - Remove the test_get_lock() functionality as it only messes up the methods implementation. - Compact the sysctl numbers. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-09-20T16:43:17.838316Z K 7 svn:log V 103 Upgrade our Clang in base to r114020, from upstream's release_28 branch. Approved-by: rpaulo (mentor) END K 10 svn:author V 2 bz K 8 svn:date V 27 2010-09-20T17:03:10.272707Z K 7 svn:log V 351 MFC r212403: When using pf routing options, properly handle IP fragmentation for interfaces with TSO enabled, otherwise one would see an extra ICMP unreach, frag needed pre matching packet on lo0. This syncs pf code to ip_output.c r162084. Submitted by: yongari via mlaier Reviewed by: eri Tested by: kib PR: kern/144311 END K 10 svn:author V 5 trasz K 8 svn:date V 27 2010-09-20T17:10:06.916947Z K 7 svn:log V 248 First step at adopting FreeBSD to support PSARC/2010/029. This makes acl_is_trivial_np(3) properly recognize the new trivial ACLs. From the user point of view, that means "ls -l" no longer shows plus signs for all the files when running ZFS v28. END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2010-09-20T17:39:49.689090Z K 7 svn:log V 550 MFC r210055: Correct logic bug in aicasm's undefined register bit access detection code. The code in question verifies that all register write operations only change bits that are defined (in the register definition file) for that effected register. The bug effectively disabled this checking. o Fix the check by testing the opcode against all supported read ("and" based) operands. o Add missing bit definitions to the aic7xxx and aic79xx register definition files so that the warning (treated as a fatal error) does not spuriously fire. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-20T17:56:03.206678Z K 7 svn:log V 82 MFC r201148: Don't forget to use `void' for sched_balance(). It has no arguments. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-20T18:20:35.761858Z K 7 svn:log V 30 MFC r196829: Add missing ';'. END K 10 svn:author V 2 bz K 8 svn:date V 27 2010-09-20T18:26:37.313132Z K 7 svn:log V 302 MFC r212403: When using pf routing options, properly handle IP fragmentation for interfaces with TSO enabled, otherwise one would see an extra ICMP unreach, frag needed pre matching packet on lo0. This syncs pf code to ip_output.c r162084. Submitted by: yongari via mlaier PR: kern/144311 END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T18:40:54.688513Z K 7 svn:log V 62 MFC 211888: Simplify the tcp pcblist estimate logic slightly. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T18:41:15.771610Z K 7 svn:log V 62 MFC 211888: Simplify the tcp pcblist estimate logic slightly. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T18:49:28.867826Z K 7 svn:log V 105 Don't check `align' value 0 whenever it multiplies alignment value and 2 that it looks it's meaningless. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T18:58:24.192177Z K 7 svn:log V 130 MFC 212338: If autoboot_delay is set to -1, boot immediately without checking for a keypress to match the behavior of the loader. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T18:58:44.759598Z K 7 svn:log V 130 MFC 212338: If autoboot_delay is set to -1, boot immediately without checking for a keypress to match the behavior of the loader. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T19:13:00.567602Z K 7 svn:log V 199 Commits a experimental commit to remove a trick that this commit would cause a crash when the recursive holding is happend but I'd like to see where it comes from and solves it with better approach. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T19:14:45.587644Z K 7 svn:log V 9 style(9) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T19:17:21.977827Z K 7 svn:log V 147 MFC 212329: Simplify chkattached(). The PCIOCATTACHED ioctl only needs the pi_sel field populated, it ignores the rest of the 'pci_io' structure. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T19:17:31.660839Z K 7 svn:log V 147 MFC 212329: Simplify chkattached(). The PCIOCATTACHED ioctl only needs the pi_sel field populated, it ignores the rest of the 'pci_io' structure. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T19:20:37.249079Z K 7 svn:log V 207 For readability explicitly takes a argument `needwakeup'. In the previous `isload' had two meanings that first the callback registered should be called, second the wakeup isn't allowed that it's confusing. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T19:25:15.779579Z K 7 svn:log V 179 MFC 212369: - Use 'sta' to hold the PCIR_STATUS register value instead of 'cmd' when walking the capability list. - Use constants for PCI header types instead of magic numbers. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T19:25:27.190887Z K 7 svn:log V 179 MFC 212369: - Use 'sta' to hold the PCIR_STATUS register value instead of 'cmd' when walking the capability list. - Use constants for PCI header types instead of magic numbers. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T19:29:48.011502Z K 7 svn:log V 527 MFC 209907,212326,212368,212749: - Provide more defines for PCI-Express device ctrl. - Add register definitions related to extended capability IDs in PCI-express. I used PCIZ_* for ID constants (plain capability IDs use PCIY_*). - Add register definitions for the Advanced Error Reporting, Virtual Channels, and Device Serial Number extended capabilities. - Teach pciconf -c to list extended as well as plain capabilities for PCI-express devices. Adds more detailed parsing for AER, VC, and device serial numbers. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T19:30:20.993410Z K 7 svn:log V 527 MFC 209907,212326,212368,212749: - Provide more defines for PCI-Express device ctrl. - Add register definitions related to extended capability IDs in PCI-express. I used PCIZ_* for ID constants (plain capability IDs use PCIY_*). - Add register definitions for the Advanced Error Reporting, Virtual Channels, and Device Serial Number extended capabilities. - Teach pciconf -c to list extended as well as plain capabilities for PCI-express devices. Adds more detailed parsing for AER, VC, and device serial numbers. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T19:36:53.099399Z K 7 svn:log V 341 Just assumes that the number of segment by bus_dmamap_load(9) is always 1 because currently it looks handling the multiple segments cause a kernel crash that the number of array `pc->page_start' isn't known. It means it could lead invalid memory access and override the kernel memory value when the array size is 1 and segments are over 1. END K 10 svn:author V 3 mdf K 8 svn:date V 27 2010-09-20T19:42:14.733276Z K 7 svn:log V 160 Use destroy_dev_sched(9) instead of destroy_dev(9) in passcleanup() as it is indirectly a d_close method. Prompted by: kib Reviewed by: mav MFC after: 2 weeks END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-09-20T19:42:52.273698Z K 7 svn:log V 46 Add Simplified Chinese messages for BSD grep. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T19:47:58.899004Z K 7 svn:log V 76 usb_pc_common_mem_cb() would always be called with holding uptag->mtx lock. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T19:58:50.889078Z K 7 svn:log V 495 MFC 212293: Store the full timestamp when caching timestamps of files and directories for purposes of validating name cache entries. This closes races where two updates to a file or directory within the same second could result in stale entries in the name cache. To preserve the ABI of 'struct nfsnode', the existing timestamp fields are left with 'n_unusedX' placeholders along with the unused 'n_expiry' field. The larger n_ctime and n_dmtime fields are added to the end of the structure. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-20T19:59:08.647874Z K 7 svn:log V 495 MFC 212293: Store the full timestamp when caching timestamps of files and directories for purposes of validating name cache entries. This closes races where two updates to a file or directory within the same second could result in stale entries in the name cache. To preserve the ABI of 'struct nfsnode', the existing timestamp fields are left with 'n_unusedX' placeholders along with the unused 'n_expiry' field. The larger n_ctime and n_dmtime fields are added to the end of the structure. END K 10 svn:author V 3 mdf K 8 svn:date V 27 2010-09-20T20:41:59.310524Z K 7 svn:log V 69 Replace an XXX comment with the appropriate code. Submitted by: alc END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-20T21:22:15.223169Z K 7 svn:log V 147 tools/umastat: fix build on amd64 And perhaps other 64-bit platforms. Submitted by: Fabian Keil MFC after: 1 week END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2010-09-20T21:38:52.750259Z K 7 svn:log V 140 Please welcome Hans Petter Selasky (hselasky@) to the ranks of the src committers. He will be working on all things USB. Approved by: core END K 10 svn:author V 5 brian K 8 svn:date V 27 2010-09-20T22:04:59.828576Z K 7 svn:log V 520 Add a geli resize subcommand to resize encrypted filesystems prior to growing the filesystem. Refuse to attach providers where the metadata provider size is wrong. This makes post-boot attaches behave consistently with pre-boot attaches. Also refuse to restore metadata to a provider of the wrong size without the new -f switch. The new -f switch forces the metadata restoration despite the provider size, and updates the provider size in the restored metadata to the correct value. Helped by: pjd Reviewed by: pjd END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T22:57:42.020275Z K 7 svn:log V 68 Changes the style of accessing DMA segments; no functional changes. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T23:00:21.200206Z K 7 svn:log V 155 If the number of DMA segments are over 1 we needs to store the physical address for further use though usb_pc_common_mem_cb() only supports 1 segment now. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-20T23:17:26.884268Z K 7 svn:log V 383 Adds a variable `npage' to struct usb_page_cache which points the number of DMA pages for a usb_page_cache structure. In the previous it just pointed a pointer of the array for page_start variable so USB stack explicitly didn't know how many array could be accessed by bus_dmamap_load(9) callback. Only a developer of the host controller driver knows it in their mind not in code. END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-09-20T23:36:54.379336Z K 7 svn:log V 352 Support new variable NANO_LABEL. When set to a non-null string, nanobsd will build a system that uses this label (via /dev/ufs/${NANO_LABEL}sX) in preference to NANO_DRIVE (well, it forces NANO_DRIVE to be ufs/${NANO_LABEL}). This allows images that will boot off usb stick or CF card easily well. There is no change if you don't set this variable. END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2010-09-20T23:39:00.726747Z K 7 svn:log V 2478 MFC 212160: Correct bioq_disksort so that bioq_insert_tail() offers barrier semantic. Add the BIO_ORDERED flag for struct bio and update bio clients to use it. The barrier semantics of bioq_insert_tail() were broken in two ways: o In bioq_disksort(), an added bio could be inserted at the head of the queue, even when a barrier was present, if the sort key for the new entry was less than that of the last queued barrier bio. o The last_offset used to generate the sort key for newly queued bios did not stay at the position of the barrier until either the barrier was de-queued, or a new barrier (which updates last_offset) was queued. When a barrier is in effect, we know that the disk will pass through the barrier position just before the "blocked bios" are released, so using the barrier's offset for last_offset is the optimal choice. sys/geom/sched/subr_disk.c: sys/kern/subr_disk.c: o Update last_offset in bioq_insert_tail(). o Only update last_offset in bioq_remove() if the removed bio is at the head of the queue (typically due to a call via bioq_takefirst()) and no barrier is active. o In bioq_disksort(), if we have a barrier (insert_point is non-NULL), set prev to the barrier and cur to it's next element. Now that last_offset is kept at the barrier position, this change isn't strictly necessary, but since we have to take a decision branch anyway, it does avoid one, no-op, loop iteration in the while loop that immediately follows. o In bioq_disksort(), bypass the normal sort for bios with the BIO_ORDERED attribute and instead insert them into the queue with bioq_insert_tail(). bioq_insert_tail() not only gives the desired command order during insertion, but also provides barrier semantics so that commands disksorted in the future cannot pass the just enqueued transaction. sys/sys/bio.h: Add BIO_ORDERED as bit 4 of the bio_flags field in struct bio. sys/cam/ata/ata_da.c: sys/cam/scsi/scsi_da.c Use an ordered command for SCSI/ATA-NCQ commands issued in response to bios with the BIO_ORDERED flag set. sys/cam/scsi/scsi_da.c Use an ordered tag when issuing a synchronize cache command. Wrap some lines to 80 columns. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c sys/geom/geom_io.c Mark bios with the BIO_FLUSH command as BIO_ORDERED. Sponsored by: Spectra Logic Corporation ------------------------------------------------------------------------ END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T00:05:10.225679Z K 7 svn:log V 14 More verbose. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T00:06:19.283232Z K 7 svn:log V 45 Adds a magic +2 for the number of DMA pages. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T00:07:18.941579Z K 7 svn:log V 37 Adds XXX comments looking ambiguous. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T00:14:00.409192Z K 7 svn:log V 53 Renames two variable names of struct usb_page_cache. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T00:27:50.077940Z K 7 svn:log V 59 Uses roundup() macro instead of inventing the wheel again. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T02:24:11.509270Z K 7 svn:log V 40 Reflects the changes of variable names. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-21T04:23:27.205453Z K 7 svn:log V 142 MFC r212456: Sparc64 uses dummy cpu_idle() method. It's CPUs never sleeping. Tell scheduler that it doesn't need to use IPI to "wake up" CPU. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-21T04:29:27.353098Z K 7 svn:log V 107 MFC r212240: Add support for the Sharp/Micron flash chips to powermac_mvram(4). Tested on PowerMac G4 AGP. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-21T04:39:13.981409Z K 7 svn:log V 80 MFC r209625: Correct explanation for idle and standby subcommands' -t argument. END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-21T05:36:30.954987Z K 7 svn:log V 107 tools/umastat: more cleanups PR: misc/146119 Submitted by: pluknet MFC after: 1 week END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-21T05:54:36.590764Z K 7 svn:log V 97 zfs_vnops: use zfs_map_page/zfs_unmap_page helper functions in another place MFC after: 2 weeks END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-21T05:58:45.640645Z K 7 svn:log V 248 zfs_map_page/zfs_unmap_page: do not use sched_pin() and SFB_CPUPRIVATE zfs_map_page/zfs_unmap_page are mostly called around potential I/O paths and it seems to be a not very good idea to do cpu pinning there. Suggested by: kib MFC after: 2 weeks END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-09-21T06:47:04.984813Z K 7 svn:log V 222 If we are at cancellation point, always work as deferred mode despite whether asynchronous mode is turned on or not, this always gives us a chance to decide whether thread should be canceled or not in cancellation points. END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-09-21T07:01:00.743223Z K 7 svn:log V 564 MFC r211598: Add support for whiteouts on tmpfs. Right now unionfs only allows filesystems to be mounted on top of another if it supports whiteouts. Even though I have sent a patch to daichi@ to let unionfs work without it, we'd better also add support for whiteouts to tmpfs. This patch implements .vop_whiteout and makes necessary changes to lookup() and readdir() to take them into account. We must also make sure that when adding or removing a file, we honour the componentname's DOWHITEOUT and ISWHITEOUT, to prevent duplicate filenames. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2010-09-21T07:03:53.401839Z K 7 svn:log V 82 Fix the path to the sys dir when cross compiling after r209510. Reviewed by: imp END K 10 svn:author V 5 brian K 8 svn:date V 27 2010-09-21T07:43:56.578715Z K 7 svn:log V 75 MFC r212253: Document how to use dhclient-{enter,exit}-hooks. PR: 149351 END K 10 svn:author V 5 brian K 8 svn:date V 27 2010-09-21T07:44:40.290456Z K 7 svn:log V 75 MFC r212253: Document how to use dhclient-{enter,exit}-hooks. PR: 149351 END K 10 svn:author V 8 jchandra K 8 svn:date V 27 2010-09-21T07:58:47.810024Z K 7 svn:log V 131 n32 fixes for nlge. Use correct define (__mips_n64) for n64 compilation and use correct parameter type for xlr_paddr_lw() in n32. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-21T08:02:02.181437Z K 7 svn:log V 568 Until hardclock() and respectively tc_windup() called first time, system is running on "dummy" time counter. But to function properly in one-shot mode, event timer management code requires working time counter. Slow moving "dummy" time counter delays first hardclock() call by few seconds on my systems, even though timer interrupts were correctly kicking kernel. That causes few seconds delay during boot with one-shot mode enabled. To break this loop, explicitly call tc_windup() first time during initialization process to let it switch to some real time counter. END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-09-21T08:25:00.620069Z K 7 svn:log V 65 Add a notice to the man page that batteries should be installed. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-09-21T09:33:44.089510Z K 7 svn:log V 83 MFC r212618: Rename the field to not confuse readers. The bytes are actually used. END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2010-09-21T10:22:29.168626Z K 7 svn:log V 212 Bring in OpenSSL checkin 19821: Make inline assembler clang-friendly [from HEAD]. openssl/crypto/md32_common.h 1.45.2.1 -> 1.45.2.2 openssl/crypto/rc5/rc5_locl.h 1.8 -> 1.8.8.1 Approved by: simon END K 10 svn:author V 4 tijl K 8 svn:date V 27 2010-09-21T12:55:20.575630Z K 7 svn:log V 489 MFC r212286: GCC defines built-ins for atomic instructions found on i486 and higher. Because FreeBSD no longer supports the 80386 cpu all code targeting FreeBSD/i386 necessarily runs on i486 or higher so the compiler built-ins can be used by default inside libstdc++ and in C++ headers. This allows newly compiled C++ code to inline some atomic operations. Old binaries continue to use libstdc++ functions. PR: 148926 Tested by: Yuri Karaban Approved by: kib (mentor) END K 10 svn:author V 4 tijl K 8 svn:date V 27 2010-09-21T12:57:43.915267Z K 7 svn:log V 435 MFC r212286: GCC defines built-ins for atomic instructions found on i486 and higher. Because FreeBSD no longer supports the 80386 cpu all code targeting FreeBSD/i386 necessarily runs on i486 or higher so the compiler built-ins can be used by default inside libstdc++ and in C++ headers. This allows newly compiled C++ code to inline some atomic operations. Old binaries continue to use libstdc++ functions. Approved by: kib (mentor) END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-21T15:07:44.685779Z K 7 svn:log V 374 kdb_backtrace: stack(9)-based code to print backtrace without any backend The idea is to add KDB and KDB_TRACE options to GENERIC kernels on stable branches, so that at least the minimal information is produced for non-specific panics like traps on page faults. The GENERICs in stable branches seem to already include STACK option. Reviewed by: attilio MFC after: 2 weeks END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-09-21T16:24:51.795500Z K 7 svn:log V 1222 Fix exec_imgact_shell()'s handling of two error cases: (1) Previously, if the first line of a script exceeded MAXSHELLCMDLEN characters, then exec_imgact_shell() silently truncated the line and passed on the truncated interpreter name or argument. Now, exec_imgact_shell() will fail and return ENOEXEC, which is the commonly used errno among Unix variants for this type of error. (2) Previously, exec_imgact_shell()'s check on the length of the interpreter's name was ineffective. In other words, exec_imgact_shell() could not possibly fail and return ENAMETOOLONG. The reason being that the length of the interpreter name had to exceed MAXSHELLCMDLEN characters in order that ENAMETOOLONG be returned. But, the search for the end of the interpreter name stops after at most MAXSHELLCMDLEN - 2 characters are scanned. (In the end, this particular error is eventually discovered outside of exec_imgact_shell() and ENAMETOOLONG is returned. So, the real effect of this second change is that the error is detected earlier, in exec_imgact_shell().) Update the definition of MAXINTERP to the actual limit on the size of the interpreter name that has been in effect since r142453 (from 2005). In collaboration with: kib END K 10 svn:author V 2 jh K 8 svn:date V 27 2010-09-21T16:49:02.826295Z K 7 svn:log V 424 Modify devfs_fqpn() for future use in devfs path reference counting code: - Accept devfs_mount and devfs_dirent as the arguments instead of a vnode. This generalizes the function so that it can be used from contexts where vnode references are not available. - Accept NULL cnp argument. No '/' will be appended, if a NULL cnp is provided. - Make the function global and add its prototype to devfs.h. Reviewed by: kib END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-21T16:50:24.848939Z K 7 svn:log V 298 Remember last kern.eventtimer.periodic value, explicitly set by user. If timer capabilities forcing us to change periodicity mode, try to restore it back later, as soon as new choosen timer capable to do it. Without this, timer change like HPET->RTC->HPET always results in enabling periodic mode. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-21T17:25:15.729677Z K 7 svn:log V 64 Remove unnecessary controller reinitialization. PR: kern/87506 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-21T17:31:14.760529Z K 7 svn:log V 145 Make sure to clear IFF_DRV_RUNNING to reinitialize controller. While I'm here update if_oerrors counter when driver encounters watchdog timeout. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-21T17:37:28.801016Z K 7 svn:log V 216 If new callout scheduled to another CPU and we are using global timer, there is high probability that timer is already programmed by some other CPU. Especially by one that registered this callout, and so active now. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-21T17:42:19.235058Z K 7 svn:log V 265 Remove unnecessary controller reinitialization. StarFire controller does not require controller reinitialization to program perfect filters. While here, make driver immediately exit from interrupt/polling handler if driver reinitialized controller. PR: kern/87506 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-21T17:52:32.631538Z K 7 svn:log V 64 Remove unnecessary controller reinitialization. PR: kern/87506 END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T18:25:33.985350Z K 7 svn:log V 346 Checks the requested size whether it's over INT_MAX or not. If it's over explicitly make a panic. Most of cases the size would be less than 128 Kbytes (even if it's a worst case it'll be smaller than 1 Mbytes) because the buffer is for DMA operations. So if it's larger than 2G it means the driver writer did something wrong. Pointed by: imp END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-21T19:12:22.403114Z K 7 svn:log V 116 Comment nit, set TDF_NEEDRESCHED after the comment describing why it is done rather than before. MFC after: 1 week END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T20:21:56.843447Z K 7 svn:log V 169 Wrong type for DMA physical address. Its type should be bus_addr_t not bus_size_t. The difference could be that the size would be uint64_t if PAE or other is enabled. END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2010-09-21T20:23:19.255463Z K 7 svn:log V 269 Workaround LLVM bug #4434: Reorder inline assembly arguments temp2, temp, value and texp to follow the st(0), st(1), etc. style. Also mark the temp2 variable as volatile to workaround another clang bug. This allows clang to buildworld FreeBSD/i386. Submitted by: dim END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T20:51:40.878276Z K 7 svn:log V 46 One more wrong type for DMA physical address. END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2010-09-21T21:07:46.453850Z K 7 svn:log V 21 Minor grammar fixes. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-09-21T21:41:45.632721Z K 7 svn:log V 451 When building world with clang, for gnu/lib/libobjc, sys/boot/i386/boot2 and sys/boot/pc98/boot2, do not simply assign 'gcc' to CC, since compile flags are sometimes passed via this variable, for example during the build32 stage on amd64. This caused the 32-bit libobjc build on amd64 to fail. Instead, only replace the first instance of clang (if any, including optional path) with gcc, and leave the arguments alone. Approved-by: rpaulo (mentor) END K 10 svn:author V 6 sanpei K 8 svn:date V 27 2010-09-21T22:42:14.374131Z K 7 svn:log V 228 Add new device ids. Buffalo (Melco Inc.) LUA3-U2-AGT Logitec LAN-GTJ/U2A(usb/119981) PR: usb/119981 and me Submitted by: "Y.Okabe" , hiroo at oikumene.gcd.org Reviewed by: thompsa MFC after: 3 days END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T23:08:12.982152Z K 7 svn:log V 129 Fixes a regression that [devname]_start API could be called without holding the device lock if it's called from ifp->if_start(). END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T23:25:38.485879Z K 7 svn:log V 257 Records the length of DMA physical buffer also that it looks handling the DMA segments is completely wrong because there are no any places to check the DMA buffer length in USB stack. It means some physical address are overwrited by invalid USB transfers. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-21T23:47:05.351386Z K 7 svn:log V 87 Adds a XXX comment about assertion by USB stack when it handles multiple DMA segments. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2010-09-21T23:48:00.269996Z K 7 svn:log V 79 Log the argument to _exit(2). Submitted by: Simon J. Gerraty END K 10 svn:author V 6 obrien K 8 svn:date V 27 2010-09-22T00:25:16.149085Z K 7 svn:log V 50 Fix build due to __FBSDID(), and enable keywords. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-22T00:54:50.874876Z K 7 svn:log V 51 Removes unnecessary spaces; no functional changes. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-22T01:20:05.724496Z K 7 svn:log V 132 Changes the style to access pc->pages information based on the array index to make easy to check the maximum boundary of the array. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-22T01:39:55.177444Z K 7 svn:log V 57 Adds two assertion to check invalid usages of DMA pages. END K 10 svn:author V 4 neel K 8 svn:date V 27 2010-09-22T02:26:07.165145Z K 7 svn:log V 211 Enforce that 'pmap_kenter()' is only used to establish cacheable mappings. Mappings with other cacheability attributes can be established, if needed, by using 'pmap_kenter_attr()'. Suggested by: jchandra, imp END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-09-22T04:48:39.697752Z K 7 svn:log V 365 Make the labels match the device name that's mounted, not just the slice they are on. When NANO_LABEL is not defined, the fstab generates entries that specify /dev/ad0s1a. When NANO_LABEL is defined, it generates /dev/usb/${NANO_LABEL}s1a. The prior code created the file system with a label of ${NANO_LABEL}s1, leading to problems on boot. Pointy hat to: imp@ END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-22T05:17:18.973979Z K 7 svn:log V 114 Decrease poll interval from 1000 to 100us. This significantly reduces kernel dump time, especially with minidump. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-22T05:32:37.573697Z K 7 svn:log V 87 If kernel built with DEVICE_POLLING, keep one CPU always in active state to handle it. END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-22T06:10:22.030315Z K 7 svn:log V 689 acpi_attach: do not explicitly install default handlers for default address spaces There has been no need to do that starting with ACPICA 20040427 as AcpiEnableSubsystem() installs the handlers automatically. Additionaly, explicitly calling AcpiInstallAddressSpaceHandler before AcpiEnableSubsystem is not supported by ACPICA and leads to too early execution of _REG methods in some DSDTs, which may result in problems. Big thanks to Robert Moore of ACPICA/Intel for explaining the above. Reported by: Daniel Bilik Tested by: Daniel Bilik Reviewed by: jkim Suggested by: "Moore, Robert" MFC after: 1 week END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-22T06:45:07.502489Z K 7 svn:log V 1035 kdb_backtrace: use stack_print_ddb instead of stack_print This is a followup to r212964. stack_print call chain obtains linker sx lock and thus potentially may lead to a deadlock depending on a kind of a panic. stack_print_ddb doesn't acquire any locks and it doesn't use any facilities of ddb backend. Using stack_print_ddb outside of DDB ifdef required taking a number of helper functions from under it as well. It is a good idea to rename linker_ddb_* and stack_*_ddb functions to have 'unlocked' component in their name instead of 'ddb', because those functions do not use any DDB services, but instead they provide unlocked access to linker symbol information. The latter was previously needed only for DDB, hence the 'ddb' name component. Alternative is to ditch unlocked versions altogether after implementing proper panic handling: 1. stop other cpus upon a panic 2. make all non-spinlock lock operations (mutex, sx, rwlock) be a no-op when panicstr != NULL Suggested by: mdf Discussed with: attilio MFC after: 2 weeks END K 10 svn:author V 6 philip K 8 svn:date V 27 2010-09-22T08:41:30.534041Z K 7 svn:log V 73 Take dds' commit bit for safekeeping per his request. Approved by: core END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-09-22T10:55:33.859780Z K 7 svn:log V 18 Fix with WARNS=6. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-22T11:32:22.166061Z K 7 svn:log V 154 Quick fix for unmotivated C2 state usage during boot, introduced at r212541. That caused LAPIC timer failure and huge delays during boot on some systems. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-09-22T12:52:12.637205Z K 7 svn:log V 257 For sparc64 relocations that directly put bits of the symbol value into the location, apply elf_relocaddr to the symbol value to have right values for the symbols from dpcpu segment. PR: kern/147769 Discussed with: avg Tested by: marius MFC after: 2 weeks END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-22T15:10:03.366685Z K 7 svn:log V 123 Copy td_rqindex during fork instead of zero'ing it to match the comments. I do not believe there is any functional change. END