From owner-p4-projects@FreeBSD.ORG Wed Jul 23 09:38:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FCD21065677; Wed, 23 Jul 2008 09:38:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42C09106564A for ; Wed, 23 Jul 2008 09:38:25 +0000 (UTC) (envelope-from zec@tel.fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4151D8FC20 for ; Wed, 23 Jul 2008 09:38:25 +0000 (UTC) (envelope-from zec@tel.fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m6N9cPhC060950 for ; Wed, 23 Jul 2008 09:38:25 GMT (envelope-from zec@tel.fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m6N9cO99060948 for perforce@freebsd.org; Wed, 23 Jul 2008 09:38:24 GMT (envelope-from zec@tel.fer.hr) Date: Wed, 23 Jul 2008 09:38:24 GMT Message-Id: <200807230938.m6N9cO99060948@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@tel.fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 145692 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jul 2008 09:38:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=145692 Change 145692 by zec@zec_tpx32 on 2008/07/23 09:37:37 IFC @ 145685 Affected files ... .. //depot/projects/vimage-devel/src/sys/Makefile#3 integrate .. //depot/projects/vimage-devel/src/sys/amd64/amd64/pmap.c#5 integrate .. //depot/projects/vimage-devel/src/sys/amd64/include/param.h#2 integrate .. //depot/projects/vimage-devel/src/sys/arm/at91/at91_pmc.c#2 integrate .. //depot/projects/vimage-devel/src/sys/boot/Makefile#2 integrate .. //depot/projects/vimage-devel/src/sys/boot/forth/loader.conf#3 integrate .. //depot/projects/vimage-devel/src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate .. //depot/projects/vimage-devel/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/vimage-devel/src/sys/conf/NOTES#4 integrate .. //depot/projects/vimage-devel/src/sys/conf/files#6 integrate .. //depot/projects/vimage-devel/src/sys/conf/kern.mk#3 integrate .. //depot/projects/vimage-devel/src/sys/conf/options#3 integrate .. //depot/projects/vimage-devel/src/sys/crypto/via/padlock.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/amr/amr.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/esp/esp_sbus.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/esp/ncr53c9xvar.h#2 integrate .. //depot/projects/vimage-devel/src/sys/dev/mpt/mpt_raid.c#2 integrate .. //depot/projects/vimage-devel/src/sys/geom/eli/g_eli.c#2 integrate .. //depot/projects/vimage-devel/src/sys/geom/part/g_part_apm.c#3 integrate .. //depot/projects/vimage-devel/src/sys/geom/vinum/geom_vinum_rename.c#2 integrate .. //depot/projects/vimage-devel/src/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#2 integrate .. //depot/projects/vimage-devel/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.c#2 integrate .. //depot/projects/vimage-devel/src/sys/i386/i386/pmap.c#3 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_environment.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_fork.c#5 integrate .. //depot/projects/vimage-devel/src/sys/kern/kern_timeout.c#4 integrate .. //depot/projects/vimage-devel/src/sys/kern/sched_ule.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/subr_autoconf.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/subr_witness.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/uipc_socket.c#5 integrate .. //depot/projects/vimage-devel/src/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/vimage-devel/src/sys/kern/vfs_subr.c#2 integrate .. //depot/projects/vimage-devel/src/sys/libkern/arc4random.c#2 integrate .. //depot/projects/vimage-devel/src/sys/modules/Makefile#6 integrate .. //depot/projects/vimage-devel/src/sys/modules/accf_dns/Makefile#1 branch .. //depot/projects/vimage-devel/src/sys/modules/mem/Makefile#2 integrate .. //depot/projects/vimage-devel/src/sys/net/if_gre.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/accf_dns.c#1 branch .. //depot/projects/vimage-devel/src/sys/netinet/in_pcb.c#7 integrate .. //depot/projects/vimage-devel/src/sys/netinet/in_pcb.h#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_offload.c#2 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_offload.h#2 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_syncache.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_syncache.h#6 integrate .. //depot/projects/vimage-devel/src/sys/netinet/tcp_timer.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netinet/toedev.h#2 integrate .. //depot/projects/vimage-devel/src/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/vimage-devel/src/sys/netipsec/ipsec.c#4 integrate .. //depot/projects/vimage-devel/src/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/vimage-devel/src/sys/netipx/ipx_input.c#3 integrate .. //depot/projects/vimage-devel/src/sys/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/vimage-devel/src/sys/nfs4client/nfs4_socket.c#2 integrate .. //depot/projects/vimage-devel/src/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/vimage-devel/src/sys/nfsclient/nfs_socket.c#3 integrate .. //depot/projects/vimage-devel/src/sys/nfsclient/nfs_vfsops.c#5 integrate .. //depot/projects/vimage-devel/src/sys/rpc/rpcclnt.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit.h#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_arg.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_bsm.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_bsm_klib.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_bsm_token.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_private.h#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_syscalls.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_trigger.c#2 integrate .. //depot/projects/vimage-devel/src/sys/security/audit/audit_worker.c#2 integrate .. //depot/projects/vimage-devel/src/sys/sparc64/sparc64/autoconf.c#2 integrate .. //depot/projects/vimage-devel/src/sys/sparc64/sparc64/mem.c#2 integrate .. //depot/projects/vimage-devel/src/sys/sys/kernel.h#4 integrate .. //depot/projects/vimage-devel/src/sys/sys/param.h#5 integrate .. //depot/projects/vimage-devel/src/sys/sys/socket.h#2 integrate .. //depot/projects/vimage-devel/src/sys/sys/sysctl.h#6 integrate .. //depot/projects/vimage-devel/src/sys/sys/vmmeter.h#2 integrate .. //depot/projects/vimage-devel/src/sys/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/vimage-devel/src/sys/vm/vm_kern.c#3 integrate Differences ... ==== //depot/projects/vimage-devel/src/sys/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.50 2008/07/10 16:03:24 obrien Exp $ +# $FreeBSD: src/sys/Makefile,v 1.51 2008/07/20 09:16:00 maxim Exp $ .include @@ -8,13 +8,13 @@ .endif # Directories to include in cscope name file and TAGS. -CSCOPEDIRS= boot bsm cam compat conf contrib crypto ddb dev fs gdb geom \ - gnu isa kern libkern modules net net80211 netatalk \ +CSCOPEDIRS= boot bsm cam cddl compat conf contrib crypto ddb dev fs gdb \ + geom gnu isa kern libkern modules net net80211 netatalk \ netgraph netinet netinet6 netipsec netipx netnatm netncp \ - netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \ - pci rpc security sys ufs vm ${CSCOPE_ARCHDIR} + netsmb nfs nfs4client nfsclient nfsserver nlm opencrypto \ + pccard pci rpc security sys ufs vm xdr ${CSCOPE_ARCHDIR} .if defined(ALL_ARCH) -CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips powerpc sparc64 +CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v .else CSCOPE_ARCHDIR ?= ${MACHINE} .endif ==== //depot/projects/vimage-devel/src/sys/amd64/amd64/pmap.c#5 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.632 2008/07/13 18:19:53 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.634 2008/07/18 22:05:51 alc Exp $"); /* * Manages physical address maps. @@ -986,13 +986,12 @@ if (pdep != NULL) { pde = *pdep; if (pde) { - if ((pde & PG_PS) != 0) { + if ((pde & PG_PS) != 0) rtval = (pde & PG_PS_FRAME) | (va & PDRMASK); - PMAP_UNLOCK(pmap); - return rtval; + else { + pte = pmap_pde_to_pte(pdep, va); + rtval = (*pte & PG_FRAME) | (va & PAGE_MASK); } - pte = pmap_pde_to_pte(pdep, va); - rtval = (*pte & PG_FRAME) | (va & PAGE_MASK); } } PMAP_UNLOCK(pmap); @@ -4390,7 +4389,7 @@ } return (EINVAL); } - pte = vtopte(va); + pte = vtopte(tmpva); if (*pte == 0) return (EINVAL); tmpva += PAGE_SIZE; ==== //depot/projects/vimage-devel/src/sys/amd64/include/param.h#2 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.21 2008/03/27 05:03:24 jb Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.22 2008/07/19 23:42:38 alc Exp $ */ /* @@ -136,7 +136,7 @@ * the kern.maxbcache /boot/loader.conf variable. */ #ifndef VM_BCACHE_SIZE_MAX -#define VM_BCACHE_SIZE_MAX (400 * 1024 * 1024) +#define VM_BCACHE_SIZE_MAX (1024 * 1024 * 1024) #endif /* ==== //depot/projects/vimage-devel/src/sys/arm/at91/at91_pmc.c#2 (text) ==== @@ -25,7 +25,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.5 2007/09/16 07:51:02 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.6 2008/07/22 14:04:06 stas Exp $"); #include #include @@ -259,44 +259,44 @@ static uint32_t at91_pmc_pll_calc(uint32_t main_freq, uint32_t out_freq) { - uint32_t i, div = 0, mul = 0, diff = 1 << 30; - unsigned ret = (out_freq > PMC_PLL_FAST_THRESH) ? 0xbe00 : 0x3e00; + uint32_t i, div = 0, mul = 0, diff = 1 << 30; + unsigned ret = (out_freq > PMC_PLL_FAST_THRESH) ? 0xbe00 : 0x3e00; - if (out_freq > PMC_PLL_MAX_OUT_FREQ) - goto fail; + if (out_freq > PMC_PLL_MAX_OUT_FREQ) + goto fail; - for (i = 1; i < 256; i++) { - int32_t diff1; - uint32_t input, mul1; + for (i = 1; i < 256; i++) { + int32_t diff1; + uint32_t input, mul1; - input = main_freq / i; - if (input < PMC_PLL_MIN_IN_FREQ) - break; - if (input > PMC_PLL_MAX_IN_FREQ) - continue; + input = main_freq / i; + if (input < PMC_PLL_MIN_IN_FREQ) + break; + if (input > PMC_PLL_MAX_IN_FREQ) + continue; - mul1 = out_freq / input; - if (mul1 > PMC_PLL_MULT_MAX) - continue; - if (mul1 < PMC_PLL_MULT_MIN) - break; + mul1 = out_freq / input; + if (mul1 > PMC_PLL_MULT_MAX) + continue; + if (mul1 < PMC_PLL_MULT_MIN) + break; - diff1 = out_freq - input * mul1; + diff1 = out_freq - input * mul1; if (diff1 < 0) - diff1 = -diff1; - if (diff > diff1) { - diff = diff1; - div = i; - mul = mul1; - if (diff == 0) - break; - } - } - if (diff > (out_freq >> PMC_PLL_SHIFT_TOL)) + diff1 = -diff1; + if (diff > diff1) { + diff = diff1; + div = i; + mul = mul1; + if (diff == 0) + break; + } + } + if (diff > (out_freq >> PMC_PLL_SHIFT_TOL)) goto fail; return ret | ((mul - 1) << 16) | div; fail: - return 0; + return 0; } static void @@ -313,12 +313,12 @@ * Initialize the usb clock. This sets up pllb, but disables the * actual clock. */ - sc->pllb_init = at91_pmc_pll_calc(main_clock, 48000000 * 2) |0x10000000; - pllb.hz = at91_pmc_pll_rate(main_clock, sc->pllb_init, 1); - WR4(sc, PMC_PCDR, (1 << AT91RM92_IRQ_UHP) | (1 << AT91RM92_IRQ_UDP)); - WR4(sc, PMC_SCDR, PMC_SCER_UHP | PMC_SCER_UDP); - WR4(sc, CKGR_PLLBR, 0); - WR4(sc, PMC_SCER, PMC_SCER_MCKUDP); + sc->pllb_init = at91_pmc_pll_calc(main_clock, 48000000 * 2) |0x10000000; + pllb.hz = at91_pmc_pll_rate(main_clock, sc->pllb_init, 1); + WR4(sc, PMC_PCDR, (1 << AT91RM92_IRQ_UHP) | (1 << AT91RM92_IRQ_UDP)); + WR4(sc, PMC_SCDR, PMC_SCER_UHP | PMC_SCER_UDP); + WR4(sc, CKGR_PLLBR, 0); + WR4(sc, PMC_SCER, PMC_SCER_MCKUDP); /* * MCK and PCU derive from one of the primary clocks. Initialize ==== //depot/projects/vimage-devel/src/sys/boot/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/Makefile,v 1.33 2008/02/17 20:34:35 marcel Exp $ +# $FreeBSD: src/sys/boot/Makefile,v 1.34 2008/07/23 07:23:33 imp Exp $ .include @@ -23,6 +23,9 @@ .endif # Pick the machine-dependent subdir based on the target architecture. -SUBDIR+= ${MACHINE:S/amd64/i386/:S/sun4v/sparc64/} +ADIR= ${MACHINE:S/amd64/i386/:S/sun4v/sparc64/} +.if exists(${.CURDIR}/${ADIR}/.) +SUBDIR+= ${ADIR} +.endif .include ==== //depot/projects/vimage-devel/src/sys/boot/forth/loader.conf#3 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.128 2008/07/04 21:06:57 jhb Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.129 2008/07/18 14:44:51 dwmalone Exp $ ############################################################## ### Basic configuration options ############################ @@ -391,6 +391,7 @@ ispfw_load="NO" # Qlogic ISP Firmware agp_load="NO" # agp module accf_data_load="NO" # Wait for data accept filter +accf_dns_load="NO" # Wait for data accept filter accf_http_load="NO" # Wait for full HTTP request accept filter random_load="NO" # Random device speaker_load="NO" # AT speaker module ==== //depot/projects/vimage-devel/src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c,v 1.10 2008/03/28 22:16:05 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c,v 1.11 2008/07/21 09:45:44 pjd Exp $"); #include #include @@ -100,7 +100,7 @@ int vfs_optionisset(const vfs_t *vfsp, const char *opt, char **argp) { - struct vfsoptlist *opts = vfsp->mnt_opt; + struct vfsoptlist *opts = vfsp->mnt_optnew; int error; if (opts == NULL) ==== //depot/projects/vimage-devel/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 (text+ko) ==== @@ -196,7 +196,7 @@ break; } zs->zst_ph_offset = prefetch_tail; - zs->zst_last = lbolt; + zs->zst_last = LBOLT; } /* @@ -517,7 +517,7 @@ for (zs = list_head(&zf->zf_stream); zs; zs = list_next(&zf->zf_stream, zs)) { - if (((lbolt - zs->zst_last) / hz) > zfetch_min_sec_reap) + if (((LBOLT - zs->zst_last) / hz) > zfetch_min_sec_reap) break; } @@ -639,7 +639,7 @@ newstream->zst_ph_offset = zst.zst_len + zst.zst_offset; newstream->zst_cap = zst.zst_len; newstream->zst_direction = ZFETCH_FORWARD; - newstream->zst_last = lbolt; + newstream->zst_last = LBOLT; mutex_init(&newstream->zst_lock, NULL, MUTEX_DEFAULT, NULL); ==== //depot/projects/vimage-devel/src/sys/conf/NOTES#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1498 2008/07/04 21:24:35 jhb Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1499 2008/07/18 14:44:51 dwmalone Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -887,6 +887,7 @@ # Statically Link in accept filters options ACCEPT_FILTER_DATA +options ACCEPT_FILTER_DNS options ACCEPT_FILTER_HTTP # TCP_SIGNATURE adds support for RFC 2385 (TCP-MD5) digests. These are ==== //depot/projects/vimage-devel/src/sys/conf/files#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1315 2008/07/18 06:12:31 kmacy Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1316 2008/07/18 14:44:51 dwmalone Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1905,6 +1905,7 @@ netgraph/ng_vjc.c optional netgraph_vjc netgraph/ng_wormhole.c optional netgraph_wormhole vimage netinet/accf_data.c optional accept_filter_data +netinet/accf_dns.c optional accept_filter_dns netinet/accf_http.c optional accept_filter_http netinet/if_atm.c optional atm netinet/if_ether.c optional ether ==== //depot/projects/vimage-devel/src/sys/conf/kern.mk#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.mk,v 1.55 2008/06/25 21:33:28 ru Exp $ +# $FreeBSD: src/sys/conf/kern.mk,v 1.57 2008/07/23 06:16:34 imp Exp $ # # Warning flags for compiling the kernel and components of the kernel. @@ -110,6 +110,7 @@ # # GCC SSP support. # -.if ${MK_SSP} != "no" && ${CC} != "icc" && ${MACHINE_ARCH} != "ia64" +.if ${MK_SSP} != "no" && ${CC} != "icc" && ${MACHINE_ARCH} != "ia64" && \ + ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "mips" CFLAGS+= -fstack-protector .endif ==== //depot/projects/vimage-devel/src/sys/conf/options#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.632 2008/05/26 10:39:52 bz Exp $ +# $FreeBSD: src/sys/conf/options,v 1.633 2008/07/18 14:44:51 dwmalone Exp $ # # On the handling of kernel options # @@ -342,6 +342,7 @@ # Net stuff. ACCEPT_FILTER_DATA +ACCEPT_FILTER_DNS ACCEPT_FILTER_HTTP ALTQ opt_global.h ALTQ_CBQ opt_altq.h ==== //depot/projects/vimage-devel/src/sys/crypto/via/padlock.c#2 (text+ko) ==== @@ -25,14 +25,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/crypto/via/padlock.c,v 1.13 2007/07/03 12:13:43 gnn Exp $"); +__FBSDID("$FreeBSD: src/sys/crypto/via/padlock.c,v 1.14 2008/07/20 07:34:00 pjd Exp $"); #include #include #include #include #include -#include +#include #include #include #if defined(__i386__) && !defined(PC98) @@ -60,7 +60,7 @@ int32_t sc_cid; uint32_t sc_sid; TAILQ_HEAD(, padlock_session) sc_sessions; - struct mtx sc_sessions_mtx; + struct rwlock sc_sessions_lock; }; static int padlock_newsession(device_t, uint32_t *sidp, struct cryptoini *cri); @@ -126,7 +126,7 @@ return (ENOMEM); } - mtx_init(&sc->sc_sessions_mtx, "padlock_mtx", NULL, MTX_DEF); + rw_init(&sc->sc_sessions_lock, "padlock_lock"); crypto_register(sc->sc_cid, CRYPTO_AES_CBC, 0, 0); crypto_register(sc->sc_cid, CRYPTO_MD5_HMAC, 0, 0); crypto_register(sc->sc_cid, CRYPTO_SHA1_HMAC, 0, 0); @@ -143,10 +143,10 @@ struct padlock_softc *sc = device_get_softc(dev); struct padlock_session *ses; - mtx_lock(&sc->sc_sessions_mtx); + rw_wlock(&sc->sc_sessions_lock); TAILQ_FOREACH(ses, &sc->sc_sessions, ses_next) { if (ses->ses_used) { - mtx_unlock(&sc->sc_sessions_mtx); + rw_wunlock(&sc->sc_sessions_lock); device_printf(dev, "Cannot detach, sessions still active.\n"); return (EBUSY); @@ -157,7 +157,7 @@ TAILQ_REMOVE(&sc->sc_sessions, ses, ses_next); free(ses, M_PADLOCK); } - mtx_destroy(&sc->sc_sessions_mtx); + rw_destroy(&sc->sc_sessions_lock); crypto_unregister_all(sc->sc_cid); return (0); } @@ -208,7 +208,7 @@ /* * Let's look for a free session structure. */ - mtx_lock(&sc->sc_sessions_mtx); + rw_wlock(&sc->sc_sessions_lock); /* * Free sessions goes first, so if first session is used, we need to * allocate one. @@ -221,16 +221,16 @@ ses->ses_used = 1; TAILQ_INSERT_TAIL(&sc->sc_sessions, ses, ses_next); } - mtx_unlock(&sc->sc_sessions_mtx); + rw_wunlock(&sc->sc_sessions_lock); if (ses == NULL) { ses = malloc(sizeof(*ses), M_PADLOCK, M_NOWAIT | M_ZERO); if (ses == NULL) return (ENOMEM); ses->ses_used = 1; - mtx_lock(&sc->sc_sessions_mtx); + rw_wlock(&sc->sc_sessions_lock); ses->ses_id = sc->sc_sid++; TAILQ_INSERT_TAIL(&sc->sc_sessions, ses, ses_next); - mtx_unlock(&sc->sc_sessions_mtx); + rw_wunlock(&sc->sc_sessions_lock); } error = padlock_cipher_setup(ses, encini); @@ -258,21 +258,21 @@ struct padlock_session *ses; uint32_t sid = ((uint32_t)tid) & 0xffffffff; - mtx_lock(&sc->sc_sessions_mtx); + rw_wlock(&sc->sc_sessions_lock); TAILQ_FOREACH(ses, &sc->sc_sessions, ses_next) { if (ses->ses_id == sid) break; } if (ses == NULL) { - mtx_unlock(&sc->sc_sessions_mtx); + rw_wunlock(&sc->sc_sessions_lock); return (EINVAL); } TAILQ_REMOVE(&sc->sc_sessions, ses, ses_next); padlock_hash_free(ses); bzero(ses, sizeof(*ses)); ses->ses_used = 0; - TAILQ_INSERT_TAIL(&sc->sc_sessions, ses, ses_next); - mtx_unlock(&sc->sc_sessions_mtx); + TAILQ_INSERT_HEAD(&sc->sc_sessions, ses, ses_next); + rw_wunlock(&sc->sc_sessions_lock); return (0); } @@ -322,12 +322,12 @@ goto out; } - mtx_lock(&sc->sc_sessions_mtx); + rw_rlock(&sc->sc_sessions_lock); TAILQ_FOREACH(ses, &sc->sc_sessions, ses_next) { if (ses->ses_id == (crp->crp_sid & 0xffffffff)) break; } - mtx_unlock(&sc->sc_sessions_mtx); + rw_runlock(&sc->sc_sessions_lock); if (ses == NULL) { error = EINVAL; goto out; ==== //depot/projects/vimage-devel/src/sys/dev/amr/amr.c#2 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.85 2008/01/24 07:26:53 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/amr/amr.c,v 1.86 2008/07/20 16:50:14 scottl Exp $"); /* * Driver for the AMI MegaRaid family of controllers. @@ -2082,8 +2082,11 @@ int i = 0; mtx_lock(&sc->amr_hw_lock); - while (sc->amr_mailbox->mb_busy && (i++ < 10)) + while (sc->amr_mailbox->mb_busy && (i++ < 10)) { DELAY(1); + /* This is a no-op read that flushes pending mailbox updates */ + AMR_QGET_ODB(sc); + } if (sc->amr_mailbox->mb_busy) { mtx_unlock(&sc->amr_hw_lock); if (ac->ac_retries++ > 1000) { ==== //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c,v 1.12 2008/07/18 06:12:31 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c,v 1.15 2008/07/21 21:23:43 kmacy Exp $"); #include #include @@ -410,13 +410,18 @@ snd->sb_sndptroff += bytes; total_bytes += bytes; toep->tp_write_seq += bytes; - CTR6(KTR_TOM, "t3_push_frames: wr_avail=%d mbuf_wrs[%d]=%d tail=%p sndptr=%p sndptroff=%d", - toep->tp_wr_avail, count, mbuf_wrs[count], tail, snd->sb_sndptr, snd->sb_sndptroff); + CTR6(KTR_TOM, "t3_push_frames: wr_avail=%d mbuf_wrs[%d]=%d" + " tail=%p sndptr=%p sndptroff=%d", + toep->tp_wr_avail, count, mbuf_wrs[count], + tail, snd->sb_sndptr, snd->sb_sndptroff); if (tail) - CTR4(KTR_TOM, "t3_push_frames: total_bytes=%d tp_m_last=%p tailbuf=%p snd_una=0x%08x", - total_bytes, toep->tp_m_last, tail->m_data, tp->snd_una); + CTR4(KTR_TOM, "t3_push_frames: total_bytes=%d" + " tp_m_last=%p tailbuf=%p snd_una=0x%08x", + total_bytes, toep->tp_m_last, tail->m_data, + tp->snd_una); else - CTR3(KTR_TOM, "t3_push_frames: total_bytes=%d tp_m_last=%p snd_una=0x%08x", + CTR3(KTR_TOM, "t3_push_frames: total_bytes=%d" + " tp_m_last=%p snd_una=0x%08x", total_bytes, toep->tp_m_last, tp->snd_una); @@ -428,14 +433,18 @@ while (i < count && m_get_sgllen(m0)) { if ((count - i) >= 3) { CTR6(KTR_TOM, - "t3_push_frames: pa=0x%zx len=%d pa=0x%zx len=%d pa=0x%zx len=%d", - segs[i].ds_addr, segs[i].ds_len, segs[i + 1].ds_addr, segs[i + 1].ds_len, + "t3_push_frames: pa=0x%zx len=%d pa=0x%zx" + " len=%d pa=0x%zx len=%d", + segs[i].ds_addr, segs[i].ds_len, + segs[i + 1].ds_addr, segs[i + 1].ds_len, segs[i + 2].ds_addr, segs[i + 2].ds_len); i += 3; } else if ((count - i) == 2) { CTR4(KTR_TOM, - "t3_push_frames: pa=0x%zx len=%d pa=0x%zx len=%d", - segs[i].ds_addr, segs[i].ds_len, segs[i + 1].ds_addr, segs[i + 1].ds_len); + "t3_push_frames: pa=0x%zx len=%d pa=0x%zx" + " len=%d", + segs[i].ds_addr, segs[i].ds_len, + segs[i + 1].ds_addr, segs[i + 1].ds_len); i += 2; } else { CTR2(KTR_TOM, "t3_push_frames: pa=0x%zx len=%d", @@ -2418,25 +2427,6 @@ tcp_offload_twstart(tp); } -static void -enter_timewait_disconnect(struct tcpcb *tp) -{ - /* - * Bump rcv_nxt for the peer FIN. We don't do this at the time we - * process peer_close because we don't want to carry the peer FIN in - * the socket's receive queue and if we increment rcv_nxt without - * having the FIN in the receive queue we'll confuse facilities such - * as SIOCINQ. - */ - inp_wlock(tp->t_inpcb); - tp->rcv_nxt++; - - tp->ts_recent_age = 0; /* defeat recycling */ - tp->t_srtt = 0; /* defeat tcp_update_metrics */ - inp_wunlock(tp->t_inpcb); - tcp_offload_twstart_disconnect(tp); -} - /* * For TCP DDP a PEER_CLOSE may also be an implicit RX_DDP_COMPLETE. This * function deals with the data that may be reported along with the FIN. @@ -2704,7 +2694,7 @@ if (action == TCP_TIMEWAIT) { - enter_timewait_disconnect(tp); + enter_timewait(tp); } else if (action == TCP_DROP) { tcp_offload_drop(tp, 0); } else if (action == TCP_CLOSE) { @@ -3277,7 +3267,7 @@ to.to_mss = mss; to.to_wscale = wsf; to.to_flags = (mss ? TOF_MSS : 0) | (wsf ? TOF_SCALE : 0) | (ts ? TOF_TS : 0) | (sack ? TOF_SACKPERM : 0); - syncache_offload_add(&inc, &to, &th, inp, &lso, &cxgb_toe_usrreqs, toep); + tcp_offload_syncache_add(&inc, &to, &th, inp, &lso, &cxgb_toe_usrreqs, toep); } @@ -3620,7 +3610,7 @@ ntohl(req->local_ip), ntohs(req->local_port), ntohl(req->peer_ip), ntohs(req->peer_port), mss, wsf, ts, sack); - return syncache_offload_expand(&inc, &to, &th, so, m); + return tcp_offload_syncache_expand(&inc, &to, &th, so, m); } ==== //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c,v 1.1 2008/04/19 03:22:42 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c,v 1.4 2008/07/21 02:29:40 kmacy Exp $"); /* * grab bag of accessor routines that will either be moved to netinet @@ -66,259 +66,6 @@ */ void -tcp_offload_twstart(struct tcpcb *tp) -{ - - INP_INFO_WLOCK(&tcbinfo); - inp_wlock(tp->t_inpcb); - tcp_twstart(tp); - INP_INFO_WUNLOCK(&tcbinfo); -} - -void -tcp_offload_twstart_disconnect(struct tcpcb *tp) -{ - struct socket *so; - - INP_INFO_WLOCK(&tcbinfo); - inp_wlock(tp->t_inpcb); - so = tp->t_inpcb->inp_socket; - tcp_twstart(tp); - if (so) - soisdisconnected(so); - INP_INFO_WUNLOCK(&tcbinfo); -} - -struct tcpcb * -tcp_offload_close(struct tcpcb *tp) -{ - - INP_INFO_WLOCK(&tcbinfo); - INP_WLOCK(tp->t_inpcb); - tp = tcp_close(tp); - INP_INFO_WUNLOCK(&tcbinfo); - if (tp) - INP_WUNLOCK(tp->t_inpcb); - - return (tp); -} - -struct tcpcb * -tcp_offload_drop(struct tcpcb *tp, int error) -{ - - INP_INFO_WLOCK(&tcbinfo); - INP_WLOCK(tp->t_inpcb); - tp = tcp_drop(tp, error); - INP_INFO_WUNLOCK(&tcbinfo); - if (tp) - INP_WUNLOCK(tp->t_inpcb); - - return (tp); -} - -void -inp_apply_all(void (*func)(struct inpcb *, void *), void *arg) -{ - struct inpcb *inp; - - INP_INFO_RLOCK(&tcbinfo); - LIST_FOREACH(inp, tcbinfo.ipi_listhead, inp_list) { - INP_WLOCK(inp); - func(inp, arg); - INP_WUNLOCK(inp); - } - INP_INFO_RUNLOCK(&tcbinfo); -} - -struct socket * -inp_inpcbtosocket(struct inpcb *inp) -{ - - INP_WLOCK_ASSERT(inp); - return (inp->inp_socket); -} - -struct tcpcb * -inp_inpcbtotcpcb(struct inpcb *inp) -{ - - INP_WLOCK_ASSERT(inp); - return ((struct tcpcb *)inp->inp_ppcb); -} - -int -inp_ip_tos_get(const struct inpcb *inp) -{ - - return (inp->inp_ip_tos); -} - -void -inp_ip_tos_set(struct inpcb *inp, int val) -{ - - inp->inp_ip_tos = val; -} - -void -inp_4tuple_get(const struct inpcb *inp, uint32_t *laddr, uint16_t *lp, uint32_t *faddr, uint16_t *fp) -{ - - memcpy(laddr, &inp->inp_laddr, 4); - memcpy(faddr, &inp->inp_faddr, 4); - - *lp = inp->inp_lport; - *fp = inp->inp_fport; -} - -void -so_listeners_apply_all(struct socket *so, void (*func)(struct socket *, void *), void *arg) -{ - - TAILQ_FOREACH(so, &so->so_comp, so_list) - func(so, arg); -} - -struct tcpcb * -so_sototcpcb(struct socket *so) -{ - - return (sototcpcb(so)); -} - -struct inpcb * -so_sotoinpcb(struct socket *so) -{ - - return (sotoinpcb(so)); -} - -struct sockbuf * -so_sockbuf_rcv(struct socket *so) -{ - - return (&so->so_rcv); -} - -struct sockbuf * -so_sockbuf_snd(struct socket *so) -{ - - return (&so->so_snd); -} - -int -so_state_get(const struct socket *so) -{ - - return (so->so_state); -} - -void -so_state_set(struct socket *so, int val) -{ - - so->so_state = val; -} - -int -so_options_get(const struct socket *so) -{ - - return (so->so_options); -} - -void -so_options_set(struct socket *so, int val) -{ - - so->so_options = val; -} - -int -so_error_get(const struct socket *so) -{ - - return (so->so_error); -} - -void -so_error_set(struct socket *so, int val) -{ - - so->so_error = val; -} - -int -so_linger_get(const struct socket *so) -{ - - return (so->so_linger); -} - -void -so_linger_set(struct socket *so, int val) -{ - - so->so_linger = val; -} - -struct protosw * -so_protosw_get(const struct socket *so) -{ - - return (so->so_proto); -} - -void -so_protosw_set(struct socket *so, struct protosw *val) -{ - - so->so_proto = val; -} - -void -so_sorwakeup(struct socket *so) -{ - - sorwakeup(so); -} - -void -so_sowwakeup(struct socket *so) -{ - - sowwakeup(so); -} - -void -so_sorwakeup_locked(struct socket *so) -{ - - sorwakeup_locked(so); -} - -void -so_sowwakeup_locked(struct socket *so) -{ - - sowwakeup_locked(so); -} - -void -so_lock(struct socket *so) -{ - SOCK_LOCK(so); -} - -void -so_unlock(struct socket *so) -{ - SOCK_UNLOCK(so); -} - -void sockbuf_lock(struct sockbuf *sb) { @@ -346,15 +93,3 @@ return (sbspace(sb)); } -int -syncache_offload_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, - struct socket **lsop, struct mbuf *m) -{ - int rc; - - INP_INFO_WLOCK(&tcbinfo); - rc = syncache_expand(inc, to, th, lsop, m); - INP_INFO_WUNLOCK(&tcbinfo); - - return (rc); -} ==== //depot/projects/vimage-devel/src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#2 (text+ko) ==== @@ -1,67 +1,16 @@ -/* $FreeBSD: src/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h,v 1.2 2008/05/05 01:41:53 kmacy Exp $ */ >>> TRUNCATED FOR MAIL (1000 lines) <<<