ƒ¸P255000 144 1124 295 185 180 132 211 451 161 420 235 1134 107 148 128 307 233 210 1522 124 1094 292 404 162 187 226 147 141 309 1614 114 268 532 360 235 137 145 337 159 480 402 8043 177 161 376 170 165 2682 353 343 133 822 508 162 133 181 336 351 299 287 210 1124 149 302 291 132 202 315 188 415 410 97 232 275 169 592 280 486 346 108 193 344 130 115 216 144 148 391 286 281 154 160 120 395 268 97 221 245 585 117 245 175 224 106 913 1135 151 246 392 799 440 268 148 331 105 162 148 282 163 150 198 353 97 149 165 159 161 148 132 190 677 288 192 105 206 124 449 689 106 418 572 157 229 234 1357 K 10 svn:author V 3 ken K 8 svn:date V 27 2013-08-28T19:22:09.010004Z K 7 svn:log V 1030 MFC 254416: ------------------------------------------------------------------------ r254416 | ken | 2013-08-16 10:14:32 -0600 (Fri, 16 Aug 2013) | 24 lines Add unmapped I/O and larger I/O support to the sa(4) driver. We now pay attention to the maxio field in the XPT_PATH_INQ CCB, and if it is set, propagate it up to physio via the si_iosize_max field in the cdev structure. We also now pay attention to the PIM_UNMAPPED capability bit in the XPT_PATH_INQ CCB, and set the new SI_UNMAPPED cdev flag when the underlying SIM supports unmapped I/O. scsi_sa.c: Add unmapped I/O support and propagate the SIM's maximum I/O size up. Adjust scsi_tape_read_write() in the same way that scsi_read_write() was changed to support unmapped I/O. We overload the readop parameter with bits that tell us whether it's an unmapped I/O, and we need to set the CAM_DATA_BIO CCB flag. This change should be backwards compatible in source and binary forms. Sponsored by: Spectra Logic END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2013-08-28T19:49:32.775694Z K 7 svn:log V 198 Add a simple procdesc(4) man page describing "options PROCDESC" and the high-level facility, supplementing pdfork(2) and friends. Update capsicum.4 to xref. Suggested by: sbruno MFC after: 3 days END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2013-08-28T20:00:25.207220Z K 7 svn:log V 89 Xref capsicum(4) and procdesc(4) from pdfork(2). Suggested by: sbruno MFC after: 3 days END K 10 svn:author V 7 davidcs K 8 svn:date V 27 2013-08-28T20:07:00.773335Z K 7 svn:log V 84 ql_minidump() should be performed only by port 0. Submitted by: David C Somayajulu END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-28T20:10:56.339040Z K 7 svn:log V 39 Reduce diff against stable/9 slightly. END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-28T20:45:45.058851Z K 7 svn:log V 119 Add hooks in base cxgbe(4) for the iWARP upper-layer driver. Update a couple of assertions in the TOE driver as well. END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-28T20:59:22.916320Z K 7 svn:log V 359 Change t4_list_lock and t4_uld_list_lock from mutexes to sx'es. - tom_uninit had to be reworked not to hold the adapter lock (a mutex) around t4_deactivate_uld, which acquires the uld_list_lock. - the ifc_match for the interface cloner that creates the tracer ifnet had to be reworked as the kernel calls ifc_match with the global if_cloners_mtx held. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-08-28T21:10:37.941704Z K 7 svn:log V 66 libutil: Use O_CLOEXEC for internal file descriptors from open(). END K 10 svn:author V 3 ken K 8 svn:date V 27 2013-08-28T22:12:56.052771Z K 7 svn:log V 327 Support storing 7 additional file flags in tmpfs: UF_SYSTEM, UF_SPARSE, UF_OFFLINE, UF_REPARSE, UF_ARCHIVE, UF_READONLY, and UF_HIDDEN. Sort the file flags tmpfs supports alphabetically. tmpfs now supports the same flags as UFS, with the exception of SF_SNAPSHOT. Reported by: bdrewery, antoine Sponsored by: Spectra Logic END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-28T22:57:49.753185Z K 7 svn:log V 141 Fix a compiler warning. With this fix, a negative time can be converted to a struct timeval and back to the original nanoseconds correctly. END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-28T23:00:34.521726Z K 7 svn:log V 1041 Merge r254336 from user/np/cxl_tuning. Add a last-modified timestamp to each LRO entry and provide an interface to flush all inactive entries. Drivers decide when to flush and what the inactivity threshold should be. Network drivers that process an rx queue to completion can enter a livelock type situation when the rate at which packets are received reaches equilibrium with the rate at which the rx thread is processing them. When this happens the final LRO flush (normally when the rx routine is done) does not occur. Pure ACKs and segments with total payload < 64K can get stuck in an LRO entry. Symptoms are that TCP tx-mostly connections' performance falls off a cliff during heavy, unrelated rx on the interface. Flushing only inactive LRO entries works better than any of these alternates that I tried: - don't LRO pure ACKs - flush _all_ LRO entries periodically (every 'x' microseconds or every 'y' descriptors) - stop rx processing in the driver periodically and schedule remaining work for later. Reviewed by: andre END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-28T23:15:05.528737Z K 7 svn:log V 16 Whitespace nit. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-28T23:43:28.023663Z K 7 svn:log V 55 Fix a compiler warning and add couple of VM map types. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-28T23:59:38.575214Z K 7 svn:log V 35 Correct atomic operations in i915. END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-08-29T00:38:24.646665Z K 7 svn:log V 214 Drop build option switch for the older GNU patch. As promised, drop the option to make the older GNU patch the default. GNU patch is still being built but something drastic may happen to it to it before Release. END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-29T06:26:22.140753Z K 7 svn:log V 141 Merge r254386 from user/np/cxl_tuning. Add an INET|INET6 check missing in said revision. r254386: Flush inactive LRO entries periodically. END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-29T08:07:35.418308Z K 7 svn:log V 118 Merge r254736 from user/np/cxl_tuning. Don't leak tags when M_NOFREE | M_PKTHDR mbufs are freed. Reviewed by: andre END K 10 svn:author V 2 ae K 8 svn:date V 27 2013-08-29T09:33:10.293349Z K 7 svn:log V 1429 MFC r251587 (by marcel): Remove stub implementation. MFC r251588 (by marcel): Change the set and unset ctlreqs by making the index argument optional. This allows setting attributes on tables. One simply does not provide an index in that case. Otherwise the entry corresponding the index has the attribute set or unset. Use this change to fix a relatively longstanding bug in our GPT scheme that's the result of rev 198097 (relatively harmless) followed by rev 237057 (damaging). The damaging part being that our GPT scheme always has the active flag set on the PMBR slice. This is in violation with EFI. Existing EFI implementions for both x86 and ia64 reject the GPT. As such, GPT disks created by us aren't usable under EFI because of that. After this change, GPT disks never have the active flag set on the PMBR slice. In order to make the GPT disk bootable under some x86 BIOSes, the reason of rev 198097, one must now set the active attribute on the gpt table. The kernel will apply this to the PMBR slice For (S)ATA: gpart set -a active ada0 To fix an existing GPT disk that has the active flag set in the PMBR, and that does not need the flag, use (again for (S)ATA): gpart unset -a active ada0 The EBR, MBR & PC98 schemes, which also impement at least 1 attribute, now check to make sure the entry passed is valid. They do not have attributes that apply to the table. END K 10 svn:author V 8 andreast K 8 svn:date V 27 2013-08-29T11:40:45.526894Z K 7 svn:log V 27 Remove GNU_PATCH leftover. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-08-29T11:49:53.089854Z K 7 svn:log V 1000 Drop periph (device) locks for da and ada drivers while submitting commands for execution. That substantially reduces these locks hold time, removing any measurable congestion. While GEOM guaranties that disk won't be closed before all requests completed, dropping lock in this place opens hypothetical race in case if last request manage to complete before submission call return. If periph will be destroyed at that point, it may cause user-after-free panic. To cover that case introduce additional per-periph reference counter to make close handler wait for all submission threads to get out before dropping periph reference and return. This change removes last measurable lock congestion inside CAM core on my test setup. The only congestion left is inside SIM between request submit and completion threads, but avoiding that requires SIM modification and depending on specific hardware may be problematic or impossible. On my present test setup this increases maximum IOPS from 673K to 724K. END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-08-29T12:25:12.147657Z K 7 svn:log V 199 MFC r211847: Set de_dir for user created symbolic links. This MFC should fix a panic introduced in r254708. Reported by: Toomas Aas , jase Tested by: jase MFC slacker: jh END K 10 svn:author V 4 loos K 8 svn:date V 27 2013-08-29T12:48:12.592332Z K 7 svn:log V 310 Prevent the full restart cycle every time arge_start() is called. Only (re)start the interface when it is down. This change fix a race with BOOTP where the response packet is lost because the interface is being reset by a netmask change right after send the packet. PR: 178318 Approved by: adrian (mentor) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-08-29T13:52:51.174321Z K 7 svn:log V 67 Remove the duplicate LLC_MISS event and put it in the right order. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-08-29T13:56:44.230095Z K 7 svn:log V 92 Migrate iwn(4) to use the new ieee80211_tx_complete() API. Tested: * Intel 5100, STA mode END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-08-29T15:12:58.991152Z K 7 svn:log V 130 MFS9 r254966: Add missing mergeinfo from head for stabe/9 revisions: 252995 253168 253169 Reviewed by: gjb Approved by: re (gjb) END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-08-29T15:20:12.811147Z K 7 svn:log V 52 Vendor import of NetBSD's libexecinfo at 2013-08-29 END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-08-29T15:24:04.418111Z K 7 svn:log V 46 Tag 2013-08-29 import of NetBSD's libexecinfo END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-08-29T15:29:48.041659Z K 7 svn:log V 213 MFS9 r254953, itself an MFC of r254942 and r254952: Make alternate layout ``opt-in'' and add support for named releases. Minor edit to version.4th(8) manual and stack-leak fixes while here. Approved by: re (gjb) END K 10 svn:author V 3 alc K 8 svn:date V 27 2013-08-29T15:49:05.523714Z K 7 svn:log V 1520 Significantly reduce the cost, i.e., run time, of calls to madvise(..., MADV_DONTNEED) and madvise(..., MADV_FREE). Specifically, introduce a new pmap function, pmap_advise(), that operates on a range of virtual addresses within the specified pmap, allowing for a more efficient implementation of MADV_DONTNEED and MADV_FREE. Previously, the implementation of MADV_DONTNEED and MADV_FREE relied on per-page pmap operations, such as pmap_clear_reference(). Intuitively, the problem with this implementation is that the pmap-level locks are acquired and released and the page table traversed repeatedly, once for each resident page in the range that was specified to madvise(2). A more subtle flaw with the previous implementation is that pmap_clear_reference() would clear the reference bit on all mappings to the specified page, not just the mapping in the range specified to madvise(2). Since our malloc(3) makes heavy use of madvise(2), this change can have a measureable impact. For example, the system time for completing a parallel "buildworld" on a 6-core amd64 machine was reduced by about 1.5% to 2.0%. Note: This change only contains pmap_advise() implementations for a subset of our supported architectures. I will commit implementations for the remaining architectures after further testing. For now, a stub function is sufficient because of the advisory nature of pmap_advise(). Discussed with: jeff, jhb, kib Tested by: pho (i386), marcel (ia64) Sponsored by: EMC / Isilon Storage Division END K 10 svn:author V 7 antoine K 8 svn:date V 27 2013-08-29T15:58:20.895341Z K 7 svn:log V 18 Fix after r255014 END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-08-29T15:59:05.620758Z K 7 svn:log V 175 Don't return an error for socket timeouts that are too large. Just cap them to INT_MAX ticks instead. PR: kern/181416 (r254699 really) Requested by: bde MFC after: 2 weeks END K 10 svn:author V 6 marcel K 8 svn:date V 27 2013-08-29T16:26:04.377538Z K 7 svn:log V 436 Work-around a timing problem with the ITE IT8513E now that the core calls ns8250_bus_ipend() almost immediately after ns8250_bus_attach(). As it appears, a line break condition is being signalled for almost all received characters due to this. A delay of 150ms seems enough to allow the H/W to settle and to avoid the problem. More analysis is needed, but for now a regression has been addressed. Reported by: kevlo@ Tested by: kevlo@ END K 10 svn:author V 3 ken K 8 svn:date V 27 2013-08-29T16:41:40.145978Z K 7 svn:log V 267 Fix some issues in change 254760 pointed out by Bruce Evans: - Remove excessive parenthesis - Use KNF continuation indentation - Cut down on excessive continuation lines - More consistent style in messages - Use uprintf() instead of printf() Submitted by: bde END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-08-29T16:57:55.679717Z K 7 svn:log V 139 Update to 2013-08-29 NetBSD libexecinfo snapshot This adds my patch to use the kern.proc.pathname sysctl instead of relying on procfs(5). END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-08-29T17:13:18.505594Z K 7 svn:log V 42 Add instructions for updating libexecinfo END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-08-29T17:40:03.894252Z K 7 svn:log V 49 Add a few missing language directories for /usr. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-08-29T17:45:13.856823Z K 7 svn:log V 240 Add directories that is installed as part of bsdconfig. These are included unconditionally for now because bsdconfig is currently installed unconditionally. This fixes 'make -j 17 installworld' caused by a race condition. MFC candidate. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-29T18:36:47.364140Z K 7 svn:log V 66 Fix atomic operations on context_flag without altering semantics. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-08-29T19:35:14.764678Z K 7 svn:log V 384 Convert the if_lagg rwlock to an rmlock. We've been seeing lots of cache line contention (but not lock contention!) in our workloads between the various TX and RX threads going on. The write lock is only grabbed when configuration changes are made - which are infrequent. With this patch, the contention and cycles spent waiting for updates disappear. Sponsored by: Netflix, Inc. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-29T19:47:52.672958Z K 7 svn:log V 308 - Remove test_and_set_bit() macro. It is unused since r255037. - Relax atomic_read() and atomic_set() macros. Linux does not require any memory barrier. Also, these macros may be even reordered or optimized away according to the API documentation: https://www.kernel.org/doc/Documentation/atomic_ops.txt END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2013-08-29T19:52:18.047537Z K 7 svn:log V 7947 Implement vector callback for PVHVM and unify event channel implementations Re-structure Xen HVM support so that: - Xen is detected and hypercalls can be performed very early in system startup. - Xen interrupt services are implemented using FreeBSD's native interrupt delivery infrastructure. - the Xen interrupt service implementation is shared between PV and HVM guests. - Xen interrupt handlers can optionally use a filter handler in order to avoid the overhead of dispatch to an interrupt thread. - interrupt load can be distributed among all available CPUs. - the overhead of accessing the emulated local and I/O apics on HVM is removed for event channel port events. - a similar optimization can eventually, and fairly easily, be used to optimize MSI. Early Xen detection, HVM refactoring, PVHVM interrupt infrastructure, and misc Xen cleanups: Sponsored by: Spectra Logic Corporation Unification of PV & HVM interrupt infrastructure, bug fixes, and misc Xen cleanups: Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D sys/x86/x86/local_apic.c: sys/amd64/include/apicvar.h: sys/i386/include/apicvar.h: sys/amd64/amd64/apic_vector.S: sys/i386/i386/apic_vector.s: sys/amd64/amd64/machdep.c: sys/i386/i386/machdep.c: sys/i386/xen/exception.s: sys/x86/include/segments.h: Reserve IDT vector 0x93 for the Xen event channel upcall interrupt handler. On Hypervisors that support the direct vector callback feature, we can request that this vector be called directly by an injected HVM interrupt event, instead of a simulated PCI interrupt on the Xen platform PCI device. This avoids all of the overhead of dealing with the emulated I/O APIC and local APIC. It also means that the Hypervisor can inject these events on any CPU, allowing upcalls for different ports to be handled in parallel. sys/amd64/amd64/mp_machdep.c: sys/i386/i386/mp_machdep.c: Map Xen per-vcpu area during AP startup. sys/amd64/include/intr_machdep.h: sys/i386/include/intr_machdep.h: Increase the FreeBSD IRQ vector table to include space for event channel interrupt sources. sys/amd64/include/pcpu.h: sys/i386/include/pcpu.h: Remove Xen HVM per-cpu variable data. These fields are now allocated via the dynamic per-cpu scheme. See xen_intr.c for details. sys/amd64/include/xen/hypercall.h: sys/dev/xen/blkback/blkback.c: sys/i386/include/xen/xenvar.h: sys/i386/xen/clock.c: sys/i386/xen/xen_machdep.c: sys/xen/gnttab.c: Prefer FreeBSD primatives to Linux ones in Xen support code. sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: sys/xen/xen-os.h: sys/dev/xen/balloon/balloon.c: sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/console/xencons_ring.c: sys/dev/xen/control/control.c: sys/dev/xen/netback/netback.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/xenpci/xenpci.c: sys/i386/i386/machdep.c: sys/i386/include/pmap.h: sys/i386/include/xen/xenfunc.h: sys/i386/isa/npx.c: sys/i386/xen/clock.c: sys/i386/xen/mp_machdep.c: sys/i386/xen/mptable.c: sys/i386/xen/xen_clock_util.c: sys/i386/xen/xen_machdep.c: sys/i386/xen/xen_rtc.c: sys/xen/evtchn/evtchn_dev.c: sys/xen/features.c: sys/xen/gnttab.c: sys/xen/gnttab.h: sys/xen/hvm.h: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_if.m: sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusvar.h: sys/xen/xenstore/xenstore.c: sys/xen/xenstore/xenstore_dev.c: sys/xen/xenstore/xenstorevar.h: Pull common Xen OS support functions/settings into xen/xen-os.h. sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: sys/xen/xen-os.h: Remove constants, macros, and functions unused in FreeBSD's Xen support. sys/xen/xen-os.h: sys/i386/xen/xen_machdep.c: sys/x86/xen/hvm.c: Introduce new functions xen_domain(), xen_pv_domain(), and xen_hvm_domain(). These are used in favor of #ifdefs so that FreeBSD can dynamically detect and adapt to the presence of a hypervisor. The goal is to have an HVM optimized GENERIC, but more is necessary before this is possible. sys/amd64/amd64/machdep.c: sys/dev/xen/xenpci/xenpcivar.h: sys/dev/xen/xenpci/xenpci.c: sys/x86/xen/hvm.c: sys/sys/kernel.h: Refactor magic ioport, Hypercall table and Hypervisor shared information page setup, and move it to a dedicated HVM support module. HVM mode initialization is now triggered during the SI_SUB_HYPERVISOR phase of system startup. This currently occurs just after the kernel VM is fully setup which is just enough infrastructure to allow the hypercall table and shared info page to be properly mapped. sys/xen/hvm.h: sys/x86/xen/hvm.c: Add definitions and a method for configuring Hypervisor event delievery via a direct vector callback. sys/amd64/include/xen/xen-os.h: sys/x86/xen/hvm.c: sys/conf/files: sys/conf/files.amd64: sys/conf/files.i386: Adjust kernel build to reflect the refactoring of early Xen startup code and Xen interrupt services. sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: sys/dev/xen/control/control.c: sys/dev/xen/evtchn/evtchn_dev.c: sys/dev/xen/netback/netback.c: sys/dev/xen/netfront/netfront.c: sys/xen/xenstore/xenstore.c: sys/xen/evtchn/evtchn_dev.c: sys/dev/xen/console/console.c: sys/dev/xen/console/xencons_ring.c Adjust drivers to use new xen_intr_*() API. sys/dev/xen/blkback/blkback.c: Since blkback defers all event handling to a taskqueue, convert this task queue to a "fast" taskqueue, and schedule it via an interrupt filter. This avoids an unnecessary ithread context switch. sys/xen/xenstore/xenstore.c: The xenstore driver is MPSAFE. Indicate as much when registering its interrupt handler. sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbusvar.h: Remove unused event channel APIs. sys/xen/evtchn.h: Remove all kernel Xen interrupt service API definitions from this file. It is now only used for structure and ioctl definitions related to the event channel userland device driver. Update the definitions in this file to match those from NetBSD. Implementing this interface will be necessary for Dom0 support. sys/xen/evtchn/evtchnvar.h: Add a header file for implemenation internal APIs related to managing event channels event delivery. This is used to allow, for example, the event channel userland device driver to access low-level routines that typical kernel consumers of event channel services should never access. sys/xen/interface/event_channel.h: sys/xen/xen_intr.h: Standardize on the evtchn_port_t type for referring to an event channel port id. In order to prevent low-level event channel APIs from leaking to kernel consumers who should not have access to this data, the type is defined twice: Once in the Xen provided event_channel.h, and again in xen/xen_intr.h. The double declaration is protected by __XEN_EVTCHN_PORT_DEFINED__ to ensure it is never declared twice within a given compilation unit. sys/xen/xen_intr.h: sys/xen/evtchn/evtchn.c: sys/x86/xen/xen_intr.c: sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/xenpci/xenpcivar.h: New implementation of Xen interrupt services. This is similar in many respects to the i386 PV implementation with the exception that events for bound to event channel ports (i.e. not IPI, virtual IRQ, or physical IRQ) are further optimized to avoid mask/unmask operations that aren't necessary for these edge triggered events. Stubs exist for supporting physical IRQ binding, but will need additional work before this implementation can be fully shared between PV and HVM. sys/amd64/amd64/mp_machdep.c: sys/i386/i386/mp_machdep.c: sys/i386/xen/mp_machdep.c sys/x86/xen/hvm.c: Add support for placing vcpu_info into an arbritary memory page instead of using HYPERVISOR_shared_info->vcpu_info. This allows the creation of domains with more than 32 vcpus. sys/i386/i386/machdep.c: sys/i386/xen/clock.c: sys/i386/xen/xen_machdep.c: sys/i386/xen/exception.s: Add support for new event channle implementation. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-29T20:40:45.653257Z K 7 svn:log V 84 Clarify confusions between atomic_t and bitmap. Fix bitmap operations accordingly. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-29T20:51:12.441434Z K 7 svn:log V 68 Fix the incomplete conversion from atomic_t to long for test_bit(). END K 10 svn:author V 3 ken K 8 svn:date V 27 2013-08-29T21:25:27.094737Z K 7 svn:log V 283 Bump up the default timeouts for move commands in the ch(4) driver to 15 minutes, and 5 minutes for things like READ ELEMENT STATUS. This is needed to account for the worst case scenarios on at least some Spectra Logic tape libraries. Sponsored by: Spectra Logic MFC after: 3 days END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-29T22:46:21.691205Z K 7 svn:log V 77 Partially revert r254880. The bitmap operations actually use long type now. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-08-29T23:09:34.234999Z K 7 svn:log V 72 'u_long' is consistently spelled 'unsigned long' in this file. Fix it. END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2013-08-29T23:11:58.290716Z K 7 svn:log V 2586 Introduce a new, HVM compatible, paravirtualized timer driver for Xen. Use this new driver for both PV and HVM instances. This driver requires a Xen hypervisor that supports vector callbacks, VCPUOP hypercalls, and reports that it has a "safe PV clock". New timer driver: Submitted by: will Sponsored by: Spectra Logic Corporation PV port to new driver, and bug fixes: Submitted by: Roger Pau Monné Sponsored by: Citrix Systems R&D sys/dev/xen/timer/timer.c: - Register a PV timer device driver which (currently) implements device_{identify,probe,attach} and stubs device_detach. The detach routine requires functionality not provided by timecounters(4). The suspend and resume routines need additional work (due to Xen requiring that the hypercalls be executed on the target VCPU), and aren't needed for our purposes. - Make sure there can only be one device instance of this driver, and that it only registers one eventtimers(4) and one timecounters(4) device interface. Make both interfaces use PCPU data as needed. - Match, with a few style cleanups & API differences, the Xen versions of the "fetch time" functions. - Document the magic scale_delta() better for the i386 version. - When registering the event timer, bind a separate event channel for the timer VIRQ to the device's event timer interrupt handler for each active VCPU. Describe each interrupt as "xen_et:c%d", so they can be identified per CPU in "vmstat -i" or "show intrcnt" in KDB. - When scheduling a timer into the hypervisor, try up to 60 times if the hypervisor rejects the time as being in the past. In the common case, this retry shouldn't happen, and if it does, it should only happen once. This is because the event timer advertises a minimum period of 100usec, which is only less than the usual hypercall round trip time about 1 out of every 100 tries. (Unlike other similar drivers, this one actually checks whether the hypervisor accepted the singleshot timer set hypercall.) - Implement a RTC PV clock based on the hypervisor wallclock. sys/conf/files: - Add dev/xen/timer/timer.c if the kernel configuration includes either the XEN or XENHVM options. sys/conf/files.i386: sys/i386/include/xen/xen_clock_util.h: sys/i386/xen/clock.c: sys/i386/xen/xen_clock_util.c: sys/i386/xen/mp_machdep.c: sys/i386/xen/xen_rtc.c: - Remove previous PV timer used in i386 XEN PV kernels, the new timer introduced in this change is used instead (so we share the same code between PVHVM and PV). MFC after: 2 weeks END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-29T23:46:38.955215Z K 7 svn:log V 261 Add a routine for attaching an mbuf to a buffer with an external refcount. This one is willing to work with buffers that may already be referenced. MEXTADD/m_extadd are suitable only for the first attachment to a cluster -- they initialize the refcount to 1. END K 10 svn:author V 8 bdrewery K 8 svn:date V 27 2013-08-30T01:32:47.764968Z K 7 svn:log V 245 - Fix LOCAL_MTREE so it properly handles multiple files and quotes its value into submakes PR: conf/179466 Submitted by: Garrett Cooper Approved by: bapt MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2013-08-30T01:33:26.575499Z K 7 svn:log V 36 Merge revs 254653:255047 from head. END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-30T01:45:36.255885Z K 7 svn:log V 730 Implement support for rx buffer packing. Enable it by default for T5 cards. This is a T4 and T5 chip feature which lets the chip deliver multiple Ethernet frames in a single buffer. This is more efficient within the chip, in the driver, and reduces wastage of space in rx buffers. - Always allocate rx buffers from the jumbop zone, no matter what the MTU is. Do not use the normal cluster refcounting mechanism. - Reserve space for an mbuf and a refcount in the cluster itself and let the chip DMA multiple frames in the rest. - Use the embedded mbuf for the first frame and allocate mbufs on the fly for any additional frames delivered in the cluster. Each of these mbufs has a reference on the underlying cluster. END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2013-08-30T01:46:56.293513Z K 7 svn:log V 410 If reading a virtual-device value fails, attempt to read a virtual-device-ext value. Some hosts do not publish "extended" disk IDs via virtual-device in an attempt to avoid confusing old blkfront drivers, and without this change we failed to attach such disks. In particular, this commit allows all 24 ephemeral disks on EC2 hs1.8xlarge instances to be used, instead of only the first 15. MFC after: 3 days END K 10 svn:author V 2 np K 8 svn:date V 27 2013-08-30T02:13:36.571271Z K 7 svn:log V 71 Fix the sysctl that displays whether buffer packing is enabled or not. END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2013-08-30T03:48:16.499149Z K 7 svn:log V 36 Merge revs 255047:255052 from head. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2013-08-30T05:36:29.997872Z K 7 svn:log V 86 MFC r253910: Add a tunable for the default timeout. Requested by: rodrigc@, delphij@ END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-08-30T05:53:00.521399Z K 7 svn:log V 240 Few more minor if_vmx tweaks - Allow the Rx/Tx queue sizes to be configured by tunables - Bail out earlier if the Tx queue unlikely has enough free descriptors to hold the frame - Cleanup some of the offloading capabilities handling END K 10 svn:author V 5 erwin K 8 svn:date V 27 2013-08-30T06:21:00.680022Z K 7 svn:log V 256 Reduce WARNS to 0 for dig, host, and nslookup to make them compile with the optional WITH_BIND_SIGCHASE. Submitted by: Andre Albsmeier Approved by: delphij (mentor, implicit) MFC after: 3 days Sponsored by: DK Hostmaster A/S END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-08-30T07:37:45.551413Z K 7 svn:log V 206 Move the definition of the struct unrhdr into a separate header file, to allow embedding the struct. Add init_unrhdr(9) initializer, which sets up preallocated unrhdr. Reviewed by: alc Tested by: pho, bf END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-08-30T07:42:38.231428Z K 7 svn:log V 194 Provide a wrapper for the INVPCID instruction, definition of the descriptor and symbolic names for the operation types. Sponsored by: The FreeBSD Foundation Reviewed by: alc Tested by: pho, bf END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-08-30T07:43:34.970265Z K 7 svn:log V 117 Add BIT_AND_ATOMIC() and CPU_AND_ATOMIC(). Sponsored by: The FreeBSD Foundation Reviewed by: alc Tested by: pho, bf END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-08-30T07:59:49.562448Z K 7 svn:log V 1030 Implement support for the process-context identifiers ('PCID') on Intel CPUs. The feature tags TLB entries with the Id of the address space and allows to avoid TLB invalidation on the context switch, it is available only in the long mode. In the microbenchmarks, using the PCID decreased latency of the context switches by ~30% on SandyBridge class desktop CPUs, measured with the lat_ctx program from lmbench. If available, use INVPCID instruction when a TLB entry in non-current address space needs to be invalidated. The instruction is typically available on the Haswell. If needed, the use of PCID can be turned off with the vm.pmap.pcid_enabled loader tunable set to 0. The state of the feature is reported by the vm.pmap.pcid_enabled sysctl. The sysctl vm.pmap.pcid_save_cnt reports the number of context switches which avoided invalidating the TLB; compare with the total number of context switches, available as sysctl vm.stats.sys.v_swtch. Sponsored by: The FreeBSD Foundation Reviewed by: alc Tested by: pho, bf END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-08-30T08:25:07.709859Z K 7 svn:log V 54 Start supporting the ARM EABI Hard-Float ABI in clang END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-08-30T08:29:23.464978Z K 7 svn:log V 206 Add a new TARGET_ARCH value for ARM hard-float, armv6hf. It is only buildable with clang as gcc is too old to build this using the VFP registers. Newer versions of gcc added this after it changed to GPLv3. END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-08-30T08:38:04.400461Z K 7 svn:log V 195 Add the start of the libc __aeabi_* functions. These are written so we could use them with the soft float ABI. They are not fully working, for example: printf("%f", 0.22); will print: 0.0F0000 END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2013-08-30T10:01:19.324496Z K 7 svn:log V 36 Typo in strtol(3). Noticed by: bde END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-08-30T10:07:10.028875Z K 7 svn:log V 106 MFC r254335: sh: Allow a lone redirection before '|', ';;' or ';&'. Example: END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-08-30T12:09:59.323486Z K 7 svn:log V 179 sh: Recognize "--" as end of options in type builtin. This implementation makes minimal changes: command names starting with "-" (other than "--") can still be queried normally. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-08-30T13:25:15.569959Z K 7 svn:log V 74 sh: Add a function for the case where one token is required in the parse. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2013-08-30T15:26:45.550618Z K 7 svn:log V 496 A final test with unmodified code has shown that a delay of 150ms is not giving us a 100% success rate. Bump the delay to 200ms as that seems to do the trick. Note that during testing the delay was added to uart_bus_attach() in uart_core.c. While having the delay in a different place can change the behaviour, it was not expected. Having to bump the delay with another 50ms could therefore be an indication that the problem can not be solved with delays. Reported by: kevlo@ Tested by: kevlo@ END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-08-30T17:47:53.576059Z K 7 svn:log V 185 Remove short-lived idea; thread to harvest (eg) RDRAND enropy into the usual harvest queues. It was a nifty idea, but too heavyweight. Submitted by: Arthur Mesh END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-08-30T18:29:25.766431Z K 7 svn:log V 393 Pull in r189672 from upstream llvm trunk: InstCombine: Check for zero shift amounts before subtracting one causing integer overflow. PR17026. Also avoid undefined shifts and shift amounts larger than 64 bits (those are always undef because we can't represent integer types that large). This should fix assertion failures when building the emulators/xmame port. Reported by: bapt END K 10 svn:author V 8 dumbbell K 8 svn:date V 27 2013-08-30T19:21:12.259963Z K 7 svn:log V 248 acpi_thermal: Warn about insane _TMP temperature only once A warning is emitted again if the temperature became briefly valid meanwhile. This avoids spamming the user when the sensor is broken. Other values (ie. not _TMP) always raise a warning. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2013-08-30T19:42:25.058166Z K 7 svn:log V 16 Style cleanups. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-08-30T20:10:01.639497Z K 7 svn:log V 100 The pm_save should be cleared on the pmap initialization, and not on the activation. Noted by: alc END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-08-30T20:12:23.309173Z K 7 svn:log V 251 Give the page allocations initiated by the swap-backed md(4) a higher priority. If the write is requested by a system daemon, sleeping there would starve resources and cause deadlock. Reported and tested by: pho Sponsored by: The FreeBSD Foundation END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-08-30T20:13:33.125785Z K 7 svn:log V 35 sh: Use makename() where possible. END K 10 svn:author V 4 joel K 8 svn:date V 27 2013-08-30T20:20:06.241512Z K 7 svn:log V 22 mdoc: add missing El. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2013-08-30T20:28:35.057278Z K 7 svn:log V 121 Add PCI bus space implementation that converts all 2 and 4 bytes values to/from little endian according to PCI spec. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2013-08-30T20:30:33.191229Z K 7 svn:log V 50 Add bpf(4) to config file to get dhclient working END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-08-30T20:37:52.149576Z K 7 svn:log V 53 sh: Separate out nbinary allocation into a function. END K 10 svn:author V 5 hiren K 8 svn:date V 27 2013-08-30T20:46:01.602606Z K 7 svn:log V 296 Add device PicoStation M2HP support. This is a nice small outdoor/indoor AP from Ubiquity Networks. The device has: AR7241 CPU SoC AR9287 Wifi 8MB flash 32MB RAM wifi has been tested to work along with leds. Submitted by: loos Approved by: sbruno (mentor, implicit) Tested by: hiren END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-08-30T20:50:28.187890Z K 7 svn:log V 190 sh: Simplify list() in the parser. The erflag argument was only used by old-style (``) command substitutions. We can remove it and handle the special case in the command substitution code. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2013-08-31T01:24:05.029215Z K 7 svn:log V 186 YAMON is 32-bit application and uses 32-bit pointers to pass kernel arguments and environment names/values. Cast values to proper pointer type to make MALTA kernel 64-bit compatible END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2013-08-31T01:30:01.244817Z K 7 svn:log V 60 - Set proper KERNLOADADDR - Add bpf(4) required by dhclient END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2013-08-31T06:47:53.311589Z K 7 svn:log V 63 Sync USB bluetooth product list with Linux. MFC after: 1 week END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2013-08-31T07:08:21.110506Z K 7 svn:log V 25 Fix a typo in a comment. END K 10 svn:author V 8 theraven K 8 svn:date V 27 2013-08-31T08:50:45.309841Z K 7 svn:log V 297 Unconditionally compile the __sync_* atomics support functions into compiler-rt for ARM. This is quite ugly, because it has to work around a clang bug that does not allow built-in functions to be defined, even when they're ones that are expected to be built as part of a library. Reviewed by: ed END K 10 svn:author V 8 theraven K 8 svn:date V 27 2013-08-31T08:56:33.869550Z K 7 svn:log V 170 Don't use _Unwind_Backtrace() on ARM as it's currently missing from our libgcc_s. andrew@ has patches to add it, so this can be reverted and sync'd with upstream later. END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-08-31T13:41:20.872139Z K 7 svn:log V 4 MFC END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-08-31T14:53:19.110971Z K 7 svn:log V 125 Bring in gcc r128087 to add support for _Unwind_Backtrace on ARM. This is prior to the licence change so is under the GPLv2. END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-08-31T14:56:09.181071Z K 7 svn:log V 149 Implement _Unwind_GetIP and _Unwind_GetIPInfo as functions as that is what we expect on FreeBSD. The implementation is based on the existing macros. END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2013-08-31T15:40:15.368029Z K 7 svn:log V 487 Fix bug introduced in rewrite of keg_free_slab in -r251894. The consequence of the bug is that fini calls are not done when a slab is freed by a call-back from the page daemon. It went unnoticed for two months because fini is little used. I spotted the bug while reading the code to learn how it works so I could write it up for the next edition of the Design and Implementation of FreeBSD book. No MFC needed as this code exists only in HEAD. Reviewed by: kib, jeff Tested by: pho END K 10 svn:author V 3 alc K 8 svn:date V 27 2013-08-31T16:21:13.323954Z K 7 svn:log V 25 Implement pmap_advise(). END K 10 svn:author V 8 jhibbits K 8 svn:date V 27 2013-08-31T16:30:20.929085Z K 7 svn:log V 147 Fixes for DTrace on PowerPC: - Implement dtrace_getarg() - Sync fbt with x86, and fix a typo. - Pull in the time synchronization code from amd64. END K 10 svn:author V 8 jhibbits K 8 svn:date V 27 2013-08-31T16:31:48.233646Z K 7 svn:log V 78 Only add the backlight device if it actually exists in OF. MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-08-31T16:56:59.734120Z K 7 svn:log V 131 - Introduce new lock to protect list of target luns per bus, mentioned at r254254 commit message. - Remove unused sim variables. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-08-31T17:22:43.650268Z K 7 svn:log V 14 MFC @ r255101 END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2013-08-31T17:33:25.781708Z K 7 svn:log V 815 MFC of 253973: To better understand performance problems with journalled soft updates, we need to collect the highest level of allocation for each of the different soft update dependency structures. This change collects these statistics and makes them available using `sysctl debug.softdep.highuse'. Reviewed by: kib Tested by: Peter Holm MFC of 253974: With the addition of journalled soft updates, the "newblk" structures persist much longer than previously. Historically we had at most 100 entries; now the count may reach a million. With the increased count we spent far too much time looking them up in the grossly undersized newblk hash table. Configure the newblk hash table to accurately reflect the number of entries that it must index. Reviewed by: kib Tested by: Peter Holm MFC after: 2 weeks END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2013-08-31T17:38:49.057187Z K 7 svn:log V 1036 MFC of 253998: This bug fix is in a code path in rename taken when there is a collision between a rename and an open system call for the same target file. Here, rename releases its vnode references, waits for the open to finish, and then restarts by reacquiring its needed vnode locks. In this case, rename was unlocking but failing to release its reference to one of its held vnodes. The effect was that even after all the actual references to the vnode had gone, the vnode still showed active references. For files that had been removed, their space was not reclaimed until the filesystem was forcibly unmounted. This bug manifested itself in the Postgres server which would leak/lose hundreds of files per day amounting to many gigabytes of disk space. This bug required shutting down Postgres, forcibly unmounting its filesystem, remounting its filesystem and restarting Postgres every few days to recover the lost space. Reported by: Dan Thomas and Palle Girgensohn Bug-fix by: kib Tested by: Dan Thomas and Palle Girgensohn END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-08-31T18:13:20.663800Z K 7 svn:log V 56 Add support to the ARM platform specific section types. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-08-31T19:13:21.492624Z K 7 svn:log V 153 Fix two build failures for non-tb configurations, UP [2] and when using gas [1]. Reported by: andreast [1], bf [2] Sponsored by: The FreeBSD Foundation END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-08-31T20:33:37.221938Z K 7 svn:log V 299 Add support for the GCC binary integer constants extension. This is required to build the i965 backend with newer versions of mesa. Original patch from Joerg Wunsch in GCC Bug 23479, under the GPLv2; also taken from there in OpenBSD. Obtained from: gcc 4.3 (rev. 125346; GPLv2) MFC after: 5 days END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-08-31T22:32:42.101152Z K 7 svn:log V 703 libc: Always use our own copy of sys_errlist and sys_nerr (.so only). This ensures strerror() and friends continue to work correctly even if a (non-PIE) executable linked against an older libc imports sys_errlist (which causes sys_errlist to refer to the executable's copy with a size fixed when that executable was linked). The executable's use of sys_errlist remains broken because it uses the current value of sys_nerr and may access past the bounds of the array. Different from the message "Using sys_errlist from executables is not ABI-stable" on freebsd-arch, this change does not affect the static library. There seems no reason to prevent overriding the error messages in the static library. END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-09-01T04:16:43.206272Z K 7 svn:log V 344 Add support for postponing VirtIO virtqueue interrupts Partial support for the EVENT_IDX feature was added a while ago, but this commit adds an interface for the device driver to hint how long (in terms of descriptors) the next interrupt should be delayed. The first user of this will be used to reduce VirtIO net's Tx completion interrupts. END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-09-01T04:20:23.899493Z K 7 svn:log V 172 Add optional VirtIO device method for post-attach notifications This is called after the parent device (ie virito_pci) has completed the device attachment/initialization. END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-09-01T04:23:54.070202Z K 7 svn:log V 53 Sync VirtIO net device header file from recent Linux END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-09-01T04:33:47.599934Z K 7 svn:log V 235 Import multiqueue VirtIO net driver from my user/bryanv/vtnetmq branch This is a significant rewrite of much of the previous driver; lots of misc. cleanup was also performed, and support for a few other minor features was also added. END K 10 svn:author V 4 neel K 8 svn:date V 27 2013-09-01T07:09:42.376401Z K 7 svn:log V 12 IFC @255028 END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T07:10:06.472309Z K 7 svn:log V 70 Fix the build with CTLFEDEBUG broken by unmapped I/O support changes. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T07:57:53.376510Z K 7 svn:log V 56 Add debug trace points for freeze/release device queue. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T09:10:15.775968Z K 7 svn:log V 189 Pass path as an argument to *_set_transfer_settings(). Since they can be called from async context, they can no longer trust path pointer validity inside passed struct ccb_trans_settings. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T10:11:00.857211Z K 7 svn:log V 71 Fix the build with CTLFEDEBUG, broken by unmapped I/O support changes. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T11:50:37.060377Z K 7 svn:log V 58 Fix targbh crash on XPT_IMMED_NOTIFY error during attach. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T12:18:44.984911Z K 7 svn:log V 105 Fix SES_ENABLE_PASSTHROUGH kernel option, unexpectedly broken during driver overhaul. MFC after: 3 days END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T13:01:59.943263Z K 7 svn:log V 260 Bring legacy CAM target implementation back into API/KPI-coherent and even functional state. While CTL is much more superior target from all points, there is no reason why this code should not work. Tested with ahc(4) as target side HBA. MFC after: 2 weeks END K 10 svn:author V 5 markm K 8 svn:date V 27 2013-09-01T13:33:05.372989Z K 7 svn:log V 4 MFC END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-09-01T14:06:57.046366Z K 7 svn:log V 57 Fix a compiler warning about signed vs unsigned compare. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-09-01T14:15:31.302364Z K 7 svn:log V 73 Add the device ID for a new flavor of FTDI serial adapter (model 232EX). END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-09-01T14:28:12.089603Z K 7 svn:log V 67 Regenerate after recent addition of FTDI and bluetooth device IDs. END K 10 svn:author V 3 alc K 8 svn:date V 27 2013-09-01T17:06:14.444167Z K 7 svn:log V 69 pmap_protect() on MIPS does not need to acquire the pvh global lock. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T17:37:19.883488Z K 7 svn:log V 56 Add debug trace points for freeze/release device queue. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-09-01T18:59:09.525723Z K 7 svn:log V 40 Pay attention to errCheck! PR: 181715 END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-09-01T19:27:32.703772Z K 7 svn:log V 95 Add support for the BCM20702A0 chipset, ASUS USB-BT400. PR: kern/181728 Submitted by: rakuco END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-09-01T19:59:54.314292Z K 7 svn:log V 581 system(): Restore behaviour for SIGINT and SIGQUIT. As mentioned in r16117 and the book "Advanced Programming in the Unix Environment" by W. Richard Stevens, we should ignore SIGINT and SIGQUIT before forking, since it is not guaranteed that the parent process starts running soon enough. To avoid calling sigaction() in the vforked child, instead block SIGINT and SIGQUIT before vfork() and keep the sigaction() to ignore after vfork(). The FreeBSD kernel discards ignored signals, even if they are blocked; therefore, it is not necessary to unblock SIGINT and SIGQUIT earlier. END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2013-09-01T20:15:35.895660Z K 7 svn:log V 192 Initial support for the Digi ConnectCore(c) i.MX53 / Wi-i.MX53 boards. There are many drivers missing, but we can reach single user mode now. Hardware graciously donated by Douglas Beattie. END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-09-01T20:22:52.904291Z K 7 svn:log V 97 Fix build with gcc Reported by: Michael Butler Reviewed by: jilles END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-01T20:48:22.751876Z K 7 svn:log V 13 MFC @ 255131 END K 10 svn:author V 6 davide K 8 svn:date V 27 2013-09-01T21:44:43.365491Z K 7 svn:log V 110 Complete r250105. Do not zero fields if M_ZERO flag is specified to malloc(9). Reported by: pluknet, glebius END K 10 svn:author V 4 syuu K 8 svn:date V 27 2013-09-01T22:16:19.274570Z K 7 svn:log V 31 rename rxqueue_len/txqueue_len END K 10 svn:author V 6 davide K 8 svn:date V 27 2013-09-01T22:30:24.892008Z K 7 svn:log V 353 Use single underscore for all parameters name and local variables in bintime_* related functions. This commit completes what was already done by theraven@ for bintime_shift, and just uses a single underscore instead of two (which is a style bug according to Bruce). See r251855 for reference. Reported by: theraven Discussed with: bde Reviewed by: bde END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2013-09-01T23:02:59.607178Z K 7 svn:log V 591 Forced dismounts of NFS mounts can fail when thread(s) are stuck waiting for an RPC reply from the server while holding the mount point busy (mnt_lockref incremented). This happens because dounmount() msleep()s waiting for mnt_lockref to become 0, before calling VFS_UNMOUNT(). This patch adds a new VFS operation called VFS_PURGE(), which the NFS client implements as purging RPCs in progress. Making this call before checking mnt_lockref fixes the problem, by ensuring that the VOP_xxx() calls will fail and unbusy the mount point. Reported by: sbruno Reviewed by: kib MFC after: 2 weeks END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-09-01T23:06:28.184850Z K 7 svn:log V 14 MFC @r255128. END K 10 svn:author V 6 davide K 8 svn:date V 27 2013-09-01T23:34:53.213959Z K 7 svn:log V 322 Fix socket buffer timeouts precision using the new sbintime_t KPI instead of relying on the tvtohz() workaround. The latter has been introduced lately by jhb@ (r254699) in order to have a fix that can be backported to STABLE. Reported by: Vitja Makarov Reviewed by: jhb (earlier version) END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2013-09-01T23:49:36.106191Z K 7 svn:log V 477 Conform to style(9). No functional changes. sys/x86/xen/hvm.c: Do not rely on implicit conversion to boolean in expressions (e.g. use "if (rc != 0)" instead of "if (rc)". Line continuations for functions are indented an additional 4 spaces. Insert an empty line if the function has no local variables. Prefer separate initializtion statements to initialzing local variables in their declaration. Braces that are not necessary may be left out. MFC after: 2 weeks END K 10 svn:author V 4 syuu K 8 svn:date V 27 2013-09-02T05:35:06.092993Z K 7 svn:log V 64 use cpuset_t on if_get_rxqueue_affinity/if_get_txqueue_affinity END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-02T05:59:39.262318Z K 7 svn:log V 136 - Grab queue lock when modifying device flags on XPT_REL_SIMQ operation. - Switch device release callout from SIM lock to queue lock. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-09-02T06:41:54.933913Z K 7 svn:log V 141 As much as possible keep SIM KBI: - move new fields to the end of struct cam_sim; - resurrect xpt_create_path_unlocked() as dummy wrapper. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-09-02T10:14:25.822420Z K 7 svn:log V 1259 Merge 1.12 of pf_lb.c from OpenBSD, with some changes. Original commit: date: 2010/02/04 14:10:12; author: sthen; state: Exp; lines: +24 -19; pf_get_sport() picks a random port from the port range specified in a nat rule. It should check to see if it's in-use (i.e. matches an existing PF state), if it is, it cycles sequentially through other ports until it finds a free one. However the check was being done with the state keys the wrong way round so it was never actually finding the state to be in-use. - switch the keys to correct this, avoiding random state collisions with nat. Fixes PR 6300 and problems reported by robert@ and viq. - check pf_get_sport() return code in pf_test(); if port allocation fails the packet should be dropped rather than sent out untranslated. Help/ok claudio@. Some additional changes to 1.12: - We also need to bzero() the key to zero padding, otherwise key won't match. - Collapse two if blocks into one with ||, since both conditions lead to the same processing. - Only naddr changes in the cycle, so move initialization of other fields above the cycle. - s/u_intXX_t/uintXX_t/g PR: kern/181690 Submitted by: Olivier Cochard-Labbé Sponsored by: Nginx, Inc. END