From owner-p4-projects@FreeBSD.ORG Sun Nov 12 17:58:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 738E416A417; Sun, 12 Nov 2006 17:58:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 495FE16A416 for ; Sun, 12 Nov 2006 17:58:24 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B2FF643D66 for ; Sun, 12 Nov 2006 17:57:57 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kACHvvVq053507 for ; Sun, 12 Nov 2006 17:57:57 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kACHvu5Z053503 for perforce@freebsd.org; Sun, 12 Nov 2006 17:57:56 GMT (envelope-from marcel@freebsd.org) Date: Sun, 12 Nov 2006 17:57:56 GMT Message-Id: <200611121757.kACHvu5Z053503@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 109808 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: Sun, 12 Nov 2006 17:58:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=109808 Change 109808 by marcel@marcel_cluster on 2006/11/12 17:57:50 IFC @109804 Affected files ... .. //depot/projects/ia64/sys/amd64/linux32/linux32_proto.h#12 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_syscall.h#12 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_sysent.c#12 integrate .. //depot/projects/ia64/sys/arm/arm/pmap.c#22 integrate .. //depot/projects/ia64/sys/arm/at91/kb920x_machdep.c#6 integrate .. //depot/projects/ia64/sys/arm/include/pmap.h#17 integrate .. //depot/projects/ia64/sys/arm/sa11x0/assabet_machdep.c#13 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_proto.h#23 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_syscall.h#23 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_syscalls.c#23 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_sysent.c#23 integrate .. //depot/projects/ia64/sys/compat/svr4/svr4_proto.h#10 integrate .. //depot/projects/ia64/sys/compat/svr4/svr4_syscall.h#9 integrate .. //depot/projects/ia64/sys/compat/svr4/svr4_syscallnames.c#9 integrate .. //depot/projects/ia64/sys/compat/svr4/svr4_sysent.c#9 integrate .. //depot/projects/ia64/sys/conf/NOTES#111 integrate .. //depot/projects/ia64/sys/dev/usb/usb_quirks.c#15 integrate .. //depot/projects/ia64/sys/dev/usb/usbdevs#78 integrate .. //depot/projects/ia64/sys/kern/init_main.c#59 integrate .. //depot/projects/ia64/sys/kern/init_sysent.c#57 integrate .. //depot/projects/ia64/sys/kern/kern_idle.c#20 integrate .. //depot/projects/ia64/sys/kern/kern_lock.c#34 integrate .. //depot/projects/ia64/sys/kern/posix4_mib.c#2 integrate .. //depot/projects/ia64/sys/kern/subr_lock.c#3 integrate .. //depot/projects/ia64/sys/kern/syscalls.c#58 integrate .. //depot/projects/ia64/sys/kern/systrace_args.c#4 integrate .. //depot/projects/ia64/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/ia64/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/ia64/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/ia64/sys/netinet/sctputil.c#3 integrate .. //depot/projects/ia64/sys/netinet/sctputil.h#3 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/pmap_dispatch.c#6 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/pmap.c#4 integrate .. //depot/projects/ia64/sys/sys/lock_profile.h#2 integrate .. //depot/projects/ia64/sys/sys/syscall.h#57 integrate .. //depot/projects/ia64/sys/sys/syscall.mk#57 integrate .. //depot/projects/ia64/sys/sys/sysproto.h#61 integrate Differences ... ==== //depot/projects/ia64/sys/amd64/linux32/linux32_proto.h#12 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.26 2006/11/11 21:49:07 ru Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include ==== //depot/projects/ia64/sys/amd64/linux32/linux32_syscall.h#12 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.26 2006/11/11 21:49:07 ru Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ ==== //depot/projects/ia64/sys/amd64/linux32/linux32_sysent.c#12 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.26 2006/11/11 21:49:07 ru Exp $ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ ==== //depot/projects/ia64/sys/arm/arm/pmap.c#22 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.71 2006/11/08 06:31:28 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.72 2006/11/11 20:57:51 alc Exp $"); #include #include #include @@ -218,7 +218,6 @@ static MALLOC_DEFINE(M_VMPMAP, "pmap", "PMAP L1"); -vm_offset_t avail_end; /* PA of last available physical page */ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ vm_offset_t pmap_curmaxkvaddr; ==== //depot/projects/ia64/sys/arm/at91/kb920x_machdep.c#6 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.18 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.19 2006/11/11 20:57:52 alc Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -129,7 +129,6 @@ vm_paddr_t phys_avail[10]; vm_paddr_t dump_avail[4]; vm_offset_t physical_pages; -vm_offset_t clean_sva, clean_eva; struct pv_addr systempage; struct pv_addr msgbufpv; @@ -496,7 +495,6 @@ /* Do basic tuning, hz etc */ init_param1(); init_param2(physmem); - avail_end = KERNPHYSADDR + memsize - 1; kdb_init(); return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); ==== //depot/projects/ia64/sys/arm/include/pmap.h#17 (text+ko) ==== @@ -44,7 +44,7 @@ * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 * - * $FreeBSD: src/sys/arm/include/pmap.h,v 1.21 2006/11/07 22:36:56 cognet Exp $ + * $FreeBSD: src/sys/arm/include/pmap.h,v 1.22 2006/11/11 20:57:52 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -213,9 +213,6 @@ return (ptep); } -extern vm_offset_t avail_end; -extern vm_offset_t clean_eva; -extern vm_offset_t clean_sva; extern vm_offset_t phys_avail[]; extern vm_offset_t virtual_avail; extern vm_offset_t virtual_end; ==== //depot/projects/ia64/sys/arm/sa11x0/assabet_machdep.c#13 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.19 2006/10/26 21:42:17 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.20 2006/11/11 20:57:52 alc Exp $"); #include "opt_md.h" @@ -146,7 +146,6 @@ vm_paddr_t physical_end; vm_paddr_t physical_freestart; vm_offset_t physical_pages; -vm_offset_t clean_sva, clean_eva; struct pv_addr systempage; struct pv_addr irqstack; @@ -455,7 +454,6 @@ init_param1(); init_param2(physmem); kdb_init(); - avail_end = 0xc0000000 + memsize - 1; return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - sizeof(struct pcb))); } ==== //depot/projects/ia64/sys/compat/freebsd32/freebsd32_proto.h#23 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.74 2006/11/03 21:23:33 ru Exp $ + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.75 2006/11/11 21:49:08 ru Exp $ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include ==== //depot/projects/ia64/sys/compat/freebsd32/freebsd32_syscall.h#23 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.72 2006/11/03 21:23:33 ru Exp $ + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.73 2006/11/11 21:49:08 ru Exp $ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ ==== //depot/projects/ia64/sys/compat/freebsd32/freebsd32_syscalls.c#23 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.63 2006/11/03 21:23:33 ru Exp $ + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.64 2006/11/11 21:49:08 ru Exp $ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ ==== //depot/projects/ia64/sys/compat/freebsd32/freebsd32_sysent.c#23 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.73 2006/11/03 21:23:33 ru Exp $ + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.74 2006/11/11 21:49:08 ru Exp $ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ ==== //depot/projects/ia64/sys/compat/svr4/svr4_proto.h#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_proto.h,v 1.27 2006/08/15 17:36:59 jhb Exp $ + * $FreeBSD: src/sys/compat/svr4/svr4_proto.h,v 1.28 2006/11/11 21:49:08 ru Exp $ * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.28 2006/07/28 19:05:27 jhb Exp */ @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include ==== //depot/projects/ia64/sys/compat/svr4/svr4_syscall.h#9 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_syscall.h,v 1.25 2006/08/15 17:36:59 jhb Exp $ + * $FreeBSD: src/sys/compat/svr4/svr4_syscall.h,v 1.26 2006/11/11 21:49:08 ru Exp $ * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.28 2006/07/28 19:05:27 jhb Exp */ ==== //depot/projects/ia64/sys/compat/svr4/svr4_syscallnames.c#9 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_syscallnames.c,v 1.25 2006/08/15 17:36:59 jhb Exp $ + * $FreeBSD: src/sys/compat/svr4/svr4_syscallnames.c,v 1.26 2006/11/11 21:49:08 ru Exp $ * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.28 2006/07/28 19:05:27 jhb Exp */ ==== //depot/projects/ia64/sys/compat/svr4/svr4_sysent.c#9 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/svr4/svr4_sysent.c,v 1.26 2006/08/15 17:36:59 jhb Exp $ + * $FreeBSD: src/sys/compat/svr4/svr4_sysent.c,v 1.27 2006/11/11 21:49:08 ru Exp $ * created from FreeBSD: src/sys/compat/svr4/syscalls.master,v 1.28 2006/07/28 19:05:27 jhb Exp */ ==== //depot/projects/ia64/sys/conf/NOTES#111 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1398 2006/11/11 05:35:39 kmacy Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1399 2006/11/11 23:37:52 ru Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -195,7 +195,7 @@ # MUTEX_NOINLINE forces mutex operations to call functions to perform each # operation rather than inlining the simple cases. This can be used to # shrink the size of the kernel text segment. Note that this behavior is -# already implied by the INVARIANT_SUPPORT, INVARIANTS, KTR, MUTEX_PROFILING, +# already implied by the INVARIANT_SUPPORT, INVARIANTS, KTR, LOCK_PROFILING, # and WITNESS options. options MUTEX_NOINLINE @@ -207,7 +207,7 @@ # RWLOCK_NOINLINE forces rwlock operations to call functions to perform each # operation rather than inlining the simple cases. This can be used to # shrink the size of the kernel text segment. Note that this behavior is -# already implied by the INVARIANT_SUPPORT, INVARIANTS, KTR, MUTEX_PROFILING, +# already implied by the INVARIANT_SUPPORT, INVARIANTS, KTR, LOCK_PROFILING, # and WITNESS options. options RWLOCK_NOINLINE @@ -241,8 +241,7 @@ options WITNESS_KDB options WITNESS_SKIPSPIN -# LOCK_PROFILING - Profiling locks. See -# MUTEX_PROFILING(9) for details. +# LOCK_PROFILING - Profiling locks. See LOCK_PROFILING(9) for details. options LOCK_PROFILING # Set the number of buffers and the hash size. The hash size MUST be larger # than the number of buffers. Hash size should be prime. ==== //depot/projects/ia64/sys/dev/usb/usb_quirks.c#15 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.54 2006/10/07 19:42:45 flz Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.55 2006/11/11 23:53:25 flz Exp $"); #include #include @@ -88,6 +88,7 @@ { USB_VENDOR_HP, USB_PRODUCT_HP_810C, ANY, { UQ_BROKEN_BIDIR }}, { USB_VENDOR_HP, USB_PRODUCT_HP_830C, ANY, { UQ_BROKEN_BIDIR }}, { USB_VENDOR_HP, USB_PRODUCT_HP_1220C, ANY, { UQ_BROKEN_BIDIR }}, + { USB_VENDOR_XEROX, USB_PRODUCT_XEROX_WCM15, ANY, { UQ_BROKEN_BIDIR }}, /* YAMAHA router's ucdDevice is the version of farmware and often changes. */ { USB_VENDOR_YAMAHA, USB_PRODUCT_YAMAHA_RTA54I, ANY, { UQ_ASSUME_CM_OVER_DATA }}, ==== //depot/projects/ia64/sys/dev/usb/usbdevs#78 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/usb/usbdevs,v 1.276 2006/10/31 02:27:24 kevlo Exp $ +$FreeBSD: src/sys/dev/usb/usbdevs,v 1.277 2006/11/11 23:53:25 flz Exp $ /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */ /*- @@ -417,6 +417,7 @@ vendor ALATION 0x0910 Alation vendor CONCORDCAMERA 0x0919 Concord Camera vendor GOHUBS 0x0921 GoHubs +vendor XEROX 0x0924 Xerox vendor BIOMETRIC 0x0929 American Biometric vendor TOSHIBA 0x0930 Toshiba vendor PLEXTOR 0x093b Plextor @@ -1690,6 +1691,9 @@ /* Windbond Electronics */ product WINBOND UH104 0x5518 4-port USB Hub +/* Xerox products */ +product XEROX WCM15 0xffef WorkCenter M15 + /* Xirlink products */ product XIRLINK PCCAM 0x8080 IBM PC Camera ==== //depot/projects/ia64/sys/kern/init_main.c#59 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.269 2006/10/26 21:42:19 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.270 2006/11/12 11:48:37 davidxu Exp $"); #include "opt_ddb.h" #include "opt_init_path.h" @@ -447,6 +447,7 @@ #else td->td_pri_class = PRI_TIMESHARE; td->td_user_pri = PUSER; + td->td_base_user_pri = PUSER; #endif td->td_priority = PVM; td->td_base_pri = PUSER; ==== //depot/projects/ia64/sys/kern/init_sysent.c#57 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.227 2006/11/03 18:57:49 rrs Exp $ + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.228 2006/11/11 22:01:25 ru Exp $ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.231 2006/11/03 15:23:14 rrs Exp */ ==== //depot/projects/ia64/sys/kern/kern_idle.c#20 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_idle.c,v 1.44 2006/10/26 21:42:19 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_idle.c,v 1.45 2006/11/12 03:18:22 davidxu Exp $"); #include #include @@ -122,12 +122,7 @@ #ifdef SMP idle_cpus_mask &= ~mycpu; #endif -#ifdef KSE mi_switch(SW_VOL, NULL); -#else - if ((td = choosethread()) != curthread) - mi_switch(SW_VOL, td); -#endif #ifdef SMP idle_cpus_mask |= mycpu; #endif ==== //depot/projects/ia64/sys/kern/kern_lock.c#34 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_lock.c,v 1.101 2006/11/11 03:18:06 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_lock.c,v 1.102 2006/11/12 03:30:01 kmacy Exp $"); #include "opt_ddb.h" #include "opt_global.h" @@ -166,6 +166,8 @@ thr = td; lock_profile_waitstart(&waitstart); + + lkp->lk_object.lo_type = "lockmgr"; if ((flags & LK_INTERNAL) == 0) mtx_lock(lkp->lk_interlock); CTR6(KTR_LOCK, ==== //depot/projects/ia64/sys/kern/posix4_mib.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/posix4_mib.c,v 1.11 2006/11/11 16:19:11 trhodes Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/posix4_mib.c,v 1.12 2006/11/12 03:34:03 trhodes Exp $"); #include #include @@ -39,6 +39,7 @@ #include #include #include +#include #include static int facility[CTL_P1003_1B_MAXID - 1]; ==== //depot/projects/ia64/sys/kern/subr_lock.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_lock.c,v 1.8 2006/11/11 07:38:48 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_lock.c,v 1.9 2006/11/12 03:30:01 kmacy Exp $"); #include "opt_ddb.h" #include "opt_mprof.h" @@ -128,16 +128,14 @@ retry_sbufops: sb = sbuf_new(NULL, NULL, LPROF_SBUF_SIZE * multiplier, SBUF_FIXEDLEN); sbuf_printf(sb, "\n%6s %12s %12s %11s %5s %5s %12s %12s %s\n", - "max", "total", "wait_total", "count", "avg", "wait_avg", "cnt_hold", "cn\ -t_lock", "name"); + "max", "total", "wait_total", "count", "avg", "wait_avg", "cnt_hold", "cnt_lock", "name"); for (i = 0; i < LPROF_HASH_SIZE; ++i) { if (lprof_buf[i].name == NULL) continue; for (p = lprof_buf[i].file; p != NULL && strncmp(p, "../", 3) == 0; p += 3) /* nothing */ ; - sbuf_printf(sb, "%6ju %12ju %12ju %11ju %5ju %5ju %12ju %12ju %s:%d (\ -%s)\n", + sbuf_printf(sb, "%6ju %12ju %12ju %11ju %5ju %5ju %12ju %12ju %s:%d (%s:%s)\n", lprof_buf[i].cnt_max / 1000, lprof_buf[i].cnt_tot / 1000, lprof_buf[i].cnt_wait / 1000, @@ -148,7 +146,9 @@ lprof_buf[i].cnt_wait / (lprof_buf[i].cnt_cur * 1000), lprof_buf[i].cnt_contest_holding, lprof_buf[i].cnt_contest_locking, - p, lprof_buf[i].line, lprof_buf[i].name); + p, lprof_buf[i].line, + lprof_buf[i].type, + lprof_buf[i].name); if (sbuf_overflowed(sb)) { sbuf_delete(sb); multiplier++; @@ -210,7 +210,7 @@ /* Initialize the lock object. */ lock->lo_name = name; - lock->lo_type = type != NULL ? type : name; + lock->lo_type = type != NULL ? type : class->lc_name; lock->lo_flags |= flags | LO_INITIALIZED; LOCK_LOG_INIT(lock, 0); WITNESS_INIT(lock); @@ -303,14 +303,15 @@ ++lock_prof_rejected; return; } - mpp->file = p; - mpp->line = l->lpo_lineno; - mpp->name = lo->lo_name; - mpp->namehash = l->lpo_namehash; - if (collision) - ++lock_prof_collisions; + mpp->file = p; + mpp->line = l->lpo_lineno; + mpp->name = lo->lo_name; + mpp->type = lo->lo_type; + mpp->namehash = l->lpo_namehash; + if (collision) + ++lock_prof_collisions; /* We might have raced someone else but who cares, they'll try again next time */ - ++lock_prof_records; + ++lock_prof_records; } LPROF_LOCK(hash); mpp->cnt_wait += waittime; @@ -364,12 +365,14 @@ ++lock_prof_rejected; return; } - mpp->file = p; - mpp->line = l->lpo_lineno; - mpp->name = lo->lo_name; - mpp->namehash = l->lpo_namehash; - if (collision) - ++lock_prof_collisions; + mpp->file = p; + mpp->line = l->lpo_lineno; + mpp->namehash = l->lpo_namehash; + mpp->type = lo->lo_type; + mpp->name = lo->lo_name; + + if (collision) + ++lock_prof_collisions; /* * We might have raced someone else but who cares, ==== //depot/projects/ia64/sys/kern/syscalls.c#58 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.211 2006/11/03 18:57:49 rrs Exp $ + * $FreeBSD: src/sys/kern/syscalls.c,v 1.212 2006/11/11 22:01:25 ru Exp $ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.231 2006/11/03 15:23:14 rrs Exp */ ==== //depot/projects/ia64/sys/kern/systrace_args.c#4 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.11 2006/11/03 18:57:49 rrs Exp $ + * $FreeBSD: src/sys/kern/systrace_args.c,v 1.12 2006/11/11 22:01:25 ru Exp $ * This file is part of the DTrace syscall provider. */ ==== //depot/projects/ia64/sys/netinet/sctp_constants.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_constants.h,v 1.17 2005/03/06 16:04:17 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_constants.h,v 1.2 2006/11/11 15:59:01 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_constants.h,v 1.3 2006/11/11 22:44:12 rrs Exp $"); #ifndef __sctp_constants_h__ #define __sctp_constants_h__ @@ -307,6 +307,7 @@ #define SCTP_OUTPUT_FROM_EARLY_FR_TMR 11 #define SCTP_OUTPUT_FROM_STRRST_REQ 12 #define SCTP_OUTPUT_FROM_USR_RCVD 13 +#define SCTP_OUTPUT_FROM_COOKIE_ACK 14 /* SCTP chunk types are moved sctp.h for application (NAT, FW) use */ /* align to 32-bit sizes */ ==== //depot/projects/ia64/sys/netinet/sctp_input.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_input.c,v 1.27 2005/03/06 16:04:17 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_input.c,v 1.7 2006/11/11 15:59:01 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_input.c,v 1.8 2006/11/11 22:44:12 rrs Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -701,7 +701,7 @@ if (!TAILQ_EMPTY(&asoc->send_queue) || !TAILQ_EMPTY(&asoc->sent_queue) || !TAILQ_EMPTY(&asoc->out_wheel)) { - sctp_report_all_outbound(stcb); + sctp_report_all_outbound(stcb, 0); } /* stop the timer */ sctp_timer_stop(SCTP_TIMER_TYPE_SHUTDOWN, stcb->sctp_ep, stcb, net); @@ -1092,6 +1092,7 @@ int chk_length; int init_offset, initack_offset; int retval; + int spec_flag = 0; /* I know that the TCB is non-NULL from the caller */ asoc = &stcb->asoc; @@ -1271,18 +1272,31 @@ sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL); } - /* - * FIX? Should we go out, in this case (if the seq numbers - * changed on the peer) and set any data to RETRANSMIT? - */ asoc->my_rwnd = ntohl(initack_cp->init.a_rwnd); - asoc->pre_open_streams = - ntohs(initack_cp->init.num_outbound_streams); + asoc->pre_open_streams = ntohs(initack_cp->init.num_outbound_streams); + + /* Note last_cwr_tsn? where is this used? */ asoc->last_cwr_tsn = asoc->init_seq_number - 1; - asoc->asconf_seq_in = asoc->last_acked_seq = asoc->init_seq_number - 1; - asoc->str_reset_seq_in = asoc->init_seq_number; - asoc->advanced_peer_ack_point = asoc->last_acked_seq; + if (ntohl(init_cp->init.initiate_tag) != asoc->peer_vtag) { + /* + * Ok the peer probably discarded our data (if we + * echoed a cookie+data). So anything on the + * sent_queue should be marked for retransmit, we + * may not get something to kick us so it COULD + * still take a timeout to move these.. but it can't + * hurt to mark them. + */ + struct sctp_tmit_chunk *chk; + + TAILQ_FOREACH(chk, &stcb->asoc.sent_queue, sctp_next) { + if (chk->sent < SCTP_DATAGRAM_RESEND) { + chk->sent = SCTP_DATAGRAM_RESEND; + stcb->asoc.sent_queue_retran_cnt++; + spec_flag++; + } + } + } /* process the INIT info (peer's info) */ retval = sctp_process_init(init_cp, stcb, net); if (retval < 0) { @@ -1316,6 +1330,16 @@ } sctp_stop_all_cookie_timers(stcb); sctp_send_cookie_ack(stcb); + if (spec_flag) { + /* + * only if we have retrans set do we do this. What + * this call does is get only the COOKIE-ACK out and + * then when we return the normal call to + * sctp_chunk_output will get the retrans out behind + * this. + */ + sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_COOKIE_ACK); + } return (stcb); } if ((ntohl(initack_cp->init.initiate_tag) != asoc->my_vtag && @@ -1336,7 +1360,8 @@ /* send up all the data */ - sctp_report_all_outbound(stcb); + SCTP_TCB_SEND_LOCK(stcb); + sctp_report_all_outbound(stcb, 1); /* process the INIT-ACK info (my info) */ asoc->my_vtag = ntohl(initack_cp->init.initiate_tag); @@ -1376,6 +1401,7 @@ memset(asoc->mapping_array, 0, asoc->mapping_array_size); /* process the INIT info (peer's info) */ + SCTP_TCB_SEND_UNLOCK(stcb); retval = sctp_process_init(init_cp, stcb, net); if (retval < 0) { return (NULL); @@ -2356,7 +2382,7 @@ if (!TAILQ_EMPTY(&asoc->send_queue) || !TAILQ_EMPTY(&asoc->sent_queue) || !TAILQ_EMPTY(&asoc->out_wheel)) { - sctp_report_all_outbound(stcb); + sctp_report_all_outbound(stcb, 0); } } /* stop the timer */ ==== //depot/projects/ia64/sys/netinet/sctp_output.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_output.c,v 1.46 2005/03/06 16:04:17 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_output.c,v 1.5 2006/11/11 15:59:01 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_output.c,v 1.6 2006/11/11 22:44:12 rrs Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -7164,7 +7164,6 @@ un_sent = (stcb->asoc.total_output_queue_size - stcb->asoc.total_flight); - if ((un_sent <= 0) && (TAILQ_EMPTY(&asoc->control_send_queue)) && (asoc->sent_queue_retran_cnt == 0)) { @@ -7184,7 +7183,17 @@ * Ok, it is retransmission time only, we send out only ONE * packet with a single call off to the retran code. */ - if (from_where != SCTP_OUTPUT_FROM_HB_TMR) { + if (from_where == SCTP_OUTPUT_FROM_COOKIE_ACK) { + /* + * Special hook for handling cookiess discarded by + * peer that carried data. Send cookie-ack only and + * then the next call with get the retran's. + */ + (void)sctp_med_chunk_output(inp, stcb, asoc, &num_out, &reason_code, 1, + &cwnd_full, from_where, + &now, &now_filled, frag_point); + return (0); + } else if (from_where != SCTP_OUTPUT_FROM_HB_TMR) { /* if its not from a HB then do it */ ret = sctp_chunk_retransmission(inp, stcb, asoc, &num_out, &now, &now_filled); } else { ==== //depot/projects/ia64/sys/netinet/sctputil.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctputil.c,v 1.37 2005/03/07 23:26:09 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.6 2006/11/11 15:59:01 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.7 2006/11/11 22:44:12 rrs Exp $"); #include "opt_ipsec.h" @@ -3242,12 +3242,13 @@ } void -sctp_report_all_outbound(struct sctp_tcb *stcb) +sctp_report_all_outbound(struct sctp_tcb *stcb, int holds_lock) { struct sctp_association *asoc; struct sctp_stream_out *outs; struct sctp_tmit_chunk *chk; struct sctp_stream_queue_pending *sp; + int i; asoc = &stcb->asoc; @@ -3257,9 +3258,12 @@ return; } /* now through all the gunk freeing chunks */ - - TAILQ_FOREACH(outs, &asoc->out_wheel, next_spoke) { - /* now clean up any chunks here */ + if (holds_lock == 0) + SCTP_TCB_SEND_LOCK(stcb); + for (i = 0; i < stcb->asoc.streamoutcnt; i++) { + /* For each stream */ + outs = &stcb->asoc.strmout[i]; + /* clean up any sends there */ stcb->asoc.locked_on_sending = NULL; sp = TAILQ_FIRST(&outs->outqueue); while (sp) { @@ -3338,6 +3342,8 @@ chk = TAILQ_FIRST(&asoc->sent_queue); } } + if (holds_lock == 0) + SCTP_TCB_SEND_UNLOCK(stcb); } void @@ -3350,7 +3356,7 @@ return; } /* Tell them we lost the asoc */ - sctp_report_all_outbound(stcb); + sctp_report_all_outbound(stcb, 1); if ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL) || ((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) && (stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_CONNECTED))) { ==== //depot/projects/ia64/sys/netinet/sctputil.h#3 (text+ko) ==== @@ -32,7 +32,7 @@ /* $KAME: sctputil.h,v 1.15 2005/03/06 16:04:19 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctputil.h,v 1.3 2006/11/11 15:59:01 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctputil.h,v 1.4 2006/11/11 22:44:12 rrs Exp $"); #ifndef __sctputil_h__ #define __sctputil_h__ @@ -131,7 +131,7 @@ void sctp_stop_timers_for_shutdown(struct sctp_tcb *); -void sctp_report_all_outbound(struct sctp_tcb *); +void sctp_report_all_outbound(struct sctp_tcb *, int); int sctp_expand_mapping_array(struct sctp_association *); ==== //depot/projects/ia64/sys/powerpc/powerpc/pmap_dispatch.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/pmap_dispatch.c,v 1.7 2006/08/01 19:06:05 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/pmap_dispatch.c,v 1.8 2006/11/11 20:57:52 alc Exp $"); /* * Dispatch MI pmap calls to the appropriate MMU implementation @@ -68,8 +68,6 @@ struct msgbuf *msgbufp; vm_offset_t msgbuf_phys; -vm_offset_t avail_start; -vm_offset_t avail_end; vm_offset_t kernel_vm_end; vm_offset_t phys_avail[PHYS_AVAIL_SZ]; vm_offset_t virtual_avail; ==== //depot/projects/ia64/sys/sun4v/sun4v/pmap.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/pmap.c,v 1.4 2006/11/03 07:27:55 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/pmap.c,v 1.5 2006/11/12 01:21:15 kmacy Exp $"); #include "opt_kstack_pages.h" #include "opt_msgbuf.h" @@ -140,7 +140,7 @@ static int permanent_mappings = 0; static uint64_t nucleus_memory; -static uint64_t nucleus_mappings[2]; +static uint64_t nucleus_mappings[4]; /* * Kernel pmap. */ @@ -438,8 +438,6 @@ int i, sz, j; uint64_t tsb_8k_size, tsb_4m_size, error, physmem_tunable; - - if ((vmem = OF_finddevice("/virtual-memory")) == -1) panic("pmap_bootstrap: finddevice /virtual-memory"); if ((sz = OF_getproplen(vmem, "translations")) == -1) @@ -454,13 +452,14 @@ nucleus_memory_start = 0; CTR0(KTR_PMAP, "pmap_bootstrap: translations"); qsort(translations, sz, sizeof (*translations), om_cmp); + for (i = 0; i < sz; i++) { KDPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", translations[i].om_size, translations[i].om_start, translations[i].om_tte); if (translations[i].om_size == PAGE_SIZE_4M && - (translations[i].om_start == KERNBASE || - translations[i].om_start == KERNBASE + PAGE_SIZE_4M)) { + (translations[i].om_start >= KERNBASE && + translations[i].om_start <= KERNBASE + 3*PAGE_SIZE_4M)) { KDPRINTF("mapping permanent translation\n"); pa = TTE_GET_PA(translations[i].om_tte); error = hv_mmu_map_perm_addr((char *)translations[i].om_start, @@ -515,14 +514,14 @@ * Is kernel memory at the beginning of range? */ if (nucleus_memory_start == mra[i].mr_start) { - mra[i].mr_start += 2*PAGE_SIZE_4M; - mra[i].mr_size -= 2*PAGE_SIZE_4M; + mra[i].mr_start += nucleus_memory; + mra[i].mr_size -= nucleus_memory; } /* * Is kernel memory at the end of range? */ - if (nucleus_memory_start == (start + size - 2*PAGE_SIZE_4M)) - mra[i].mr_size -= 2*PAGE_SIZE_4M; + if (nucleus_memory_start == (start + size - nucleus_memory)) + mra[i].mr_size -= nucleus_memory; /* * Is kernel memory in the middle somewhere? @@ -536,15 +535,15 @@ break; } phys_avail[j+1] = nucleus_memory_start; - size = size - firstsize - 2*PAGE_SIZE_4M; - mra[i].mr_start = nucleus_memory_start + 2*PAGE_SIZE_4M; + size = size - firstsize - nucleus_memory; + mra[i].mr_start = nucleus_memory_start + nucleus_memory; mra[i].mr_size = size; - physsz += firstsize + 2*PAGE_SIZE_4M; + physsz += firstsize + nucleus_memory; j += 2; } if (mra[i].mr_size < PAGE_SIZE_4M) continue; - if ((mra[i].mr_start & PAGE_MASK_4M) && (mra[i].mr_size < 2*PAGE_SIZE_4M)) + if ((mra[i].mr_start & PAGE_MASK_4M) && (mra[i].mr_size < nucleus_memory)) continue; if (mra[i].mr_start & PAGE_MASK_4M) { uint64_t newstart, roundup; @@ -742,7 +741,7 @@ pa = phys_avail[i]; } while (pa != 0); - for (i = 0; i < 2; i++) { + for (i = 0; i < permanent_mappings; i++) { pa = nucleus_mappings[i]; tsb_assert_invalid(&kernel_td[TSB4M_INDEX], TLB_PHYS_TO_DIRECT(pa)); tsb_set_tte_real(&kernel_td[TSB4M_INDEX], TLB_PHYS_TO_DIRECT(pa), ==== //depot/projects/ia64/sys/sys/lock_profile.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/lock_profile.h,v 1.4 2006/11/11 07:52:38 kmacy Exp $ + * $FreeBSD: src/sys/sys/lock_profile.h,v 1.5 2006/11/12 05:16:28 kmacy Exp $ */ @@ -47,6 +47,7 @@ struct lock_prof { const char *name; + const char *type; const char *file; u_int namehash; int line; ==== //depot/projects/ia64/sys/sys/syscall.h#57 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * >>> TRUNCATED FOR MAIL (1000 lines) <<<