äh235926 74 199 654 350 380 303 742 1032 230 380 199 133 1266 140 207 315 859 229 175 804 116 135 201 162 185 412 401 401 305 367 363 439 1064 571 430 351 641 391 383 379 256 255 238 364 364 364 126 341 255 225 543 537 537 377 174 563 468 525 230 226 468 615 342 250 175 215 1796 565 221 188 180 180 187 187 146 K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-24T19:24:31.667653Z K 7 svn:log V 107 MFC r232614: Provide wbwd(4), a driver for the watchdog timer found on various Winbond Super I/O chips. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T19:48:15.381879Z K 7 svn:log V 558 Work better with how make/bmake works: 1. Avoid a cd back into ${.CURDIR} to run mkbuiltins when we know make will first cd into ${.OBJDIR}. Keep the cwd to what make sets it to. 2. Don't tell mkbuiltins where to write to (= ${.OBJDIR}), but where to get sources from (= ${.CURDIR}). This to compensate for point 1. This fixes a problem with bmake's mk files that optimize ${.OBJDIR} to expand to "." after changing cwd, not taking into account that the target is pretty much undoing that and not getting the full path to the object tree anymore. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T20:00:58.953862Z K 7 svn:log V 254 Fix an inconsistency I just ran into for LDADD and DPADD. The description for both of them use different, and presumably wrong, variables in the example. They set LDFILES and SRCLIB respectively. I guess that's what DPADD and LDADD were called first ... END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T20:12:46.433651Z K 7 svn:log V 284 Allow building for the PowerPC EABI by providing a dummy __eabi() function. The purpose of the __eabi() function is to set up the runtime and is called first thing by main(). The runtime is already set up for us prior to caling main, so there's nothing to do for us in the EABI case. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T20:24:49.756729Z K 7 svn:log V 207 Preset (clear) the ranges we're supposed to fill from the FDT. If a particular range (either I/O memory or I/O port) is not defined in the FDT, we're not handing uninitialized structures back to our caller. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T20:45:44.069896Z K 7 svn:log V 646 Fix the memory barriers for CPUs that do not like lwsync and wedge or cause exceptions early enough during boot that the kernel will do ithe same. Use lwsync only when compiling for LP64 and revert to the more proven isync when compiling for ILP32. Note that in the end (i.e. between revision 222198 and this change) ILP32 changed from using sync to using isync. As per Nathan the isync is needed to make sure I/O accesses are properly serialized with locks and isync tends to be more effecient than sync. While here, undefine __ATOMIC_ACQ and __ATOMIC_REL at the end of the file so as not to leak their definitions. Discussed with: nwhitehorn END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T20:58:40.833590Z K 7 svn:log V 936 o Rename kernload_ap to bp_kernelload. This to introduce a common prefix for variables that live in the boot page. o Add bp_trace (yes, it's in the boot page) that gets zeroed before we try to wake a core and to which the core being woken can write markers so that we know where the core was in case it doesn't wake up. The boot code does not yet write markers (too follow). o Disable the boot page translation to allow the last 4K page to be used for whatever we please. It would get mapped otherwise. o Fix kernstart in the case of SMP. The start argument is typically page aligned due to the alignment requirements that come with having a boot page. The point of using trunc_page is that we get the actual load address given that the entry point is immediately following the ELF headers. In the SMP case this ended up exactly 4K after the load address. Hence subtracting 1 from start. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T21:01:35.198683Z K 7 svn:log V 134 Either the I/O port range or the memory mapped I/O range may not be defined in the FDT. The range will have a zero size in that case. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T21:07:10.985882Z K 7 svn:log V 284 Just return if the size of the window is 0. This can happen when the FDT does not define all ranges possible for a particular node (e.g. PCI). While here, only update the trgt_mem and trgt_io pointers if there's no error. This avoids that we knowingly write an invalid target (= -1). END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T21:09:38.188623Z K 7 svn:log V 103 Remove Semihakf-ism. DEBUG is a kernel configuration option. It should not be defined in source files. END K 10 svn:author V 3 raj K 8 svn:date V 27 2012-05-24T21:13:24.502516Z K 7 svn:log V 41 Fix physical address type to vm_paddr_t. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T21:23:13.025939Z K 7 svn:log V 1169 A few improvements: 1. Define all registers. These definitions are needed to support the FCM driver for direct-connect NAND. 2. Repurpose lbc_read_reg() and lbc_write_reg() for use by localbus attached device drivers. Use bus_space functions directly in the lbc driver itself. 3. Be smarter about programming LAWs and mapping memory. The ranges defined in the FDT are per bank (= chip select) and since we can have up to 8 banks, we could easily use more than 8 LAWs or TLB enrties when per-bank memory ranges need multiple LAWs or TLBs due to alignment or size constraints. We now combine all memory ranges into the fewest possible set of contiguous regions and program the hardware for that. Thus, a cleverly written FDT with 8 devices may still only need 1 LAW or 1 TLB entry. Note that the memory ranges can be assigned randomly to the banks. We sort as we build to handle that. 4. Support the FCM when programming the OR register. This is mostly for documention purposes as we do not have a way to define the mode for a bank. 5. Remove Semihalf-ism: do not define DEBUG (only to undefine it again). END K 10 svn:author V 3 raj K 8 svn:date V 27 2012-05-24T21:24:23.845555Z K 7 svn:log V 48 Recognize version 3.1 of the SEC crypto engine. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2012-05-24T21:44:46.781177Z K 7 svn:log V 111 Consitently use "__LP64__". [there are 33 __LP64__'s in the kernel (minus cddl/ and contrib/), and 11 _LP64's] END K 10 svn:author V 7 linimon K 8 svn:date V 27 2012-05-24T21:55:36.648110Z K 7 svn:log V 218 - Allow for per-build src.conf as ${builddir}/src.conf.server. - allow 'latest' to be assumed as an argument to makeworld and mkbindist. - standardize on 'builddir' instead of 'here'. - some formatting cleanup. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-24T22:00:48.917120Z K 7 svn:log V 767 MFp4 bz_ipv6_fast: in_cksum.h required ip.h to be included for struct ip. To be able to use some general checksum functions like in_addword() in a non-IPv4 context, limit the (also exported to user space) IPv4 specific functions to the times, when the ip.h header is present and IPVERSION is defined (to 4). We should consider more general checksum (updating) functions to also allow easier incremental checksum updates in the L3/4 stack and firewalls, as well as ponder further requirements by certain NIC drivers needing slightly different pseudo values in offloading cases. Thinking in terms of a better "library". Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 6 marcel K 8 svn:date V 27 2012-05-24T22:06:00.164769Z K 7 svn:log V 133 Revert isync for ILP32 to sync as per my original change that I discussed with Nathan. Leave __ATOMIC_ACQ as an isync as per Nathan. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2012-05-24T22:14:39.212108Z K 7 svn:log V 75 Atomic operation acquire barriers also need to be isync on 64-bit systems. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-24T23:03:23.924096Z K 7 svn:log V 712 MFp4 bz_ipv6_fast: Significantly update tcp_lro for mostly two things: 1) introduce basic support for IPv6 without extension headers. 2) try hard to also get the incremental checksum updates right, especially also in the IPv4 case for the IP and TCP header. Move variables around for better locality, factor things out into functions, allow checksum updates to be compiled out, ... Leave a few comments on further things to look at in the future, though that is not the full list. Update drivers with appropriate #includes as needed for IPv6 data type in LRO. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 4 jkim K 8 svn:date V 27 2012-05-24T23:12:30.319872Z K 7 svn:log V 23 Merge ACPICA 20120518. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-24T23:46:17.325704Z K 7 svn:log V 44 Add a missing " to get closer to compiling. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-24T23:55:08.076392Z K 7 svn:log V 109 MFC r232614: Provide wbwd(4), a driver for the watchdog timer found on various Winbond Super I/O chips. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2012-05-25T00:18:19.633376Z K 7 svn:log V 69 Catch up with realpath(3) changes (r235266) and unbreak acpidump(8). END K 10 svn:author V 5 jamie K 8 svn:date V 27 2012-05-25T00:38:06.423337Z K 7 svn:log V 91 Don't try to set a null TERM environment. Submitted by: Mateusz Guzik END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T01:13:39.038131Z K 7 svn:log V 320 MFp4 bz_ipv6_fast: Factor out the tcp_hc_getmtu() call. As the comments say it applies to both v4 and v6, so only write it once making it easier to read the protocol family specifc code. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-05-25T01:19:28.429282Z K 7 svn:log V 309 MFC r235222: Import illumos changeset 13686:4bc0783f6064 2703 add mechanism to report ZFS send progress If the zfs send command is used with the -v flag, the amount of bytes transmitted is reported in per second updates. References: https://www.illumos.org/issues/2703 Obtained from: illumos (issue #2703) END K 10 svn:author V 2 mm K 8 svn:date V 27 2012-05-25T01:21:17.439294Z K 7 svn:log V 309 MFC r235222: Import illumos changeset 13686:4bc0783f6064 2703 add mechanism to report ZFS send progress If the zfs send command is used with the -v flag, the amount of bytes transmitted is reported in per second updates. References: https://www.illumos.org/issues/2703 Obtained from: illumos (issue #2703) END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T01:42:48.825560Z K 7 svn:log V 213 MFp4 bz_ipv6_fast: No need to hold the (expensive) rt lock over (expensive) logging. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T01:43:52.629600Z K 7 svn:log V 275 MFp4 bz_ipv6_fast: We currently nowhere set IP6A_SWAP making the entire check useless with the current code. Keep around but do not compile in. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T01:45:05.439121Z K 7 svn:log V 271 MFp4 bz_ipv6_fast: Simplify the code removing a return from an earlier else case, not differing from the default function return called now. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T01:48:15.337345Z K 7 svn:log V 347 MFp4 bz_ipv6_fast: Hide the ip6aux functions. The only one referenced outside ip6_input.c is not compiled in yet (__notyet__) in route6.c (r235954). We do have accessor functions that should be used. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days X-MFC: KPI? END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-05-25T02:07:59.795521Z K 7 svn:log V 968 Prepare for improved (read: pcie) suspend/resume support. * Flesh out the pcie disable method for 11n chips, as they were defaulting to the AR5212 (empty) PCIe disable method. * Add accessor macros for the HAL PCIe enable/disable calls. * Call disable on ath_suspend() * Call enable on ath_resume() NOTE: * This has nothing to do with the NIC sleep/run state - the NIC still will stay in network-run state rather than supporting network-sleep state. This is preparation work for supporting correct suspend/resume WARs for the 11n PCIe NICs. TODO: * It may be feasible at this point to keep the chip powered down during initial probe/attach and only power it up upon the first configure/reset pass. This however would require correct (for values of "correct") tracking of the NIC power configuration state from the driver and that just isn't attempted at the moment. Tested: * AR9280 on my Lenovo T60, but with no suspend/resume pass (yet). END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T02:17:16.728730Z K 7 svn:log V 479 MFp4 bz_ipv6_fast: Add support for delayed checksum calculations in the IPv6 output path. We currently cannot offload to the card if we add extension headers (which incl. fragmentation). Fix two SCTP offload support copy&paste bugs: calculate checksums if fragmenting and no need to flag IPv4 header checksums in the IPv6 forwarding path. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T02:19:17.245284Z K 7 svn:log V 338 MFp4 bz_ipv6_fast: Defer checksum calulations on UDP6 output and respect the mbuf flags set by NICs having done checksum validation for us already, thus saving the computing time in the input path as well. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T02:21:17.717660Z K 7 svn:log V 259 MFp4 bz_ipv6_fast: Simple yet effective change enabling checksum "offload" on loopback for IPv6 to avoid expensive computations. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T02:23:26.849633Z K 7 svn:log V 549 MFp4 bz_ipv6_fast: Add code to handle pre-checked TCP checksums as indicated by mbuf flags to save the entire computation for validation if not needed. In the IPv6 TCP output path only compute the pseudo-header checksum, set the checksum offset in the mbuf field along the appropriate flag as done in IPv4. In tcp_respond() just initialize the IPv6 payload length to 0 as ip6_output() will properly set it. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T02:58:21.307300Z K 7 svn:log V 299 MFp4 bz_ipv6_fast: Factor out Hop-By-Hop option processing. It's still not heavily used, it reduces the footprint of ip6_input() and makes ip6_input() more readable. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T03:00:34.202046Z K 7 svn:log V 291 MFp4 bz_ipv6_fast: Allow LRO to work on IPv6 as well. Fix the module Makefile to at least properly inlcude opt_inet6.h and allow builds without INET or INET6. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T03:02:56.228063Z K 7 svn:log V 287 MFp4 bz_ipv6_fast: Add TSO6 and LRO/IPv6 support. Fix the module Makefile to at least properly inlcude opt_inet6.h and allow builds without INET or INET6. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 3 pfg K 8 svn:date V 27 2012-05-25T03:07:20.909987Z K 7 svn:log V 163 MFC: r235623 Bring in a subset of gcc fixes that were back ported to the GCC 4.1 branch and are available under GPLv2. Reviewed by: mm Approved by: jhb (mentor) END K 10 svn:author V 3 pfg K 8 svn:date V 27 2012-05-25T03:08:46.176984Z K 7 svn:log V 162 MFC: r235623 Bring in a subset of gcc fixes that were backported to the GCC 4.1 branch and are available under GPLv2. Reviewed by: mm Approved by: jhb (mentor) END K 10 svn:author V 6 wblock K 8 svn:date V 27 2012-05-25T03:46:56.088260Z K 7 svn:log V 142 Fixes to man8 groff mandoc style, usage mistakes, or typos. PR: 168016 Submitted by: Nobuyuki Koganemaru Approved by: gjb MFC after: 3 days END K 10 svn:author V 2 ae K 8 svn:date V 27 2012-05-25T04:26:14.102606Z K 7 svn:log V 272 MFC r235599: Introduce new device flag G_MIRROR_DEVICE_FLAG_TASTING. It should protect geom from destroying while it is tasting. MFC r235600: Prevent removing of the last active component from a mirror. PR: kern/154860 Reviewed by: pjd Tested by: Eugene Grosbein END K 10 svn:author V 2 ae K 8 svn:date V 27 2012-05-25T04:26:44.036724Z K 7 svn:log V 272 MFC r235599: Introduce new device flag G_MIRROR_DEVICE_FLAG_TASTING. It should protect geom from destroying while it is tasting. MFC r235600: Prevent removing of the last active component from a mirror. PR: kern/154860 Reviewed by: pjd Tested by: Eugene Grosbein END K 10 svn:author V 2 ae K 8 svn:date V 27 2012-05-25T04:27:08.356431Z K 7 svn:log V 272 MFC r235599: Introduce new device flag G_MIRROR_DEVICE_FLAG_TASTING. It should protect geom from destroying while it is tasting. MFC r235600: Prevent removing of the last active component from a mirror. PR: kern/154860 Reviewed by: pjd Tested by: Eugene Grosbein END K 10 svn:author V 7 delphij K 8 svn:date V 27 2012-05-25T04:42:18.877901Z K 7 svn:log V 30 MFC: netcat from OpenBSD 5.1. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2012-05-25T05:01:27.385071Z K 7 svn:log V 245 oops - ath_hal_disablepcie is actually destined for another purpose, not to disable the PCIe PHY in prepration for reset. Extend the enablepci method to have a "poweroff" flag, which if equal to true means the hardware is about to go to sleep. END K 10 svn:author V 3 alc K 8 svn:date V 27 2012-05-25T05:28:14.000278Z K 7 svn:log V 162 Correct an error in pmap_pv_reclaim(). In a rare case, when it should have returned NULL, it might instead return a pointer to a page that it had just unmapped. END K 10 svn:author V 3 dim K 8 svn:date V 27 2012-05-25T06:41:08.390272Z K 7 svn:log V 132 MFC r235773: Correct use_screen() and use_window() prototypes in curs_threads(3x). Submitted by: Yanhui Shen END K 10 svn:author V 4 gber K 8 svn:date V 27 2012-05-25T06:48:42.770261Z K 7 svn:log V 449 Fix resolving symbol names on ARM. On ARM, binutils are adding '$a' symbols in the symbol table for every function (in addition to normal symbol). When gprof(1) looks up symbol name, it often reads '$a' instead of proper function name, because it find it first. With this fix, when read symbol name begins with '$' and previous symbol has the same address, it will use previous symbol name (which is proper function name). Obtained from: Semihalf END K 10 svn:author V 7 fabient K 8 svn:date V 27 2012-05-25T07:23:24.886175Z K 7 svn:log V 440 MFC r233611: - Support inlined location in calltree output. In case of multiple level of inlining all the locations are flattened. Require recent binutils/addr2line (head works or binutils from ports with the right $PATH order). - Multiple fixes in the calltree output (recursion case, ...) - Fix the calltree top view that previously hide some shared nodes. Tested with Kcachegrind(kdesdk4)/qcachegrind(head). Sponsored by: NETASQ END K 10 svn:author V 7 fabient K 8 svn:date V 27 2012-05-25T07:25:30.698399Z K 7 svn:log V 440 MFC r233611: - Support inlined location in calltree output. In case of multiple level of inlining all the locations are flattened. Require recent binutils/addr2line (head works or binutils from ports with the right $PATH order). - Multiple fixes in the calltree output (recursion case, ...) - Fix the calltree top view that previously hide some shared nodes. Tested with Kcachegrind(kdesdk4)/qcachegrind(head). Sponsored by: NETASQ END K 10 svn:author V 3 avg K 8 svn:date V 27 2012-05-25T07:32:26.804522Z K 7 svn:log V 284 device_add_child: protect against child device with no driver but fixed unit number This combination doesn't make sense, unit numbers should be hardwired only in context of a known driver. The wildcard devices should have wildcard unit numbers. Reviewed by: jhb MFC after: 2 weeks END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-05-25T07:46:24.172455Z K 7 svn:log V 78 Revert my local not yet properly tested changes, that leaked in with r235923. END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-05-25T07:57:17.689062Z K 7 svn:log V 470 Remove sleep() from invalidate call in ses driver, waiting for daemon process exit. Instead use CAM's standard reference counting to prevent periph going away until process won't complete. I think that sleep in single CAM SWI thread is not a good idea and may lead to deadlocks if daemon process waits for some command completion. Combined with recent patch avoiding use of CAM SWI for ATA it just causes panics because of sleeps prohibited in interrupt thread context. END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T08:17:59.492066Z K 7 svn:log V 376 In case forwarding is turned on for a given address family, refuse to queue the packet for LRO and tell the driver to directly pass it on. This avoids re-assembly and later re-fragmentation problems when forwarding. It's not the best solution but the simplest and most effective for the moment. Should have been done: ages ago Discussed with and by: many MFC after: 3 days END K 10 svn:author V 3 mav K 8 svn:date V 27 2012-05-25T08:30:09.774429Z K 7 svn:log V 432 Add tunable/sysctl kern.cam.pmp.hide_special, controlling whether special PMP ports such as PMP configuration or SEMB should be exposed or hidden. These ports were always hidden before as useless and sometimes promatic. But with updated ses driver supporting SEMB it is no longer so straight. Keep ports hidden by default to avoid probe request ttimeouts if SEP is not connected to PMP's SEMB via I2C, that is very often situation. END K 10 svn:author V 3 kib K 8 svn:date V 27 2012-05-25T08:55:59.504428Z K 7 svn:log V 137 MFC r235603: Do not double-reference the found vm object in cdev_pager_lookup(). vm_pager_object_lookup() already referenced the object. END K 10 svn:author V 4 gleb K 8 svn:date V 27 2012-05-25T09:16:59.137674Z K 7 svn:log V 132 Use C99-style initialization for struct dirent in preparation for changing the structure. Sponsored by: Google Summer of Code 2011 END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T09:24:45.128523Z K 7 svn:log V 376 MFp4 bz_ipv6_fast: Properly protect the inp read access when handling the control code. In the past this was expensive but given the rlock it's not so much anymore. Spotted while: optimizing udp6 Discussed with: rwatson (a few months ago) Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 2 bz K 8 svn:date V 27 2012-05-25T09:27:16.899075Z K 7 svn:log V 523 MFp4 bz_ipv6_fast: Use M_ZERO with malloc rather than calling bzero() ourselves. Change if () panic() checks to KASSERT()s as they are only catching invariants in code flow but not dependent on network input/output. Move initial assigments indirecting pointers after the lock has been aquired. Passing layer boundries, reset M_PROTOFLAGS. Remove a NULL assignment before free. Sponsored by: The FreeBSD Foundation Sponsored by: iXsystems Reviewed by: gnn (as part of the whole) MFC After: 3 days END K 10 svn:author V 5 gabor K 8 svn:date V 27 2012-05-25T09:30:16.850364Z K 7 svn:log V 247 - Only use multi-threading for large files - Do not use mmap() by default; it can be enabled by --mmap - Add some minor optimizations for -u - Update manual page according to the changes Submitted by: Oleg Moskalenko END K 10 svn:author V 4 gleb K 8 svn:date V 27 2012-05-25T09:36:39.020025Z K 7 svn:log V 156 Use 32-bit ufs_ino_t instead of ino_t to keep boot2 small and prevent unnecessary 64-bit math on 32-bit machines. Sponsored by: Google Summer of Code 2011 END K 10 svn:author V 5 trasz K 8 svn:date V 27 2012-05-25T10:08:48.238778Z K 7 svn:log V 81 Revert r235918 for now and add comment explaining the reason for the size check. END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2012-05-25T11:14:08.095168Z K 7 svn:log V 119 Undefine SCTP_PACKED before including sctp_uio.h, which doesn't use it. Spotted by Irene Ruengeler. MFC after: 3 days END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-05-25T14:11:02.758727Z K 7 svn:log V 1698 1) Locking kifs. In r234651 I made safe expiring of rules. However, states may also reference kifs directly. Rules, and some structures hanging off rules may also reference kifs. Now, states no longer update refcount on kifs, only rules do. When refcount on a kif reaches zero, and kif isn't representing an existing interface or group, then it is moved to a list of unlinked kifs locked by a separate mutex. These unlinked kifs are purged via naive mark-and-sweep run, similarly to unlinked rules expiry. 2) Apart from rules we've got some more structures that a hanging off the rules, and are read by the packet processing path: struct pfi_kif, struct pfi_dynaddr, struct pfr_ktable, struct pf_pool, struct pf_pooladdr. Reading these should require reader lock on rules, and modifying them writer lock. - Convert PF_LOCK to PF_RULES_WLOCK() in appropriate ioctls. - Acquire PF_RULES_WLOCK() in pf_free_rule(). To avoid LOR with unlinked rules mutex, use a temporary list on stack. - Assert pf rules lock in many functions that operate on tables or struct pf_addr_wrap. - Remove separate uma(9) zone for dynaddrs, no reason for it. 3) In many ioctl paths we used to obtain locks quite early, and thus wasn't able to use M_WAITOK. Make a poor attempt to make situation here better: - Do some parameter validation prior to actually processing the request - Pre-allocate struct pf_rule, struct pfi_kif prior to obtaining locks with M_WAITOK. Free them on failure. Unfortunately, fixing all pf(4) ioctls to use M_WAITOK is quite difficult, especially configuring pf tables, where rn_inithead() is called, which uses M_NOWAIT. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-05-25T14:40:56.397770Z K 7 svn:log V 469 MFC: r234348 Turn on PREEMPTION by default. After fixing several bugs over time, the last show-stopper keeping PREEMPTION from being usable on sparc64 should have been dealt with in r230662 (MFC'ed to stable/9 in r230662). At least on 2-way systems, PREEMPTION causes a little bit of a degradation in worldstone performance. However, FreeBSD seems to have started building up regressions in !PREEMPTION cases so sparc64 better should not be an oddball in this regard. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2012-05-25T14:49:51.540701Z K 7 svn:log V 124 - Stop referencing tag names by states. Not a big deal if tag name disappears. - Make tag code more private to pf_ioctl.c END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-05-25T14:52:05.292085Z K 7 svn:log V 93 Merge from x86: r232521 Exclude USB drivers (except umass and ukbd) from main kernel image. END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-05-25T14:54:12.879258Z K 7 svn:log V 85 MFC: r234789 Add multiple inclusion protection. PR: 165025 Submitted by: Gavin Mu END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-05-25T14:54:18.083469Z K 7 svn:log V 85 MFC: r234789 Add multiple inclusion protection. PR: 165025 Submitted by: Gavin Mu END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-05-25T14:57:01.802088Z K 7 svn:log V 92 MFC: r234897 Add a command for showing the heap usage. PR: 165025 Submitted by: Gavin Mu END K 10 svn:author V 6 marius K 8 svn:date V 27 2012-05-25T14:57:02.023447Z K 7 svn:log V 92 MFC: r234897 Add a command for showing the heap usage. PR: 165025 Submitted by: Gavin Mu END K 10 svn:author V 3 raj K 8 svn:date V 27 2012-05-25T15:05:17.988898Z K 7 svn:log V 54 More Cicada/Vitesse PHY ids. Obtained from: Semihalf END