From owner-p4-projects@FreeBSD.ORG Sun Sep 5 01:06:36 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 752B516A4D0; Sun, 5 Sep 2004 01:06:36 +0000 (GMT) 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 4964816A4CE for ; Sun, 5 Sep 2004 01:06:36 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 32EF243D48 for ; Sun, 5 Sep 2004 01:06:36 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8516afr006340 for ; Sun, 5 Sep 2004 01:06:36 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8516Zgw006337 for perforce@freebsd.org; Sun, 5 Sep 2004 01:06:35 GMT (envelope-from julian@freebsd.org) Date: Sun, 5 Sep 2004 01:06:35 GMT Message-Id: <200409050106.i8516Zgw006337@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61016 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Sep 2004 01:06:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=61016 Change 61016 by julian@julian_ref on 2004/09/05 01:06:33 IFC@61015 Affected files ... .. //depot/projects/nsched/sys/fs/autofs/autofs.h#2 integrate .. //depot/projects/nsched/sys/fs/autofs/autofs_util.c#3 integrate .. //depot/projects/nsched/sys/fs/autofs/autofs_vnops.c#5 integrate Differences ... ==== //depot/projects/nsched/sys/fs/autofs/autofs.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/fs/autofs/autofs.h,v 1.1 2004/08/31 16:26:00 alfred Exp $ + * $FreeBSD: src/sys/fs/autofs/autofs.h,v 1.2 2004/09/04 18:09:47 alfred Exp $ * $Id: autofs.h,v 1.20 2004/08/31 08:49:56 bright Exp $ */ #ifndef __AUTOFS_H__ @@ -332,10 +332,10 @@ int a_ref; /* refcount */ uid_t a_uid; gid_t a_gid; - struct timeval a_birthtime; - struct timeval a_atime; - struct timeval a_mtime; - struct timeval a_ctime; + struct timespec a_birthtime; + struct timespec a_atime; + struct timespec a_mtime; + struct timespec a_ctime; unsigned long a_sysflags; /* sys flags: IMMUTABLE, APPEND, etc. */ union { struct autofs_dir_node d; @@ -410,8 +410,8 @@ int autofs_request(struct vnode *dp, struct vnode *vp, thread_t *td, const char *nameptr, size_t namelen, enum autoreqop op, void **pp, size_t *plen, off_t off, int *eofp); -int autofs_update(struct vnode *vp, struct timeval *access, - struct timeval *modify, int waitfor); +int autofs_update(struct vnode *vp, struct timespec *access, + struct timespec *modify, int waitfor); int autofs_suser(thread_t *td, struct ucred *cred, int flag); #ifdef FREEBSD_4 ==== //depot/projects/nsched/sys/fs/autofs/autofs_util.c#3 (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/fs/autofs/autofs_util.c,v 1.2 2004/09/02 20:44:55 alfred Exp $ + * $FreeBSD: src/sys/fs/autofs/autofs_util.c,v 1.3 2004/09/04 18:09:47 alfred Exp $ * $Id: autofs_util.c,v 1.19 2004/08/31 08:49:56 bright Exp $ */ #include @@ -249,7 +249,7 @@ int error; struct autofsnode *an, *parent_an; struct vnode *vp; - struct timeval now; + struct timespec now; char *nodename; size_t nodenamelen; struct autofsmount *amp = VFSTOAFS(mp); @@ -300,7 +300,7 @@ an->a_ino = ino; - getmicrotime(&now); + getnanotime(&now); an->a_birthtime = now; an->a_atime = now; an->a_mtime = now; ==== //depot/projects/nsched/sys/fs/autofs/autofs_vnops.c#5 (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/fs/autofs/autofs_vnops.c,v 1.4 2004/09/03 16:05:44 des Exp $ + * $FreeBSD: src/sys/fs/autofs/autofs_vnops.c,v 1.6 2004/09/04 18:10:56 alfred Exp $ * $Id: autofs_vnops.c,v 1.21 2004/08/31 08:49:56 bright Exp $ */ #include @@ -168,11 +168,13 @@ } vap->va_blocksize = 512; vap->va_atime.tv_sec = an->a_atime.tv_sec; - vap->va_atime.tv_nsec = an->a_atime.tv_usec * 1000; + vap->va_atime.tv_nsec = an->a_atime.tv_nsec; vap->va_mtime.tv_sec = an->a_mtime.tv_sec; - vap->va_mtime.tv_nsec = an->a_mtime.tv_usec * 1000; + vap->va_mtime.tv_nsec = an->a_mtime.tv_nsec; vap->va_ctime.tv_sec = an->a_ctime.tv_sec; - vap->va_ctime.tv_nsec = an->a_ctime.tv_usec * 1000; + vap->va_ctime.tv_nsec = an->a_ctime.tv_nsec; + vap->va_birthtime.tv_sec = an->a_birthtime.tv_sec; + vap->va_birthtime.tv_nsec = an->a_birthtime.tv_nsec; vap->va_gen = an->a_gen; vap->va_flags = an->a_sysflags; vap->va_bytes = vap->va_blocksize * @@ -306,7 +308,7 @@ struct vattr *vap = ap->a_vap; struct ucred *cred = ap->a_cred; thread_t *td = AP_THREAD(ap); - struct timeval atimeval, mtimeval; + struct timespec atimespec, mtimespec; int error; /* @@ -397,11 +399,11 @@ an->a_nodeflags |= IN_ACCESS; if (vap->va_mtime.tv_sec != VNOVAL) an->a_nodeflags |= IN_CHANGE | IN_UPDATE; - atimeval.tv_sec = vap->va_atime.tv_sec; - atimeval.tv_usec = vap->va_atime.tv_nsec / 1000; - mtimeval.tv_sec = vap->va_mtime.tv_sec; - mtimeval.tv_usec = vap->va_mtime.tv_nsec / 1000; - error = autofs_update(vp, &atimeval, &mtimeval, 0); + atimespec.tv_sec = vap->va_atime.tv_sec; + atimespec.tv_nsec = vap->va_atime.tv_nsec; + mtimespec.tv_sec = vap->va_mtime.tv_sec; + mtimespec.tv_nsec = vap->va_mtime.tv_nsec; + error = autofs_update(vp, &atimespec, &mtimespec, 0); if (error) goto out; } @@ -1208,14 +1210,14 @@ int autofs_update(vp, access, modify, waitfor) struct vnode *vp; - struct timeval *access; - struct timeval *modify; + struct timespec *access; + struct timespec *modify; int waitfor; { struct autofsnode *an = VTOA(vp); - struct timeval now; + struct timespec now; - getmicrotime(&now); + getnanotime(&now); if (access == NULL) access = &now; if (modify == NULL) From owner-p4-projects@FreeBSD.ORG Sun Sep 5 16:41:40 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C7FF516A4D0; Sun, 5 Sep 2004 16:41:39 +0000 (GMT) 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 861DB16A4CE for ; Sun, 5 Sep 2004 16:41:39 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5CD5843D2F for ; Sun, 5 Sep 2004 16:41:39 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i85Gfd3B035078 for ; Sun, 5 Sep 2004 16:41:39 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i85Gfcub035075 for perforce@freebsd.org; Sun, 5 Sep 2004 16:41:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 5 Sep 2004 16:41:38 GMT Message-Id: <200409051641.i85Gfcub035075@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 61051 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Sep 2004 16:41:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=61051 Change 61051 by rwatson@rwatson_tislabs on 2004/09/05 16:41:36 Integrate netperf_socket: - Lots of KSE/scheduler cleanup foo. - PREEMPTION now a kernel option. - ucycom driver. - More autofs. - if_re locking and polling fixes, tagged mpsafe. - pfind() returning PRS_NEW workaround removed from pseudofs. - 4BSD now does IPI wakeups of idle cpus when there is work to do. - Giant pushdown in VM for page zeroing, etc. - ifi_epoch goes away again. Netperf-related: - sopoll() race likely corrected by expanding coverage of socket buffer locks over test and set, not just set. - AIO marked as requiring Giant over the network stack. - ng_ksocket use of curthread/thread0 fixed. - IPv6 raw ip socket rlock/runlock bug fix. - KAME IPSEC trimmage of key_int_random and friends. Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/machdep.c#8 integrate .. //depot/projects/netperf_socket/sys/alpha/include/param.h#5 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/machdep.c#17 integrate .. //depot/projects/netperf_socket/sys/amd64/include/param.h#5 integrate .. //depot/projects/netperf_socket/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/conf/NOTES#41 integrate .. //depot/projects/netperf_socket/sys/conf/files#52 integrate .. //depot/projects/netperf_socket/sys/conf/options#30 integrate .. //depot/projects/netperf_socket/sys/ddb/db_ps.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/Osd/OsdDebug.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-all.c#18 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-all.h#12 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-chipset.c#20 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-lowlevel.c#17 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-pci.h#8 integrate .. //depot/projects/netperf_socket/sys/dev/iir/iir.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/re/if_re.c#13 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ucycom.c#1 branch .. //depot/projects/netperf_socket/sys/dev/usb/umass.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/usb/uplcom.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/usb/usb_quirks.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/usb/usbdevs#24 integrate .. //depot/projects/netperf_socket/sys/dev/usb/uscanner.c#7 integrate .. //depot/projects/netperf_socket/sys/fs/autofs/autofs.h#2 integrate .. //depot/projects/netperf_socket/sys/fs/autofs/autofs_util.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/autofs/autofs_vfsops.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/autofs/autofs_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/pseudofs/pseudofs_vnops.c#5 integrate .. //depot/projects/netperf_socket/sys/i386/i386/machdep.c#13 integrate .. //depot/projects/netperf_socket/sys/i386/include/param.h#6 integrate .. //depot/projects/netperf_socket/sys/ia64/conf/GENERIC#10 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/machdep.c#11 integrate .. //depot/projects/netperf_socket/sys/isofs/cd9660/cd9660_vnops.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/init_main.c#9 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exec.c#15 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exit.c#19 integrate .. //depot/projects/netperf_socket/sys/kern/kern_fork.c#18 integrate .. //depot/projects/netperf_socket/sys/kern/kern_intr.c#11 integrate .. //depot/projects/netperf_socket/sys/kern/kern_kse.c#14 integrate .. //depot/projects/netperf_socket/sys/kern/kern_mutex.c#12 integrate .. //depot/projects/netperf_socket/sys/kern/kern_proc.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/kern_shutdown.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/kern_switch.c#13 integrate .. //depot/projects/netperf_socket/sys/kern/kern_synch.c#17 integrate .. //depot/projects/netperf_socket/sys/kern/kern_thr.c#12 integrate .. //depot/projects/netperf_socket/sys/kern/kern_thread.c#26 integrate .. //depot/projects/netperf_socket/sys/kern/sched_4bsd.c#15 integrate .. //depot/projects/netperf_socket/sys/kern/sched_ule.c#21 integrate .. //depot/projects/netperf_socket/sys/kern/subr_smp.c#12 integrate .. //depot/projects/netperf_socket/sys/kern/sysv_shm.c#7 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_socket.c#40 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_aio.c#8 integrate .. //depot/projects/netperf_socket/sys/modules/Makefile#20 integrate .. //depot/projects/netperf_socket/sys/modules/cs/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/fdc/Makefile#7 integrate .. //depot/projects/netperf_socket/sys/modules/linprocfs/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/msdosfs/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/nfs4client/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/nfsclient/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/owi/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/smbfs/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/modules/ucycom/Makefile#1 branch .. //depot/projects/netperf_socket/sys/net/if.c#19 integrate .. //depot/projects/netperf_socket/sys/net/if.h#8 integrate .. //depot/projects/netperf_socket/sys/net/netisr.c#5 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_ksocket.c#10 integrate .. //depot/projects/netperf_socket/sys/netinet/ip_divert.c#14 integrate .. //depot/projects/netperf_socket/sys/netinet/raw_ip.c#15 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_output.c#11 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_subr.c#20 integrate .. //depot/projects/netperf_socket/sys/netinet/udp_usrreq.c#15 integrate .. //depot/projects/netperf_socket/sys/netinet6/raw_ip6.c#8 integrate .. //depot/projects/netperf_socket/sys/netkey/key.c#4 integrate .. //depot/projects/netperf_socket/sys/pc98/conf/NOTES#17 integrate .. //depot/projects/netperf_socket/sys/pc98/i386/machdep.c#11 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/machdep.c#7 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/machdep.c#8 integrate .. //depot/projects/netperf_socket/sys/sys/proc.h#26 integrate .. //depot/projects/netperf_socket/sys/sys/sched.h#7 integrate .. //depot/projects/netperf_socket/sys/sys/smp.h#6 integrate .. //depot/projects/netperf_socket/sys/vm/vm_fault.c#10 integrate .. //depot/projects/netperf_socket/sys/vm/vm_glue.c#12 integrate .. //depot/projects/netperf_socket/sys/vm/vm_map.c#23 integrate .. //depot/projects/netperf_socket/sys/vm/vm_meter.c#4 integrate .. //depot/projects/netperf_socket/sys/vm/vm_zeroidle.c#6 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/machdep.c#8 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.222 2004/07/10 22:35:05 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.223 2004/09/05 02:09:51 julian Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -846,7 +846,7 @@ } - proc_linkup(&proc0, &ksegrp0, &kse0, &thread0); + proc_linkup(&proc0, &ksegrp0, &thread0); /* * Init mapping for u page(s) for proc 0 */ ==== //depot/projects/netperf_socket/sys/alpha/include/param.h#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/param.h,v 1.35 2004/08/01 14:31:45 scottl Exp $ */ +/* $FreeBSD: src/sys/alpha/include/param.h,v 1.36 2004/09/02 18:59:14 scottl Exp $ */ /* From: NetBSD: param.h,v 1.20 1997/09/19 13:52:53 leo Exp */ /* @@ -113,11 +113,6 @@ #define SSIZE 1 /* initial stack size/NBPG */ #define SINCR 1 /* increment of stack/NBPG */ -/* PREEMPTION exposes scheduler bugs that need to be fixed. */ -#if 0 -#define PREEMPTION -#endif - #ifndef KSTACK_PAGES #define KSTACK_PAGES 2 /* pages of kstack (with pcb) */ #endif ==== //depot/projects/netperf_socket/sys/amd64/amd64/machdep.c#17 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.619 2004/08/24 00:16:43 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.620 2004/09/05 02:09:52 julian Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1116,7 +1116,7 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ - proc_linkup(&proc0, &ksegrp0, &kse0, &thread0); + proc_linkup(&proc0, &ksegrp0, &thread0); preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/netperf_socket/sys/amd64/include/param.h#5 (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.13 2004/08/01 14:31:45 scottl Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.14 2004/09/02 18:59:14 scottl Exp $ */ /* @@ -119,11 +119,6 @@ #define NBPML4 (1ul< -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.2 2004/06/17 17:52:12 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.3 2004/09/05 02:09:52 julian Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -370,7 +370,7 @@ /* Set stack for exception handlers */ - proc_linkup(&proc0, &ksegrp0, &kse0, &thread0); + proc_linkup(&proc0, &ksegrp0, &thread0); proc0.p_uarea = (struct user *) proc0_uarea.pv_va; thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) ==== //depot/projects/netperf_socket/sys/conf/NOTES#41 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1271 2004/09/01 01:19:51 brooks Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1275 2004/09/03 06:32:11 ru Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -196,12 +196,16 @@ # SMP Debugging Options: # +# PREEMPTION allows the threads that are in the kernel to be preempted +# by higher priority threads. It helps with interactivity and +# allows interrupt threads to run sooner rather than waiting. +# WARNING! Only tested on alpha, amd64, and i386. # FULL_PREEMPTION instructs the kernel to preempt non-realtime kernel # threads. It sole use is to expose race conditions and other # bugs during development. Enabling this option will reduce # performance and increase the frequency of kernel panics by # design. If you aren't sure that you need it then you don't. -# DON'T TURN THIS ON. +# Relies on the PREEMPTION option. DON'T TURN THIS ON. # MUTEX_DEBUG enables various extra assertions in the mutex code. # SLEEPQUEUE_PROFILING enables rudimentary profiling of the hash table # used to hold active sleep queues. @@ -213,6 +217,7 @@ # a lock hierarchy violation occurs or if locks are held when going to # sleep. # WITNESS_SKIPSPIN disables the witness checks on spin mutexes. +options PREEMPTION options FULL_PREEMPTION options MUTEX_DEBUG options WITNESS @@ -224,8 +229,8 @@ options MUTEX_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. -options MPROF_BUFFERS="1536" -options MPROF_HASH_SIZE="1543" +options MPROF_BUFFERS="1536" +options MPROF_HASH_SIZE="1543" # Profiling for internal hash tables. options SLEEPQUEUE_PROFILING @@ -634,7 +639,7 @@ options IPFIREWALL_VERBOSE #enable logging to syslogd(8) options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default -options IPFIREWALL_FORWARD #packet destination changes +options IPFIREWALL_FORWARD #packet destination changes options IPV6FIREWALL #firewall for IPv6 options IPV6FIREWALL_VERBOSE options IPV6FIREWALL_VERBOSE_LIMIT=100 @@ -739,6 +744,7 @@ options NFSCLIENT #Network File System client # The rest are optional: +options AUTOFS #Auto File System options CD9660 #ISO 9660 filesystem options FDESCFS #File descriptor filesystem options HPFS #OS/2 File system @@ -1327,14 +1333,14 @@ options AHC_TMODE_ENABLE # Compile in Aic7xxx Debugging code. -options AHC_DEBUG +options AHC_DEBUG # Aic7xxx driver debugging options. See sys/dev/aic7xxx/aic7xxx.h -options AHC_DEBUG_OPTS +options AHC_DEBUG_OPTS # Print register bitfields in debug output. Adds ~128k to driver # See ahc(4). -options AHC_REG_PRETTY_PRINT +options AHC_REG_PRETTY_PRINT # Compile in aic79xx debugging code. options AHD_DEBUG @@ -1346,7 +1352,7 @@ options AHD_REG_PRETTY_PRINT # Bitmap of units to enable targetmode operations. -options AHD_TMODE_ENABLE +options AHD_TMODE_ENABLE # The adw driver will attempt to use memory mapped I/O for all PCI # controllers that have it configured only if this option is set. @@ -2474,7 +2480,7 @@ options KSTACK_MAX_PAGES=32 # Maximum pages to give the kernel stack # Adaptec Array Controller driver options -options AAC_DEBUG # Debugging levels: +options AAC_DEBUG # Debugging levels: # 0 - quiet, only emit warnings # 1 - noisy, emit major function # points and things done ==== //depot/projects/netperf_socket/sys/conf/files#52 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.948 2004/08/30 23:03:56 peter Exp $ +# $FreeBSD: src/sys/conf/files,v 1.951 2004/09/05 09:43:47 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -800,6 +800,7 @@ dev/usb/ubsa.c optional ubsa ucom dev/usb/ubser.c optional ubser dev/usb/ucom.c optional ucom +dev/usb/ucycom.c optional ucycom ucom dev/usb/udbp.c optional udbp dev/usb/ufm.c optional ufm dev/usb/uftdi.c optional uftdi ucom @@ -858,6 +859,9 @@ dev/zs/zs.c optional zs dev/zs/zs_sbus.c optional zs fhc dev/zs/zs_sbus.c optional zs sbus +fs/autofs/autofs_vnops.c optional autofs +fs/autofs/autofs_vfsops.c optional autofs +fs/autofs/autofs_util.c optional autofs fs/deadfs/dead_vnops.c standard fs/devfs/devfs_devs.c standard fs/devfs/devfs_rule.c standard @@ -1083,7 +1087,6 @@ kern/kern_idle.c standard kern/kern_intr.c standard kern/kern_jail.c standard -kern/kern_thr.c standard kern/kern_kse.c standard kern/kern_kthread.c standard kern/kern_ktr.c optional ktr @@ -1107,12 +1110,12 @@ kern/kern_shutdown.c standard kern/kern_sig.c standard kern/kern_subr.c standard -kern/kern_switch.c standard kern/kern_sx.c standard kern/kern_synch.c standard kern/kern_syscalls.c standard kern/kern_sysctl.c standard kern/kern_tc.c standard +kern/kern_thr.c standard kern/kern_thread.c standard kern/kern_time.c standard kern/kern_timeout.c standard ==== //depot/projects/netperf_socket/sys/conf/options#30 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.481 2004/09/01 01:19:52 brooks Exp $ +# $FreeBSD: src/sys/conf/options,v 1.483 2004/09/02 20:44:56 alfred Exp $ # # On the handling of kernel options # @@ -66,7 +66,8 @@ CONSPEED opt_comconsole.h CY_PCI_FASTINTR DIRECTIO opt_directio.h -FULL_PREEMPTION +FULL_PREEMPTION opt_sched.h +PREEMPTION opt_sched.h GEOM_AES opt_geom.h GEOM_APPLE opt_geom.h GEOM_BDE opt_geom.h @@ -160,6 +161,7 @@ # time, since the corresponding lkms cannot work if there are any static # dependencies. Unusability is enforced by hiding the defines for the # options in a never-included header. +AUTOFS opt_dontuse.h CD9660 opt_dontuse.h CODA opt_dontuse.h EXT2FS opt_dontuse.h ==== //depot/projects/netperf_socket/sys/ddb/db_ps.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.52 2004/07/10 23:47:19 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.53 2004/09/05 02:09:52 julian Exp $"); #include #include @@ -100,7 +100,7 @@ p->p_ucred != NULL ? p->p_ucred->cr_ruid : 0, pp->p_pid, p->p_pgrp != NULL ? p->p_pgrp->pg_id : 0, p->p_flag, state); - if (p->p_flag & P_SA) + if (p->p_flag & P_HADTHREADS) db_printf("(threaded) %s\n", p->p_comm); FOREACH_THREAD_IN_PROC(p, td) { dumpthread(p, td); @@ -120,7 +120,7 @@ dumpthread(volatile struct proc *p, volatile struct thread *td) { - if (p->p_flag & P_SA) + if (p->p_flag & P_HADTHREADS) db_printf( " thread %p ksegrp %p ", td, td->td_ksegrp); if (TD_ON_SLEEPQ(td)) db_printf("[SLPQ %s %p]", td->td_wmesg, (void *)td->td_wchan); @@ -159,9 +159,11 @@ default: db_printf("[UNK: %#x]", td->td_state); } - if (p->p_flag & P_SA) { + if (p->p_flag & P_HADTHREADS) { +#ifdef KEF_DIDRUN if (td->td_kse) db_printf("[kse %p]", td->td_kse); +#endif db_printf("\n"); } else db_printf(" %s\n", p->p_comm); ==== //depot/projects/netperf_socket/sys/dev/acpica/Osd/OsdDebug.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/Osd/OsdDebug.c,v 1.8 2004/07/10 20:56:43 marcel Exp $ + * $FreeBSD: src/sys/dev/acpica/Osd/OsdDebug.c,v 1.9 2004/09/02 04:28:05 njl Exp $ */ /* @@ -73,8 +73,7 @@ AcpiOsSignal(UINT32 Function, void *Info) { ACPI_SIGNAL_FATAL_INFO *fatal; - char *message; - + switch (Function) { case ACPI_SIGNAL_FATAL: fatal = (ACPI_SIGNAL_FATAL_INFO *)Info; @@ -82,10 +81,11 @@ fatal->Type, fatal->Code, fatal->Argument); kdb_enter("AcpiOsSignal"); break; - + case ACPI_SIGNAL_BREAKPOINT: - message = (char *)Info; - kdb_enter(message); +#ifdef ACPI_DEBUG + kdb_enter((char *)Info); +#endif break; default: ==== //depot/projects/netperf_socket/sys/dev/ata/ata-all.c#18 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.224 2004/08/27 14:48:32 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.225 2004/09/03 12:10:44 sos Exp $"); #include "opt_ata.h" #include @@ -734,6 +734,15 @@ /* * misc support functions */ +void +ata_udelay(int interval) +{ + if (interval < (1000000/hz) || ata_delayed_attach) + DELAY(interval); + else + tsleep(&interval, PRIBIO, "ataslp", interval/(1000000/hz)); +} + static void bswap(int8_t *buf, int len) { ==== //depot/projects/netperf_socket/sys/dev/ata/ata-all.h#12 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.82 2004/08/27 14:48:32 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.83 2004/09/03 12:10:44 sos Exp $ */ /* ATA register defines */ @@ -390,6 +390,7 @@ int ata_detach(device_t dev); int ata_suspend(device_t dev); int ata_resume(device_t dev); +void ata_udelay(int interval); int ata_printf(struct ata_channel *ch, int device, const char *fmt, ...) __printflike(3, 4); int ata_prtdev(struct ata_device *atadev, const char *fmt, ...) __printflike(2, 3); void ata_set_name(struct ata_device *atadev, char *name, int lun); ==== //depot/projects/netperf_socket/sys/dev/ata/ata-chipset.c#20 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.84 2004/09/01 12:15:44 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.87 2004/09/03 12:10:44 sos Exp $"); #include "opt_ata.h" #include @@ -493,7 +493,7 @@ if (ata_setup_interrupt(dev)) return ENXIO; - /* set prefetch, postwrite */ + /* disable/set prefetch, postwrite */ if (ctlr->chip->cfg2 & AMDBUG) pci_write_config(dev, 0x41, pci_read_config(dev, 0x41, 1) & 0x0f, 1); else @@ -828,11 +828,11 @@ { ATA_I82801DB, 0, 0, 0x00, ATA_UDMA5, "Intel ICH4" }, { ATA_I82801DB_1, 0, 0, 0x00, ATA_UDMA5, "Intel ICH4" }, { ATA_I82801EB, 0, 0, 0x00, ATA_UDMA5, "Intel ICH5" }, - { ATA_I82801EB_1, 0, 0, 0x00, ATA_SA150, "Intel ICH5" }, - { ATA_I82801EB_2, 0, 0, 0x00, ATA_SA150, "Intel ICH5" }, + { ATA_I82801EB_S1,0, 0, 0x00, ATA_SA150, "Intel ICH5" }, + { ATA_I82801EB_R1,0, 0, 0x00, ATA_SA150, "Intel ICH5" }, { ATA_I6300ESB, 0, 0, 0x00, ATA_UDMA5, "Intel 6300ESB" }, - { ATA_I6300ESB_1, 0, 0, 0x00, ATA_SA150, "Intel 6300ESB" }, - { ATA_I6300ESB_2, 0, 0, 0x00, ATA_SA150, "Intel 6300ESB" }, + { ATA_I6300ESB_S1,0, 0, 0x00, ATA_SA150, "Intel 6300ESB" }, + { ATA_I6300ESB_R1,0, 0, 0x00, ATA_SA150, "Intel 6300ESB" }, { 0, 0, 0, 0, 0, 0}}; char buffer[64]; @@ -926,9 +926,9 @@ pci_write_config(parent, 0x92, pci_read_config(parent, 0x92, 2) | mask, 2); while (timeout--) { - DELAY(10000); + ata_udelay(10000); if ((pci_read_config(parent, 0x92, 2) & (mask << 4)) == (mask << 4)) { - DELAY(10000); + ata_udelay(10000); return; } } @@ -1105,9 +1105,13 @@ struct ata_pci_controller *ctlr = device_get_softc(dev); struct ata_chip_id *idx; static struct ata_chip_id ids[] = - {{ ATA_NFORCE1, 0, AMDNVIDIA, NVIDIA|AMDBUG, ATA_UDMA5, "nVidia nForce" }, - { ATA_NFORCE2, 0, AMDNVIDIA, NVIDIA|AMDBUG, ATA_UDMA6, "nVidia nForce2" }, - { ATA_NFORCE3, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce3" }, + {{ ATA_NFORCE1, 0, AMDNVIDIA, NVIDIA, ATA_UDMA5, "nVidia nForce" }, + { ATA_NFORCE2, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce2" }, + { ATA_NFORCE2_MCP, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce2 MCP" }, + { ATA_NFORCE3, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce3" }, + { ATA_NFORCE3_PRO, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce3 Pro" }, + { ATA_NFORCE3_MCP, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce3 MCP" }, + { ATA_NFORCE4, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce4" }, { 0, 0, 0, 0, 0, 0}}; char buffer[64]; @@ -1129,11 +1133,8 @@ if (ata_setup_interrupt(dev)) return ENXIO; - /* set prefetch, postwrite */ - if (ctlr->chip->cfg2 & AMDBUG) - pci_write_config(dev, 0x51, pci_read_config(dev, 0x51, 1) & 0x0f, 1); - else - pci_write_config(dev, 0x51, pci_read_config(dev, 0x51, 1) | 0xf0, 1); + /* disable prefetch, postwrite */ + pci_write_config(dev, 0x51, pci_read_config(dev, 0x51, 1) & 0x0f, 1); ctlr->setmode = ata_via_family_setmode; return 0; @@ -1514,14 +1515,19 @@ ATA_OUTL(ctlr->r_res2, (atadev->channel->unit + 1) << 2, 0x00000001); - if (command != ATA_READ_DMA && command != ATA_WRITE_DMA) + switch (command) { + default: return ata_generic_command(atadev, command, lba, count, feature); - if (command == ATA_READ_DMA) + case ATA_READ_DMA: wordp[0] = htole32(0x04 | ((atadev->channel->unit+1)<<16) | (0x00<<24)); - if (command == ATA_WRITE_DMA) + break; + + case ATA_WRITE_DMA: wordp[0] = htole32(0x00 | ((atadev->channel->unit+1)<<16) | (0x00<<24)); - wordp[1] = atadev->channel->dma->mdmatab; + break; + } + wordp[1] = htole32(atadev->channel->dma->mdmatab); wordp[2] = 0; ata_promise_apkt((u_int8_t*)wordp, atadev, command, lba, count, feature); @@ -2165,7 +2171,7 @@ ATA_IDX_OUTL(ch, ATA_BMDEVSPEC_1, 0x00000001); DELAY(25000); ATA_IDX_OUTL(ch, ATA_BMDEVSPEC_1, 0x00000000); - tsleep(ch, PRIBIO, "siirst", hz); + ata_udelay(1000000); } static void @@ -2373,7 +2379,7 @@ struct ata_pci_controller *ctlr = device_get_softc(dev); struct ata_chip_id *idx; static struct ata_chip_id ids[] = - {{ ATA_SIS964_1,0x00, SISSATA, 0, ATA_SA150, "SiS 964" }, /* south */ + {{ ATA_SIS964_S,0x00, SISSATA, 0, ATA_SA150, "SiS 964" }, /* south */ { ATA_SIS964, 0x00, SIS133NEW, 0, ATA_UDMA6, "SiS 964" }, /* south */ { ATA_SIS963, 0x00, SIS133NEW, 0, ATA_UDMA6, "SiS 963" }, /* south */ { ATA_SIS962, 0x00, SIS133NEW, 0, ATA_UDMA6, "SiS 962" }, /* south */ ==== //depot/projects/netperf_socket/sys/dev/ata/ata-lowlevel.c#17 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.46 2004/08/27 22:14:45 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.47 2004/09/03 12:10:44 sos Exp $"); #include "opt_ata.h" #include @@ -48,6 +48,7 @@ static void ata_generic_interrupt(void *); static void ata_generic_reset(struct ata_channel *); static int ata_wait(struct ata_device *, u_int8_t); +/*static int ata_command(struct ata_device *, u_int8_t, u_int64_t, u_int16_t, u_int16_t);*/ static void ata_pio_read(struct ata_request *, int); static void ata_pio_write(struct ata_request *, int); @@ -585,9 +586,9 @@ ATA_IDX_OUTB(ch, ATA_DRIVE, ATA_D_IBM | ATA_MASTER); DELAY(10); ATA_IDX_OUTB(ch, ATA_ALTSTAT, ATA_A_IDS | ATA_A_RESET); - DELAY(10000); + ata_udelay(10000); ATA_IDX_OUTB(ch, ATA_ALTSTAT, ATA_A_IDS); - DELAY(100000); + ata_udelay(100000); ATA_IDX_INB(ch, ATA_ERROR); /* wait for BUSY to go inactive */ @@ -656,7 +657,7 @@ if (stat1 == 0xff && timeout > 5) mask &= ~0x02; } - DELAY(100000); + ata_udelay(100000); } if (bootverbose) ==== //depot/projects/netperf_socket/sys/dev/ata/ata-pci.h#8 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.32 2004/06/15 11:02:09 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.33 2004/09/03 07:37:53 sos Exp $ */ /* structure holding chipset config info */ @@ -117,11 +117,11 @@ #define ATA_I82801DB 0x24cb8086 #define ATA_I82801DB_1 0x24ca8086 #define ATA_I82801EB 0x24db8086 -#define ATA_I82801EB_1 0x24d18086 -#define ATA_I82801EB_2 0x24df8086 +#define ATA_I82801EB_S1 0x24d18086 +#define ATA_I82801EB_R1 0x24df8086 #define ATA_I6300ESB 0x25a28086 -#define ATA_I6300ESB_1 0x25a38086 -#define ATA_I6300ESB_2 0x25b08086 +#define ATA_I6300ESB_S1 0x25a38086 +#define ATA_I6300ESB_R1 0x25b08086 #define ATA_NATIONAL_ID 0x100b #define ATA_SC1100 0x0502100b @@ -129,7 +129,18 @@ #define ATA_NVIDIA_ID 0x10de #define ATA_NFORCE1 0x01bc10de #define ATA_NFORCE2 0x006510de +#define ATA_NFORCE2_MCP 0x008510de #define ATA_NFORCE3 0x00d510de +#define ATA_NFORCE3_PRO 0x00e510de +#define ATA_NFORCE3_PRO_S1 0x00e310de +#define ATA_NFORCE3_PRO_S2 0x00ee10de +#define ATA_NFORCE3_MCP 0x003510de +#define ATA_NFORCE3_MCP_S1 0x003610de +#define ATA_NFORCE3_MCP_S2 0x003e10de +#define ATA_NFORCE4 0x005310de +#define ATA_NFORCE4_S1 0x005410de +#define ATA_NFORCE4_S2 0x005510de + #define ATA_PROMISE_ID 0x105a #define ATA_PDC20246 0x4d33105a @@ -220,7 +231,7 @@ #define ATA_SIS962 0x09621039 #define ATA_SIS963 0x09631039 #define ATA_SIS964 0x09641039 -#define ATA_SIS964_1 0x01801039 +#define ATA_SIS964_S 0x01801039 #define ATA_VIA_ID 0x1106 #define ATA_VIA82C571 0x05711106 ==== //depot/projects/netperf_socket/sys/dev/iir/iir.c#3 (text+ko) ==== @@ -43,7 +43,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.10 2004/05/19 17:46:34 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.11 2004/09/03 08:44:23 scottl Exp $"); #define _IIR_C_ @@ -874,13 +874,7 @@ } splx(s); } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - seg.ds_addr = - (bus_addr_t)ccb->csio.data_ptr; - seg.ds_len = ccb->csio.dxfer_len; - gdtexecuteccb(gccb, &seg, 1, 0); + panic("iir: CAM_DATA_PHYS not supported"); } } else { struct bus_dma_segment *segs; @@ -989,13 +983,7 @@ } splx(s); } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - seg.ds_addr = - (bus_addr_t)ccb->csio.data_ptr; - seg.ds_len = ccb->csio.dxfer_len; - gdtexecuteccb(gccb, &seg, 1, 0); + panic("iir: CAM_DATA_PHYS not supported"); } } else { struct bus_dma_segment *segs; ==== //depot/projects/netperf_socket/sys/dev/re/if_re.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.29 2004/08/28 10:59:02 sanpei Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.31 2004/09/04 07:54:05 ru Exp $"); /* * RealTek 8139C+/8169/8169S/8110S PCI NIC driver @@ -205,11 +205,18 @@ static int re_tx_list_init (struct rl_softc *); static void re_rxeof (struct rl_softc *); static void re_txeof (struct rl_softc *); +#ifdef DEVICE_POLLING +static void re_poll (struct ifnet *, enum poll_cmd, int); +static void re_poll_locked (struct ifnet *, enum poll_cmd, int); +#endif static void re_intr (void *); static void re_tick (void *); +static void re_tick_locked (struct rl_softc *); static void re_start (struct ifnet *); +static void re_start_locked (struct ifnet *); static int re_ioctl (struct ifnet *, u_long, caddr_t); static void re_init (void *); +static void re_init_locked (struct rl_softc *); static void re_stop (struct rl_softc *); static void re_watchdog (struct ifnet *); static int re_suspend (device_t); @@ -454,17 +461,14 @@ u_int16_t re8139_reg = 0; sc = device_get_softc(dev); - RL_LOCK(sc); if (sc->rl_type == RL_8169) { rval = re_gmii_readreg(dev, phy, reg); - RL_UNLOCK(sc); return (rval); } /* Pretend the internal PHY is only at address 0 */ if (phy) { - RL_UNLOCK(sc); return (0); } switch (reg) { @@ -485,7 +489,6 @@ break; case MII_PHYIDR1: case MII_PHYIDR2: - RL_UNLOCK(sc); return (0); /* * Allow the rlphy driver to read the media status @@ -495,15 +498,12 @@ */ case RL_MEDIASTAT: rval = CSR_READ_1(sc, RL_MEDIASTAT); - RL_UNLOCK(sc); return (rval); default: printf("re%d: bad phy register\n", sc->rl_unit); - RL_UNLOCK(sc); return (0); } rval = CSR_READ_2(sc, re8139_reg); - RL_UNLOCK(sc); return (rval); } @@ -517,19 +517,16 @@ int rval = 0; sc = device_get_softc(dev); - RL_LOCK(sc); if (sc->rl_type == RL_8169) { rval = re_gmii_writereg(dev, phy, reg, data); - RL_UNLOCK(sc); return (rval); } /* Pretend the internal PHY is only at address 0 */ - if (phy) { - RL_UNLOCK(sc); + if (phy) return (0); - } + switch (reg) { case MII_BMCR: re8139_reg = RL_BMCR; @@ -548,16 +545,13 @@ break; case MII_PHYIDR1: case MII_PHYIDR2: - RL_UNLOCK(sc); return (0); break; default: printf("re%d: bad phy register\n", sc->rl_unit); - RL_UNLOCK(sc); return (0); } CSR_WRITE_2(sc, re8139_reg, data); - RL_UNLOCK(sc); return (0); } @@ -582,6 +576,8 @@ u_int32_t rxfilt; int mcnt = 0; + RL_LOCK_ASSERT(sc); + ifp = &sc->arpcom.ac_if; rxfilt = CSR_READ_4(sc, RL_RXCFG); @@ -627,6 +623,8 @@ { register int i; + RL_LOCK_ASSERT(sc); + CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_RESET); for (i = 0; i < RL_TIMEOUT; i++) { @@ -675,11 +673,12 @@ u_int8_t src[] = { 0x00, 'w', 'o', 'r', 'l', 'd' }; /* Allocate a single mbuf */ - MGETHDR(m0, M_DONTWAIT, MT_DATA); if (m0 == NULL) return (ENOBUFS); + RL_LOCK(sc); + /* * Initialize the NIC in test mode. This sets the chip up * so that it can send and receive frames, but performs the @@ -691,10 +690,10 @@ ifp->if_flags |= IFF_PROMISC; sc->rl_testmode = 1; - re_init(sc); + re_init_locked(sc); re_stop(sc); DELAY(100000); - re_init(sc); + re_init_locked(sc); /* Put some data in the mbuf */ @@ -710,7 +709,9 @@ */ CSR_WRITE_2(sc, RL_ISR, 0xFFFF); + RL_UNLOCK(sc); IF_HANDOFF(&ifp->if_snd, m0, ifp); + RL_LOCK(sc); m0 = NULL; /* Wait for it to propagate through the chip */ @@ -789,6 +790,8 @@ if (m0 != NULL) m_freem(m0); + RL_UNLOCK(sc); + return (error); } @@ -826,15 +829,9 @@ } sc->rl_btag = rman_get_bustag(sc->rl_res); sc->rl_bhandle = rman_get_bushandle(sc->rl_res); - mtx_init(&sc->rl_mtx, - device_get_nameunit(dev), - MTX_NETWORK_LOCK, MTX_DEF); - RL_LOCK(sc); hwrev = CSR_READ_4(sc, RL_TXCFG) & RL_TXCFG_HWREV; bus_release_resource(dev, RL_RES, RL_RID, sc->rl_res); - RL_UNLOCK(sc); - mtx_destroy(&sc->rl_mtx); if (t->rl_basetype == hwrev) { device_set_desc(dev, t->rl_name); return (0); @@ -1065,7 +1062,7 @@ unit = device_get_unit(dev); mtx_init(&sc->rl_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, - MTX_DEF | MTX_RECURSE); + MTX_DEF); /* * Map control/status registers. */ @@ -1096,7 +1093,9 @@ } /* Reset the adapter. */ + RL_LOCK(sc); re_reset(sc); + RL_UNLOCK(sc); hw_rev = re_hwrevs; hwrev = CSR_READ_4(sc, RL_TXCFG) & RL_TXCFG_HWREV; @@ -1221,13 +1220,11 @@ } /* Hook interrupt last to avoid having to lock softc */ - error = bus_setup_intr(dev, sc->rl_irq, INTR_TYPE_NET, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Sep 5 22:29:48 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED8D716A4D0; Sun, 5 Sep 2004 22:29:47 +0000 (GMT) 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 B151A16A4CE for ; Sun, 5 Sep 2004 22:29:47 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8935143D1D for ; Sun, 5 Sep 2004 22:29:47 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i85MTlb0048417 for ; Sun, 5 Sep 2004 22:29:47 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i85MTkfo048414 for perforce@freebsd.org; Sun, 5 Sep 2004 22:29:46 GMT (envelope-from julian@freebsd.org) Date: Sun, 5 Sep 2004 22:29:46 GMT Message-Id: <200409052229.i85MTkfo048414@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61064 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Sep 2004 22:29:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=61064 Change 61064 by julian@julian_ref on 2004/09/05 22:29:38 Remerge with -current Affected files ... .. //depot/projects/nsched/sys/alpha/alpha/machdep.c#5 integrate .. //depot/projects/nsched/sys/amd64/amd64/machdep.c#9 integrate .. //depot/projects/nsched/sys/arm/sa11x0/assabet_machdep.c#4 integrate .. //depot/projects/nsched/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/nsched/sys/conf/files#23 integrate .. //depot/projects/nsched/sys/ddb/db_ps.c#6 integrate .. //depot/projects/nsched/sys/dev/usb/ucycom.c#1 branch .. //depot/projects/nsched/sys/geom/geom_subr.c#4 integrate .. //depot/projects/nsched/sys/geom/notes#2 integrate .. //depot/projects/nsched/sys/i386/i386/machdep.c#14 integrate .. //depot/projects/nsched/sys/ia64/ia64/machdep.c#6 integrate .. //depot/projects/nsched/sys/isofs/cd9660/cd9660_vnops.c#3 integrate .. //depot/projects/nsched/sys/kern/init_main.c#13 integrate .. //depot/projects/nsched/sys/kern/kern_exec.c#11 integrate .. //depot/projects/nsched/sys/kern/kern_exit.c#18 integrate .. //depot/projects/nsched/sys/kern/kern_fork.c#12 integrate .. //depot/projects/nsched/sys/kern/kern_intr.c#8 integrate .. //depot/projects/nsched/sys/kern/kern_kse.c#27 integrate .. //depot/projects/nsched/sys/kern/kern_proc.c#12 integrate .. //depot/projects/nsched/sys/kern/kern_switch.c#10 integrate .. //depot/projects/nsched/sys/kern/kern_synch.c#10 integrate .. //depot/projects/nsched/sys/kern/kern_thr.c#14 integrate .. //depot/projects/nsched/sys/kern/kern_thread.c#34 integrate .. //depot/projects/nsched/sys/kern/sched_4bsd.c#36 integrate .. //depot/projects/nsched/sys/kern/sched_ule.c#23 integrate .. //depot/projects/nsched/sys/kern/uipc_socket.c#13 integrate .. //depot/projects/nsched/sys/modules/Makefile#11 integrate .. //depot/projects/nsched/sys/modules/ucycom/Makefile#1 branch .. //depot/projects/nsched/sys/netinet/ip_divert.c#8 integrate .. //depot/projects/nsched/sys/netinet/ip_fw2.c#10 integrate .. //depot/projects/nsched/sys/netinet/raw_ip.c#7 integrate .. //depot/projects/nsched/sys/netinet/tcp_output.c#7 integrate .. //depot/projects/nsched/sys/netinet/tcp_subr.c#8 integrate .. //depot/projects/nsched/sys/netinet/udp_usrreq.c#7 integrate .. //depot/projects/nsched/sys/netinet6/nd6.c#4 integrate .. //depot/projects/nsched/sys/pc98/i386/machdep.c#9 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/machdep.c#5 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/machdep.c#6 integrate .. //depot/projects/nsched/sys/sys/proc.h#25 integrate .. //depot/projects/nsched/sys/sys/sched.h#13 integrate Differences ... ==== //depot/projects/nsched/sys/alpha/alpha/machdep.c#5 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.222 2004/07/10 22:35:05 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.223 2004/09/05 02:09:51 julian Exp $"); #include "opt_compat.h" #include "opt_ddb.h" ==== //depot/projects/nsched/sys/amd64/amd64/machdep.c#9 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.619 2004/08/24 00:16:43 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.620 2004/09/05 02:09:52 julian Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" ==== //depot/projects/nsched/sys/arm/sa11x0/assabet_machdep.c#4 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.2 2004/06/17 17:52:12 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.3 2004/09/05 02:09:52 julian Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include ==== //depot/projects/nsched/sys/cam/scsi/scsi_cd.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.89 2004/02/18 21:36:50 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.90 2004/09/05 21:15:58 phk Exp $"); #include "opt_cd.h" @@ -2723,7 +2723,7 @@ cdprevent(periph, PR_PREVENT); softc->disk->d_maxsize = DFLTPHYS; - softc->disk->d_sectorsize = 0; + softc->disk->d_sectorsize = 2048; softc->disk->d_mediasize = 0; /* ==== //depot/projects/nsched/sys/conf/files#23 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.949 2004/09/02 20:44:56 alfred Exp $ +# $FreeBSD: src/sys/conf/files,v 1.951 2004/09/05 09:43:47 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -800,6 +800,7 @@ dev/usb/ubsa.c optional ubsa ucom dev/usb/ubser.c optional ubser dev/usb/ucom.c optional ucom +dev/usb/ucycom.c optional ucycom ucom dev/usb/udbp.c optional udbp dev/usb/ufm.c optional ufm dev/usb/uftdi.c optional uftdi ucom ==== //depot/projects/nsched/sys/ddb/db_ps.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.52 2004/07/10 23:47:19 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.53 2004/09/05 02:09:52 julian Exp $"); #include #include @@ -100,7 +100,7 @@ p->p_ucred != NULL ? p->p_ucred->cr_ruid : 0, pp->p_pid, p->p_pgrp != NULL ? p->p_pgrp->pg_id : 0, p->p_flag, state); - if (p->p_flag & P_SA) + if (p->p_flag & P_HADTHREADS) db_printf("(threaded) %s\n", p->p_comm); FOREACH_THREAD_IN_PROC(p, td) { dumpthread(p, td); @@ -120,7 +120,7 @@ dumpthread(volatile struct proc *p, volatile struct thread *td) { - if (p->p_flag & P_SA) + if (p->p_flag & P_HADTHREADS) db_printf( " thread %p ksegrp %p ", td, td->td_ksegrp); if (TD_ON_SLEEPQ(td)) db_printf("[SLPQ %s %p]", td->td_wmesg, (void *)td->td_wchan); @@ -159,12 +159,11 @@ default: db_printf("[UNK: %#x]", td->td_state); } - if (p->p_flag & P_SA) { - /* - if (sched_fairness_print) { - (*sched_fairness_print)(td); - } - */ + if (p->p_flag & P_HADTHREADS) { +#ifdef KEF_DIDRUN + if (td->td_kse) + db_printf("[kse %p]", td->td_kse); +#endif db_printf("\n"); } else db_printf(" %s\n", p->p_comm); ==== //depot/projects/nsched/sys/geom/geom_subr.c#4 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/geom_subr.c,v 1.81 2004/08/08 08:34:46 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/geom_subr.c,v 1.82 2004/09/05 21:15:58 phk Exp $"); #include #include @@ -706,6 +706,9 @@ cp->acr += dcr; cp->acw += dcw; cp->ace += dce; + if (pp->acr != 0 || pp->acw != 0 || pp->ace != 0) + KASSERT(pp->sectorsize > 0, + ("Provider %s lacks sectorsize", pp->name)); } return (error); } ==== //depot/projects/nsched/sys/geom/notes#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/geom/notes,v 1.4 2003/03/23 10:08:13 phk Exp $ +$FreeBSD: src/sys/geom/notes,v 1.5 2004/09/05 21:15:58 phk Exp $ For the lack of a better place to put them, this file will contain notes on some of the more intricate details of geom. @@ -138,3 +138,13 @@ geom_slice.h is special in that it documents a "library" for implementing a specific kind of class, and consequently does not appear in the above matrix. +----------------------------------------------------------------------- +Removable media. + +In general, the theory is that a drive creates the provider when it has +a media and destroys it when the media disappears. + +In a more realistic world, we will allow a provider to be opened medialess +(set any sectorsize and a mediasize==0) in order to allow operations like +open/close tray etc. + ==== //depot/projects/nsched/sys/i386/i386/machdep.c#14 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.597 2004/08/05 00:32:08 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.598 2004/09/05 02:09:52 julian Exp $"); #include "opt_apic.h" #include "opt_atalk.h" ==== //depot/projects/nsched/sys/ia64/ia64/machdep.c#6 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.185 2004/08/16 18:54:22 marcel Exp $ + * $FreeBSD: src/sys/ia64/ia64/machdep.c,v 1.186 2004/09/05 02:09:53 julian Exp $ */ #include "opt_compat.h" ==== //depot/projects/nsched/sys/isofs/cd9660/cd9660_vnops.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/isofs/cd9660/cd9660_vnops.c,v 1.98 2004/04/07 20:46:09 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/isofs/cd9660/cd9660_vnops.c,v 1.99 2004/09/05 11:18:53 tjr Exp $"); #include #include @@ -167,14 +167,7 @@ struct iso_node *ip = VTOI(vp); vap->va_fsid = dev2udev(ip->i_dev); - - /* - * Don't use ip->i_ino for this since it is wrong for hard links. - * ip->i_ino should be the same as ip->iso_start (or not exist), - * but this currently doesn't work since we abuse it to look up - * parent directories from inodes. - */ - vap->va_fileid = ip->iso_start; + vap->va_fileid = ip->i_number; vap->va_mode = ip->inode.iso_mode; vap->va_nlink = ip->inode.iso_links; @@ -528,12 +521,11 @@ break; } - /* - * The "inode number" is iso_start, not i_ino, as in - * cd9660_getattr(). - */ - idp->current.d_fileno = isonum_711(ep->ext_attr_length) + - isonum_733(ep->extent); + if (isonum_711(ep->flags)&2) + idp->current.d_fileno = isodirino(ep, imp); + else + idp->current.d_fileno = dbtob(bp->b_blkno) + + entryoffsetinblock; idp->curroff += reclen; ==== //depot/projects/nsched/sys/kern/init_main.c#13 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.247 2004/09/01 02:11:27 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.248 2004/09/05 02:09:53 julian Exp $"); #include "opt_init_path.h" #include "opt_mac.h" @@ -335,14 +335,12 @@ */ procinit(); /* set up proc zone */ threadinit(); /* set up thead, upcall and KSEGRP zones */ - kseinit(); /* set up kse specific stuff e.g. upcall zone*/ /* * Initialise scheduler resources. * Add scheduler specific parts to proc, ksegrp, thread as needed. */ schedinit(); /* scheduler gets its house in order */ - schedinit2(); /* temporary */ /* * Initialize sleep queue hash table */ ==== //depot/projects/nsched/sys/kern/kern_exec.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.249 2004/08/15 06:24:41 jmg Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.250 2004/09/05 02:09:53 julian Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" ==== //depot/projects/nsched/sys/kern/kern_exit.c#18 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.245 2004/08/15 06:24:41 jmg Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.246 2004/09/05 02:09:53 julian Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" ==== //depot/projects/nsched/sys/kern/kern_fork.c#12 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.237 2004/09/03 05:11:32 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.238 2004/09/05 02:09:53 julian Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -783,7 +783,7 @@ mtx_assert(&sched_lock, MA_OWNED | MA_NOTRECURSED); cpu_critical_fork_exit(); CTR4(KTR_PROC, "fork_exit: new thread %p (kse %p, pid %d, %s)", - td, td->td_kse, p->p_pid, p->p_comm); + td, td->td_sched, p->p_pid, p->p_comm); /* * Processes normally resume in mi_switch() after being ==== //depot/projects/nsched/sys/kern/kern_intr.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_intr.c,v 1.114 2004/09/01 02:11:27 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_intr.c,v 1.115 2004/09/05 02:09:53 julian Exp $"); #include "opt_ddb.h" @@ -443,7 +443,7 @@ *ithdp = ithd; } return (ithread_add_handler(ithd, name, handler, arg, - (pri /** RQ_PPQ*/) + PI_SOFT, flags, cookiep)); + (pri * RQ_PPQ) + PI_SOFT, flags, cookiep)); /* XXKSE.. think of a better way to get separate queues */ } ==== //depot/projects/nsched/sys/kern/kern_kse.c#27 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.199 2004/09/01 02:11:27 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.200 2004/09/05 02:09:53 julian Exp $"); #include #include @@ -347,7 +347,7 @@ * The other possibility would be to let the process exit. */ p->p_flag &= ~(P_SA|P_HADTHREADS); - sched_reset_concurrency(td->td_ksegrp); + sched_set_concurrency(td->td_ksegrp, 1); mtx_unlock_spin(&sched_lock); PROC_UNLOCK(p); #if 1 @@ -499,7 +499,7 @@ * No new KSEG: first call: use current KSE, don't schedule an upcall * All other situations, do allocate max new KSEs and schedule an upcall. * - * XXX should be changed so that 'first' behaviour lasts for as long + * XXX should be changed so that 'first' behaviour lasts for as long * as you have not made a kse in this ksegrp. i.e. as long as we do not have * a mailbox.. */ @@ -1047,7 +1047,6 @@ td2->td_upcall = ku; td2->td_flags = 0; td2->td_pflags = TDP_SA|TDP_UPCALLING; - td2->td_kse = NULL; td2->td_state = TDS_CAN_RUN; td2->td_inhibitors = 0; SIGFILLSET(td2->td_sigmask); @@ -1085,9 +1084,9 @@ PROC_LOCK(p); mtx_lock(&ps->ps_mtx); } - -void -thread_switchout(struct thread *td) +#include "opt_sched.h" +struct thread * +thread_switchout(struct thread *td, int flags, struct thread *nextthread) { struct kse_upcall *ku; struct thread *td2; @@ -1123,8 +1122,20 @@ td->td_upcall = NULL; td->td_pflags &= ~TDP_CAN_UNBIND; td2 = thread_schedule_upcall(td, ku); +#ifdef SCHED_4BSD + if (flags & SW_INVOL || nextthread) { + setrunqueue(td2, SRQ_YIELDING); + } else { + /* Keep up with reality.. we have one extra thread + * in the picture.. and it's 'running'. + */ + return td2; + } +#else setrunqueue(td2, SRQ_YIELDING); +#endif } + return (nextthread); } /* ==== //depot/projects/nsched/sys/kern/kern_proc.c#12 (text+ko) ==== @@ -27,11 +27,11 @@ * SUCH DAMAGE. * * @(#)kern_proc.c 8.7 (Berkeley) 2/14/95 - * $FreeBSD: src/sys/kern/kern_proc.c,v 1.215 2004/08/14 17:15:16 rwatson Exp $ + * $FreeBSD: src/sys/kern/kern_proc.c,v 1.216 2004/09/05 02:09:53 julian Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.215 2004/08/14 17:15:16 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.216 2004/09/05 02:09:53 julian Exp $"); #include "opt_ktrace.h" #include "opt_kstack_pages.h" @@ -143,7 +143,9 @@ { struct proc *p; struct thread *td; +#ifdef INVARIANTS struct ksegrp *kg; +#endif /* INVARIANTS checks go here */ p = (struct proc *)mem; @@ -760,13 +762,8 @@ kp->ki_kstack = (void *)td->td_kstack; kp->ki_pctcpu = sched_pctcpu(td); - /* Things in the kse */ -#if 0 - if (ke) - kp->ki_rqindex = ke->ke_rqindex; - else -#endif - kp->ki_rqindex = 0; + /* We can't get this anymore but ps etc never used it anyway. */ + kp->ki_rqindex = 0; } else { kp->ki_stat = SZOMB; ==== //depot/projects/nsched/sys/kern/kern_switch.c#10 (text+ko) ==== @@ -86,7 +86,7 @@ ***/ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.85 2004/09/02 23:37:41 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.86 2004/09/05 02:09:53 julian Exp $"); #include "opt_sched.h" @@ -118,6 +118,8 @@ CTASSERT((RQB_BPW * RQB_LEN) == RQ_NQS); +#define td_kse td_sched + /************************************************************************ * Functions that manipulate runnability from a thread perspective. * ************************************************************************/ @@ -151,7 +153,7 @@ td = ke->ke_thread; KASSERT((td->td_kse == ke), ("kse/thread mismatch")); kg = ke->ke_ksegrp; - if (td->td_proc->p_flag & P_SA) { + if (td->td_proc->p_flag & P_HADTHREADS) { if (kg->kg_last_assigned == td) { kg->kg_last_assigned = TAILQ_PREV(td, threadqueue, td_runq); @@ -185,52 +187,41 @@ } /* - * Given a surplus KSE, either assign a new runable thread to it - * (and put it in the run queue) or put it in the ksegrp's idle KSE list. - * Assumes that the original thread is not runnable. + * Given a surplus system slot, try assign a new runnable thread to it. + * Called from: + * sched_thread_exit() (local) + * sched_switch() (local) + * sched_thread_exit() (local) + * remrunqueue() (local) (commented out) */ -void -kse_reassign(struct kse *ke) +static void +slot_fill(struct ksegrp *kg) { - struct ksegrp *kg; struct thread *td; - struct thread *original; mtx_assert(&sched_lock, MA_OWNED); - original = ke->ke_thread; - KASSERT(original == NULL || TD_IS_INHIBITED(original), - ("reassigning KSE with runnable thread")); - kg = ke->ke_ksegrp; - if (original) - original->td_kse = NULL; + while (kg->kg_avail_opennings > 0) { + /* + * Find the first unassigned thread + */ + if ((td = kg->kg_last_assigned) != NULL) + td = TAILQ_NEXT(td, td_runq); + else + td = TAILQ_FIRST(&kg->kg_runq); - /* - * Find the first unassigned thread - */ - if ((td = kg->kg_last_assigned) != NULL) - td = TAILQ_NEXT(td, td_runq); - else - td = TAILQ_FIRST(&kg->kg_runq); - - /* - * If we found one, assign it the kse, otherwise idle the kse. - */ - if (td) { - kg->kg_last_assigned = td; - td->td_kse = ke; - ke->ke_thread = td; - CTR2(KTR_RUNQ, "kse_reassign: ke%p -> td%p", ke, td); - sched_add(td, SRQ_BORING); - return; + /* + * If we found one, send it to the system scheduler. + */ + if (td) { + kg->kg_last_assigned = td; + kg->kg_avail_opennings--; + sched_add(td, SRQ_BORING); + CTR2(KTR_RUNQ, "slot_fill: td%p -> kg%p", td, kg); + } else { + /* no threads to use up the slots. quit now */ + break; + } } - - ke->ke_state = KES_IDLE; - ke->ke_thread = NULL; - TAILQ_INSERT_TAIL(&kg->kg_iq, ke, ke_kgrlist); - kg->kg_idle_kses++; - CTR1(KTR_RUNQ, "kse_reassign: ke%p on idle queue", ke); - sched_check_concurrency(kg); /* could implement directly */ - return; } #if 0 @@ -256,16 +247,17 @@ /* * If it is not a threaded process, take the shortcut. */ - if ((td->td_proc->p_flag & P_SA) == 0) { + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { /* Bring its kse with it, leave the thread attached */ sched_rem(td); + kg->kg_avail_opennings++; ke->ke_state = KES_THREAD; return; } td3 = TAILQ_PREV(td, threadqueue, td_runq); TAILQ_REMOVE(&kg->kg_runq, td, td_runq); kg->kg_runnable--; - if (ke) { + if (ke->ke_state == KES_ONRUNQ) { /* * This thread has been assigned to a KSE. * We need to dissociate it and try assign the @@ -273,12 +265,13 @@ * see if we need to move the KSE in the run queues. */ sched_rem(td); + kg->kg_avail_opennings++; ke->ke_state = KES_THREAD; td2 = kg->kg_last_assigned; KASSERT((td2 != NULL), ("last assigned has wrong value")); if (td2 == td) kg->kg_last_assigned = td3; - kse_reassign(ke); + slot_fill(kg); } } #endif @@ -300,7 +293,7 @@ /* * If it is not a threaded process, take the shortcut. */ - if ((td->td_proc->p_flag & P_SA) == 0) { + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { /* We only care about the kse in the run queue. */ td->td_priority = newpri; if (ke->ke_rqindex != (newpri / RQ_PPQ)) { @@ -313,77 +306,67 @@ /* It is a threaded process */ kg = td->td_ksegrp; TD_SET_CAN_RUN(td); - if (ke) { + if (ke->ke_state == KES_ONRUNQ) { if (kg->kg_last_assigned == td) { kg->kg_last_assigned = TAILQ_PREV(td, threadqueue, td_runq); } sched_rem(td); + kg->kg_avail_opennings++; } TAILQ_REMOVE(&kg->kg_runq, td, td_runq); kg->kg_runnable--; td->td_priority = newpri; setrunqueue(td, SRQ_BORING); } - +int limitcount; void setrunqueue(struct thread *td, int flags) { - struct kse *ke; struct ksegrp *kg; struct thread *td2; struct thread *tda; int count; - CTR4(KTR_RUNQ, "setrunqueue: td:%p ke:%p kg:%p pid:%d", - td, td->td_kse, td->td_ksegrp, td->td_proc->p_pid); + CTR3(KTR_RUNQ, "setrunqueue: td:%p kg:%p pid:%d", + td, td->td_ksegrp, td->td_proc->p_pid); mtx_assert(&sched_lock, MA_OWNED); KASSERT((TD_CAN_RUN(td) || TD_IS_RUNNING(td)), ("setrunqueue: bad thread state")); TD_SET_RUNQ(td); kg = td->td_ksegrp; - if ((td->td_proc->p_flag & P_SA) == 0) { + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { /* * Common path optimisation: Only one of everything * and the KSE is always already attached. * Totally ignore the ksegrp run queue. */ + if (kg->kg_avail_opennings != 1) { + if (limitcount < 100) { + limitcount++; + printf("pid %d: bad slot count (%d)\n", + td->td_proc->p_pid, kg->kg_avail_opennings); + + } + kg->kg_avail_opennings = 1; + } + kg->kg_avail_opennings--; sched_add(td, flags); return; } tda = kg->kg_last_assigned; - if ((ke = td->td_kse) == NULL) { - if (kg->kg_idle_kses) { - /* - * There is a free one so it's ours for the asking.. - */ - ke = TAILQ_FIRST(&kg->kg_iq); - CTR2(KTR_RUNQ, "setrunqueue: kg:%p: Use free ke:%p", - kg, ke); - TAILQ_REMOVE(&kg->kg_iq, ke, ke_kgrlist); - ke->ke_state = KES_THREAD; - kg->kg_idle_kses--; - } else if (tda && (tda->td_priority > td->td_priority)) { - /* - * None free, but there is one we can commandeer. - */ - ke = tda->td_kse; - CTR3(KTR_RUNQ, - "setrunqueue: kg:%p: take ke:%p from td: %p", - kg, ke, tda); - sched_rem(tda); - tda->td_kse = NULL; - ke->ke_thread = NULL; - tda = kg->kg_last_assigned = - TAILQ_PREV(tda, threadqueue, td_runq); - } - } else { - /* - * Temporarily disassociate so it looks like the other cases. + if ((kg->kg_avail_opennings <= 0) && + (tda && (tda->td_priority > td->td_priority))) { + /* + * None free, but there is one we can commandeer. */ - ke->ke_thread = NULL; - td->td_kse = NULL; + CTR2(KTR_RUNQ, + "setrunqueue: kg:%p: take slot from td: %p", kg, tda); + sched_rem(tda); + tda = kg->kg_last_assigned = + TAILQ_PREV(tda, threadqueue, td_runq); + kg->kg_avail_opennings++; } /* @@ -410,40 +393,30 @@ } /* - * If we have a ke to use, then put it on the run queue and - * If needed, readjust the last_assigned pointer. + * If we have a slot to use, then put the thread on the system + * run queue and if needed, readjust the last_assigned pointer. */ - if (ke) { + if (kg->kg_avail_opennings > 0) { if (tda == NULL) { /* * No pre-existing last assigned so whoever is first * gets the KSE we brought in.. (maybe us) */ td2 = TAILQ_FIRST(&kg->kg_runq); - KASSERT((td2->td_kse == NULL), - ("unexpected ke present")); - td2->td_kse = ke; - ke->ke_thread = td2; kg->kg_last_assigned = td2; } else if (tda->td_priority > td->td_priority) { - /* - * It's ours, grab it, but last_assigned is past us - * so don't change it. - */ - td->td_kse = ke; - ke->ke_thread = td; + td2 = td; } else { /* * We are past last_assigned, so - * put the new kse on whatever is next, + * gave the next slot to whatever is next, * which may or may not be us. */ td2 = TAILQ_NEXT(tda, td_runq); kg->kg_last_assigned = td2; - td2->td_kse = ke; - ke->ke_thread = td2; } - sched_add(ke->ke_thread, flags); + kg->kg_avail_opennings--; + sched_add(td2, flags); } else { CTR3(KTR_RUNQ, "setrunqueue: held: td%p kg%p pid%d", td, td->td_ksegrp, td->td_proc->p_pid); @@ -695,7 +668,6 @@ #if defined(SMP) && defined(SCHED_4BSD) int runq_fuzz = 1; -SYSCTL_DECL(_kern_sched); SYSCTL_INT(_kern_sched, OID_AUTO, runq_fuzz, CTLFLAG_RW, &runq_fuzz, 0, ""); #endif @@ -772,121 +744,13 @@ /****** functions that are temporarily here ***********/ #include #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) -static uma_zone_t kse_zone; -TAILQ_HEAD(, kse) zombie_kses = TAILQ_HEAD_INITIALIZER(zombie_kses); extern struct mtx kse_zombie_lock; /* - * Initialize type-stable parts of a kse (when newly created). - */ -static int -kse_init(void *mem, int size, int flags) -{ - struct kse *ke; - - ke = (struct kse *)mem; - ke->ke_sched = (struct ke_sched *)&ke[1]; - return (0); -} - -/* - * Allocate a kse. - */ -static struct kse * -kse_alloc(void) -{ - return (uma_zalloc(kse_zone, M_WAITOK)); -} - -/* - * Deallocate a kse. - */ -void -kse_free(struct kse *td) -{ - uma_zfree(kse_zone, td); -} - -/* - * KSE is linked into kse group. - * If we know the thread at this time attach to it, - * otherwise put it on the idle kse queue. - * Called from: - * sched_init_concurrency() schedlock - * sched_set_concurrency() schedlock - * schedinit2() NO schedlock (too early) - */ -static void -kse_link(struct kse *ke, struct ksegrp *kg, struct thread *td) -{ - struct proc *p = kg->kg_proc; - - TAILQ_INSERT_HEAD(&kg->kg_kseq, ke, ke_kglist); - kg->kg_kses++; - ke->ke_proc = p; - ke->ke_ksegrp = kg; - ke->ke_oncpu = NOCPU; - ke->ke_flags = 0; - if (td) { - ke->ke_state = KES_THREAD; - td->td_kse = ke; - ke->ke_thread = td; - } else { - TAILQ_INSERT_TAIL(&kg->kg_iq, ke, ke_kgrlist); - kg->kg_idle_kses++; - ke->ke_state = KES_IDLE; - ke->ke_thread = NULL; - } -} - -/* - * Stash an embarasingly extra kse into the zombie kse queue. - */ -static void -kse_stash(struct kse *ke) -{ - mtx_lock_spin(&kse_zombie_lock); - TAILQ_INSERT_HEAD(&zombie_kses, ke, ke_procq); - mtx_unlock_spin(&kse_zombie_lock); -} - -/* - * Called from: - * sched_set_concurrency() - * sched_reset_concurrency() - * sched_check_concurrency() - */ -static void -kse_unlink(struct kse *ke) -{ - struct ksegrp *kg; - - mtx_assert(&sched_lock, MA_OWNED); - kg = ke->ke_ksegrp; - TAILQ_REMOVE(&kg->kg_kseq, ke, ke_kglist); - if (ke->ke_state == KES_IDLE) { - TAILQ_REMOVE(&kg->kg_iq, ke, ke_kgrlist); - kg->kg_idle_kses--; - } - --kg->kg_kses; - /* - * Aggregate stats from the KSE - */ - kse_stash(ke); -} - - -/* - * Concurrency is implemented using the number of KSEs. - * This will be re-implmented using another method, so - * isolate the details with a simple API. - * Once the API has been implemented, we can switch out the - * underlying implementation. - */ - -/* * Allocate scheduler specific per-process resources. * The thread and ksegrp have already been linked in. + * In this case just set the default concurrency value. + * * Called from: * proc_init() (UMA init method) */ @@ -894,7 +758,8 @@ sched_newproc(struct proc *p, struct ksegrp *kg, struct thread *td) { - sched_init_concurrency(kg, td); + /* This can go in sched_fork */ + sched_init_concurrency(kg); } /* @@ -907,210 +772,84 @@ void sched_destroyproc(struct proc *p) { - struct ksegrp *kg; - + + /* this function slated for destruction */ KASSERT((p->p_numthreads == 1), ("Cached proc with > 1 thread ")); KASSERT((p->p_numksegrps == 1), ("Cached proc with > 1 ksegrp ")); - kg = FIRST_KSEGRP_IN_PROC(p); - KASSERT((kg->kg_kses == 1), ("Cached proc with > 1 kse ")); - kse_free(TAILQ_FIRST(&kg->kg_kseq)); } +#define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) /* * thread is being either created or recycled. * Fix up the per-scheduler resources associated with it. * Called from: - * thread_dtor() - * thread_init() + * sched_fork_thread() + * thread_dtor() (*may go away) + * thread_init() (*may go away) */ void sched_newthread(struct thread *td) { - td->td_last_kse = NULL; - td->td_kse = NULL; + struct td_sched *ke; + + ke = (struct td_sched *) (td + 1); + bzero(ke, sizeof(*ke)); + td->td_sched = ke; + ke->ke_thread = td; + ke->ke_oncpu = NOCPU; + ke->ke_state = KES_THREAD; } /* - * (Re) assign resources to allow the ksegrp to implement - * the requested concurrency. At this time it means allocating - * or freeing KSE structures. - * We may not remove all the KSEs if there are enough threads in the - * ksegrp to justify them. They will eventually go away as they are added - * to the free kse queue and threads exit. - */ - -/* - * set up an initial concurrency of 1 - * and set the given thread (if given) to be using that + * Set up an initial concurrency of 1 + * and set the given thread (if given) to be using that * concurrency slot. * May be used "offline"..before the ksegrp is attached to the world * and thus wouldn't need schedlock in that case. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Sep 5 22:32:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2270B16A4D1; Sun, 5 Sep 2004 22:32:52 +0000 (GMT) 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 DBF1416A4CE for ; Sun, 5 Sep 2004 22:32:51 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B672643D39 for ; Sun, 5 Sep 2004 22:32:51 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i85MWpau048566 for ; Sun, 5 Sep 2004 22:32:51 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i85MWpON048563 for perforce@freebsd.org; Sun, 5 Sep 2004 22:32:51 GMT (envelope-from julian@freebsd.org) Date: Sun, 5 Sep 2004 22:32:51 GMT Message-Id: <200409052232.i85MWpON048563@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61065 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Sep 2004 22:32:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=61065 Change 61065 by julian@julian_ref on 2004/09/05 22:31:50 fix mismerges Affected files ... .. //depot/projects/nsched/sys/i386/i386/mp_machdep.c#8 edit .. //depot/projects/nsched/sys/kern/kern_synch.c#11 edit .. //depot/projects/nsched/sys/kern/sched_4bsd.c#37 edit .. //depot/projects/nsched/sys/sys/proc.h#26 edit Differences ... ==== //depot/projects/nsched/sys/i386/i386/mp_machdep.c#8 (text+ko) ==== @@ -555,7 +555,7 @@ binuptime(PCPU_PTR(switchtime)); PCPU_SET(switchticks, ticks); - cpu_throw(NULL, choosethread(SW_VOL)); /* doesn't return */ + cpu_throw(NULL, choosethread()); /* doesn't return */ panic("scheduler returned us to %s", __func__); /* NOTREACHED */ ==== //depot/projects/nsched/sys/kern/kern_synch.c#11 (text+ko) ==== @@ -337,7 +337,7 @@ (void *)td, td->td_sched, (long)p->p_pid, p->p_comm); if (td->td_proc->p_flag & P_SA) newtd = thread_switchout(td, flags, newtd); - sched_switch(td, flags, newtd); + sched_switch(td, newtd); CTR4(KTR_PROC, "mi_switch: new thread %p (kse %p, pid %ld, %s)", (void *)td, td->td_sched, (long)p->p_pid, p->p_comm); ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#37 (text+ko) ==== @@ -432,20 +432,20 @@ * stop recalculating its priority until * it wakes up. */ - if (ke->ke_sched->ske_cpticks == 0) + if (ke->ke_cpticks == 0) continue; #if (FSHIFT >= CCPU_SHIFT) ke->ke_pctcpu += (realstathz == 100) - ? ((fixpt_t) ke->ke_sched->ske_cpticks) << + ? ((fixpt_t) ke->ke_cpticks) << (FSHIFT - CCPU_SHIFT) : - 100 * (((fixpt_t) ke->ke_sched->ske_cpticks) + 100 * (((fixpt_t) ke->ke_cpticks) << (FSHIFT - CCPU_SHIFT)) / realstathz; #else ke->ke_pctcpu += ((FSCALE - ccpu) * - (ke->ke_sched->ske_cpticks * + (ke->ke_cpticks * FSCALE / realstathz)) >> FSHIFT; #endif - ke->ke_sched->ske_cpticks = 0; + ke->ke_cpticks = 0; } /* end of kse loop */ /* * If there are ANY running threads in this KSEGRP, @@ -627,7 +627,7 @@ kg = td->td_ksegrp; ke = td->td_kse; - ke->ke_sched->ske_cpticks++; + ke->ke_cpticks++; kg->kg_estcpu = ESTCPULIM(kg->kg_estcpu + 1); if ((kg->kg_estcpu % INVERSE_ESTCPU_WEIGHT) == 0) { resetpriority(kg); @@ -997,7 +997,7 @@ if ((td->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt--; - runq_remove(ke->ke_sched->ske_runq, ke); + runq_remove(ke->ke_runq, ke); ke->ke_state = KES_THREAD; ke->ke_ksegrp->kg_runq_kses--; ==== //depot/projects/nsched/sys/sys/proc.h#26 (text+ko) ==== @@ -320,7 +320,6 @@ vm_offset_t td_altkstack; /* (a) Kernel VA of alternate kstack. */ int td_altkstack_pages; /* (a) Size of the alt kstack */ u_int td_critnest; /* (k) Critical section nest level. */ - struct kse *td_kse; /* (j) Current KSE if any. */ struct mdthread td_md; /* (k) Any machine-dependent fields. */ struct td_sched *td_sched; /* (*) Scheduler-specific data. */ }; From owner-p4-projects@FreeBSD.ORG Sun Sep 5 22:32:53 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6881E16A4F3; Sun, 5 Sep 2004 22:32:52 +0000 (GMT) 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 17ACE16A4CF for ; Sun, 5 Sep 2004 22:32:52 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0DB3043D1D for ; Sun, 5 Sep 2004 22:32:52 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i85MWp4H048572 for ; Sun, 5 Sep 2004 22:32:51 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i85MWpOE048569 for perforce@freebsd.org; Sun, 5 Sep 2004 22:32:51 GMT (envelope-from julian@freebsd.org) Date: Sun, 5 Sep 2004 22:32:51 GMT Message-Id: <200409052232.i85MWpOE048569@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61066 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Sep 2004 22:32:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=61066 Change 61066 by julian@julian_ref on 2004/09/05 22:32:50 Confirming IFC complete Affected files ... .. //depot/projects/nsched/sys/kern/vfs_mount.c#8 integrate Differences ... ==== //depot/projects/nsched/sys/kern/vfs_mount.c#8 (text+ko) ==== @@ -59,7 +59,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.138 2004/07/30 22:08:52 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_mount.c,v 1.139 2004/09/05 22:24:28 alfred Exp $"); #include #include @@ -274,7 +274,7 @@ optlen = auio->uio_iov[i + 1].iov_len; opt->name = malloc(namelen, M_MOUNT, M_WAITOK); opt->value = NULL; - opt->len = optlen; + opt->len = 0; /* * Do this early, so jumps to "bad" will free the current @@ -308,6 +308,7 @@ goto bad; } if (optlen != 0) { + opt->len = optlen; opt->value = malloc(optlen, M_MOUNT, M_WAITOK); if (auio->uio_segflg == UIO_SYSSPACE) { bcopy(auio->uio_iov[i + 1].iov_base, opt->value, From owner-p4-projects@FreeBSD.ORG Mon Sep 6 04:22:56 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7509716A4D0; Mon, 6 Sep 2004 04:22:56 +0000 (GMT) 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 3CDE416A4CE for ; Mon, 6 Sep 2004 04:22:56 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1F6D043D2D for ; Mon, 6 Sep 2004 04:22:56 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i864MtSR059171 for ; Mon, 6 Sep 2004 04:22:56 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i864MtKc059168 for perforce@freebsd.org; Mon, 6 Sep 2004 04:22:55 GMT (envelope-from julian@freebsd.org) Date: Mon, 6 Sep 2004 04:22:55 GMT Message-Id: <200409060422.i864MtKc059168@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61076 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 04:22:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=61076 Change 61076 by julian@julian_ref on 2004/09/06 04:22:52 Very simplistic code to allow a sleeping thread to nominate a thread to replace it. Affected files ... .. //depot/projects/nsched/sys/kern/kern_switch.c#11 edit .. //depot/projects/nsched/sys/kern/kern_synch.c#12 edit .. //depot/projects/nsched/sys/kern/sched_4bsd.c#38 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#24 edit .. //depot/projects/nsched/sys/sys/sched.h#14 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_switch.c#11 (text+ko) ==== @@ -192,7 +192,7 @@ * sched_thread_exit() (local) * sched_switch() (local) * sched_thread_exit() (local) - * remrunqueue() (local) (commented out) + * remrunqueue() (local) */ static void slot_fill(struct ksegrp *kg) @@ -224,7 +224,7 @@ } } -#if 0 +#ifdef SCHED_4BSD /* * Remove a thread from its KSEGRP's run queue. * This in turn may remove it from a KSE if it was already assigned @@ -248,7 +248,7 @@ * If it is not a threaded process, take the shortcut. */ if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { - /* Bring its kse with it, leave the thread attached */ + /* remve from sys run queue and free up a slot */ sched_rem(td); kg->kg_avail_opennings++; ke->ke_state = KES_THREAD; @@ -259,7 +259,7 @@ kg->kg_runnable--; if (ke->ke_state == KES_ONRUNQ) { /* - * This thread has been assigned to a KSE. + * This thread has been assigned to the system run queue. * We need to dissociate it and try assign the * KSE to the next available thread. Then, we should * see if we need to move the KSE in the run queues. @@ -271,7 +271,7 @@ KASSERT((td2 != NULL), ("last assigned has wrong value")); if (td2 == td) kg->kg_last_assigned = td3; - slot_fill(kg); + /* slot_fill(kg); */ /* will replace it with another */ } } #endif ==== //depot/projects/nsched/sys/kern/kern_synch.c#12 (text+ko) ==== @@ -337,7 +337,7 @@ (void *)td, td->td_sched, (long)p->p_pid, p->p_comm); if (td->td_proc->p_flag & P_SA) newtd = thread_switchout(td, flags, newtd); - sched_switch(td, newtd); + sched_switch(td, newtd, flags); CTR4(KTR_PROC, "mi_switch: new thread %p (kse %p, pid %ld, %s)", (void *)td, td->td_sched, (long)p->p_pid, p->p_comm); ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#38 (text+ko) ==== @@ -733,10 +733,13 @@ td->td_base_pri = td->td_priority; } +static void remrunqueue(struct thread *td); + void -sched_switch(struct thread *td, struct thread *newtd) +sched_switch(struct thread *td, struct thread *newtd, int flags) { struct kse *ke; + struct ksegrp *kg; struct proc *p; ke = td->td_kse; @@ -746,8 +749,28 @@ if ((p->p_flag & P_NOLOAD) == 0) sched_tdcnt--; - if (newtd != NULL && (newtd->td_proc->p_flag & P_NOLOAD) == 0) - sched_tdcnt++; + + /* + * We are volunteering to switch out so we get to nominate + * a successor for the rest of our quantum + * First try another thread in our ksegrp, and then look for + * other ksegrps in our process. + */ + if ((p->p_flag & P_HADTHREADS) && (flags & SW_VOL) && newtd == NULL) { + /* lets schedule another thread from this process */ + kg = td->td_ksegrp; + if ((newtd = TAILQ_FIRST(&kg->kg_runq))) { + remrunqueue(newtd); + } else { + FOREACH_KSEGRP_IN_PROC(p, kg) { + if ((newtd = TAILQ_FIRST(&kg->kg_runq))) { + remrunqueue(newtd); + break; + } + } + } + } + /* * The thread we are about to run needs to be counted as if it had been * added to the run queue and selected. @@ -756,6 +779,9 @@ newtd->td_ksegrp->kg_avail_opennings--; newtd->td_kse->ke_flags |= KEF_DIDRUN; TD_SET_RUNNING(newtd); + if ((newtd->td_proc->p_flag & P_NOLOAD) == 0) + sched_tdcnt++; + } td->td_lastcpu = td->td_oncpu; td->td_flags &= ~TDF_NEEDRESCHED; ==== //depot/projects/nsched/sys/kern/sched_ule.c#24 (text+ko) ==== @@ -1225,7 +1225,7 @@ } void -sched_switch(struct thread *td, struct thread *newtd) +sched_switch(struct thread *td, struct thread *newtd, int flags) { struct kse *ke; ==== //depot/projects/nsched/sys/sys/sched.h#14 (text+ko) ==== @@ -66,7 +66,7 @@ fixpt_t sched_pctcpu(struct thread *td); void sched_prio(struct thread *td, u_char prio); void sched_sleep(struct thread *td); -void sched_switch(struct thread *td, struct thread *newtd); +void sched_switch(struct thread *td, struct thread *newtd, int flags); void sched_userret(struct thread *td); void sched_wakeup(struct thread *td); From owner-p4-projects@FreeBSD.ORG Mon Sep 6 05:58:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2941B16A4D1; Mon, 6 Sep 2004 05:58:52 +0000 (GMT) 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 F0C3916A4CE for ; Mon, 6 Sep 2004 05:58:51 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E617D43D39 for ; Mon, 6 Sep 2004 05:58:51 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i865wpdg061733 for ; Mon, 6 Sep 2004 05:58:51 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i865wpa0061730 for perforce@freebsd.org; Mon, 6 Sep 2004 05:58:51 GMT (envelope-from julian@freebsd.org) Date: Mon, 6 Sep 2004 05:58:51 GMT Message-Id: <200409060558.i865wpa0061730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61078 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 05:58:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=61078 Change 61078 by julian@julian_ref on 2004/09/06 05:58:39 make the followon cod econtrollable by a sysctl Affected files ... .. //depot/projects/nsched/sys/kern/sched_4bsd.c#39 edit Differences ... ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#39 (text+ko) ==== @@ -247,7 +247,12 @@ SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, htt2, CTLFLAG_RW, &forward_wakeup_use_htt, 0, "account for htt"); + #endif +static int sched_followon = 0; +SYSCTL_INT(_kern_sched, OID_AUTO, followon, CTLFLAG_RW, + &sched_followon, 0, + "allow threads to share a quantum"); /* * Arrange to reschedule if necessary, taking the priorities and @@ -756,7 +761,10 @@ * First try another thread in our ksegrp, and then look for * other ksegrps in our process. */ - if ((p->p_flag & P_HADTHREADS) && (flags & SW_VOL) && newtd == NULL) { + if (sched_followon && + (p->p_flag & P_HADTHREADS) && + (flags & SW_VOL) && + newtd == NULL) { /* lets schedule another thread from this process */ kg = td->td_ksegrp; if ((newtd = TAILQ_FIRST(&kg->kg_runq))) { From owner-p4-projects@FreeBSD.ORG Mon Sep 6 06:14:11 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E8DA016A4D1; Mon, 6 Sep 2004 06:14:10 +0000 (GMT) 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 AC48016A4CE for ; Mon, 6 Sep 2004 06:14:10 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A24C843D4C for ; Mon, 6 Sep 2004 06:14:10 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i866EAuf062102 for ; Mon, 6 Sep 2004 06:14:10 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i866EA6q062099 for perforce@freebsd.org; Mon, 6 Sep 2004 06:14:10 GMT (envelope-from julian@freebsd.org) Date: Mon, 6 Sep 2004 06:14:10 GMT Message-Id: <200409060614.i866EA6q062099@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61079 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 06:14:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=61079 Change 61079 by julian@julian_ref on 2004/09/06 06:13:38 keep stats on followons Affected files ... .. //depot/projects/nsched/sys/kern/sched_4bsd.c#40 edit Differences ... ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#40 (text+ko) ==== @@ -254,6 +254,16 @@ &sched_followon, 0, "allow threads to share a quantum"); +static int sched_pfollowons = 0; +SYSCTL_INT(_kern_sched, OID_AUTO, pfollowons, CTLFLAG_RD, + &sched_pfollowons, 0, + "number of followons done to a different ksegrp"); + +static int sched_kgfollowons = 0; +SYSCTL_INT(_kern_sched, OID_AUTO, kgfollowons, CTLFLAG_RD, + &sched_kgfollowons, 0, + "number of followons done in a ksegrp"); + /* * Arrange to reschedule if necessary, taking the priorities and * schedulers into account. @@ -769,9 +779,11 @@ kg = td->td_ksegrp; if ((newtd = TAILQ_FIRST(&kg->kg_runq))) { remrunqueue(newtd); + sched_kgfollowons++; } else { FOREACH_KSEGRP_IN_PROC(p, kg) { if ((newtd = TAILQ_FIRST(&kg->kg_runq))) { + sched_pfollowons++; remrunqueue(newtd); break; } From owner-p4-projects@FreeBSD.ORG Mon Sep 6 09:59:12 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EE9C16A4D0; Mon, 6 Sep 2004 09:59:11 +0000 (GMT) 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 424D816A4CE for ; Mon, 6 Sep 2004 09:59:11 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 17FF043D3F for ; Mon, 6 Sep 2004 09:59:11 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i869xBOF069707 for ; Mon, 6 Sep 2004 09:59:11 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i869x38d069704 for perforce@freebsd.org; Mon, 6 Sep 2004 09:59:03 GMT (envelope-from scottl@freebsd.org) Date: Mon, 6 Sep 2004 09:59:03 GMT Message-Id: <200409060959.i869x38d069704@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Subject: PERFORCE change 61084 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 09:59:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=61084 Change 61084 by scottl@scottl-wv1u on 2004/09/06 09:58:18 IFC. Note that this does not contain a couple of needed changes. Affected files ... .. //depot/projects/newint/sys/dev/acpica/acpi.c#4 edit .. //depot/projects/newint/sys/i386/conf/GENERIC#3 edit .. //depot/projects/newint/sys/i386/i386/nexus.c#4 edit .. //depot/projects/newint/sys/kern/bus_if.m#4 edit .. //depot/projects/newint/sys/kern/subr_bus.c#6 edit .. //depot/user/jeff/sysenter/src/lib/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/csu/alpha/crt1.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/csu/amd64/crt1.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/csu/arm/Makefile#1 branch .. //depot/user/jeff/sysenter/src/lib/csu/arm/crt1.c#1 branch .. //depot/user/jeff/sysenter/src/lib/csu/arm/crti.S#1 branch .. //depot/user/jeff/sysenter/src/lib/csu/arm/crtn.S#1 branch .. //depot/user/jeff/sysenter/src/lib/csu/i386-elf/crt1.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/csu/ia64/crt1.S#2 integrate .. //depot/user/jeff/sysenter/src/lib/csu/powerpc/crt1.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/csu/sparc64/crt1.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_cuseeme.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_db.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_ftp.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_irc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_local.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_nbt.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_old.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_pptp.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_proxy.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_skinny.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_smedia.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/alias_util.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libalias/libalias.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/COPYING#1 branch .. //depot/user/jeff/sysenter/src/lib/libarchive/INSTALL#1 branch .. //depot/user/jeff/sysenter/src/lib/libarchive/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/Makefile.am#1 branch .. //depot/user/jeff/sysenter/src/lib/libarchive/README#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libarchive/archive.h.in#1 branch .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_entry.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_entry.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_entry.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_platform.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_private.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_data_into_buffer.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_data_into_fd.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_extract.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_open_fd.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_open_file.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_support_compression_all.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_support_compression_bzip2.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_support_compression_compress.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_support_compression_gzip.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_support_compression_none.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_support_format_all.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_support_format_cpio.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_read_support_format_tar.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_string.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_string.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_string_sprintf.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_util.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_util.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_open_fd.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_open_file.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_set_compression_bzip2.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_set_compression_gzip.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_set_compression_none.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_set_format_by_name.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_set_format_pax.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_set_format_shar.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/archive_write_set_format_ustar.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/configure.ac.in#1 branch .. //depot/user/jeff/sysenter/src/lib/libarchive/libarchive-formats.5#1 branch .. //depot/user/jeff/sysenter/src/lib/libarchive/libarchive.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libarchive/tar.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libatm/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libautofs/Makefile#1 branch .. //depot/user/jeff/sysenter/src/lib/libautofs/libautofs.3#1 branch .. //depot/user/jeff/sysenter/src/lib/libautofs/libautofs.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libautofs/libautofs.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libbluetooth/bluetooth.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libbsnmp/libbsnmp/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libbsnmp/modules/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libbsnmp/modules/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libbsnmp/modules/snmp_atm/BEGEMOT-ATM-FREEBSD-MIB.txt#1 branch .. //depot/user/jeff/sysenter/src/lib/libbsnmp/modules/snmp_atm/Makefile#1 branch .. //depot/user/jeff/sysenter/src/lib/libbsnmp/modules/snmp_atm/atm_freebsd.def#1 branch .. //depot/user/jeff/sysenter/src/lib/libbsnmp/modules/snmp_atm/atm_sys.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/alpha/gen/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/alpha/gen/_set_tp.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/alpha/gen/frexp.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/alpha/gen/isinf.c#3 delete .. //depot/user/jeff/sysenter/src/lib/libc/amd64/gen/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/amd64/gen/_set_tp.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/amd64/gen/flt_rounds.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/amd64/gen/frexp.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/amd64/gen/isinf.c#3 delete .. //depot/user/jeff/sysenter/src/lib/libc/amd64/gen/makecontext.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/amd64/gen/signalcontext.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/arm/SYS.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/_fpmath.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/arith.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/_ctx_start.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/_setjmp.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/alloca.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/divsi3.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/fabs.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/infinity.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/ldexp.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/makecontext.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/modf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/setjmp.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/signalcontext.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/gen/sigsetjmp.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/net/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/net/htonl.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/net/htons.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/net/ntohl.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/net/ntohs.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/softfloat/arm-gcc.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/softfloat/milieu.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/softfloat/softfloat.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/stdlib/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/stdlib/gdtoa.mk#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/bcopy.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/bzero.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/ffs.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/memcmp.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/memcpy.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/memcpy_arm.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/memcpy_xscale.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/memmove.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/memset.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/strcmp.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/string/strncmp.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/Ovfork.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/brk.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/cerror.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/fork.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/getcontext.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/pipe.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/ptrace.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/sbrk.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/shmat.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/sigreturn.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/arm/sys/syscall.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/compat-43/gethostid.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/compat-43/sigvec.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/db/man/btree.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/db/man/dbopen.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/db/man/mpool.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/db/man/recno.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/Makefile.inc#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/_pthread_stubs.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/basename.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/directory.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/dirname.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/dladdr.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/dlinfo.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/dllockinit.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/dlopen.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/fmtcheck.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/fmtcheck.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/fnmatch.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/fnmatch.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/fpclassify.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/frexp.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/gen/ftok.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/ftok.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/fts.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/fts.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/ftw.3#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/gen/ftw.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/gen/getbootfile.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getcap.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getdiskbyname.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getdomainname.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getfsent.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getgrent.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getgrent.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/gethostname.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getnetgrent.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getobjformat.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getpwent.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getpwent.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/getttyent.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/glob.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/glob.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/isinf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/gen/isnan.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/gen/lockf.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/msgrcv.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/nftw.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/gen/opendir.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/rand48.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/sem_destroy.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/sem_getvalue.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/sem_init.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/sem_open.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/sem_post.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/sem_wait.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/setjmp.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/setproctitle.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/shm_open.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/signal.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/signbit.3#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/gen/signbit.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/gen/sleep.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/sysctl.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/syslog.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/time.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/tls.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/gen/tzset.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/ualarm.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/ucontext.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/unvis.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/unvis.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/vis.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/wordexp.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gen/wordexp.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gmon/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/gmon/moncontrol.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/i386/gen/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/i386/gen/_ctx_start.S#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/i386/gen/_set_tp.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/i386/gen/flt_rounds.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/i386/gen/frexp.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/i386/gen/isinf.c#3 delete .. //depot/user/jeff/sysenter/src/lib/libc/i386/gen/makecontext.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/i386/gen/signalcontext.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/i386/sys/i386_get_ioperm.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/i386/sys/i386_get_ldt.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/i386/sys/i386_set_watch.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/ia64/gen/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/ia64/gen/_mcount.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/ia64/gen/_set_tp.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/ia64/gen/flt_rounds.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/ia64/gen/frexp.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/ia64/gen/isinf.c#3 delete .. //depot/user/jeff/sysenter/src/lib/libc/ia64/string/memcpy.S#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/ia64/string/memmove.S#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/include/libc_private.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/Makefile.inc#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/big5.5#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/big5.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/btowc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/ctype.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/euc.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/euc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/frune.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/gb18030.5#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/gb18030.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/gb2312.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/gb2312.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/gbk.5#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/gbk.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isalnum.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isalpha.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isblank.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/iscntrl.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isdigit.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isgraph.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isideogram.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/islower.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isprint.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/ispunct.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isspace.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isupper.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/isxdigit.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/ldpart.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/localeconv.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mblen.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mblen.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mblocal.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbrlen.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbrlen.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbrtowc.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbrtowc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbrune.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbrune.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbsinit.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbsnrtowcs.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbsrtowcs.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbsrtowcs.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbstowcs.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbstowcs.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbtowc.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mbtowc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mskanji.5#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/mskanji.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/multibyte.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/nextwctype.3#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/locale/nextwctype.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/locale/none.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/rune.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/rune.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/runetype.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/setinvalidrune.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/setlocale.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/setrunelocale.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/srune.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/table.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/tolower.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/tolower.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/toupper.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/toupper.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/utf2.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/utf2.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/utf8.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wcrtomb.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wcsnrtombs.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/locale/wcsrtombs.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wcsrtombs.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wcstombs.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wcstombs.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wctob.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wctomb.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wctomb.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wcwidth.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/locale/wcwidth.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/Makefile.inc#4 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/addr2ascii.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/byteorder.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/eui64.3#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/net/eui64.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/net/getaddrinfo.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/getaddrinfo.c#4 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/gethostbydns.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/gethostbyname.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/getifaddrs.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/getifmaddrs.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/getipnodebyname.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/getnameinfo.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/getnetent.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/getprotoent.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/getservent.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/inet.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/inet6_opt_init.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/inet6_rth_space.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/inet6_rthdr_space.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/linkaddr.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/name6.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/res_query.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/net/resolver.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_delete.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_delete_entry.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_delete_perm.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_dup.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_free.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_from_text.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_get.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_get_entry.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_get_qualifier.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_init.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_set.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_set_qualifier.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_set_tag_type.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_to_text.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/acl_valid.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/mac_get.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/mac_prepare.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/posix1e/mac_text.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/powerpc/_fpmath.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/powerpc/gen/Makefile.inc#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/powerpc/gen/_set_tp.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/powerpc/gen/frexp.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/powerpc/gen/isinf.c#3 delete .. //depot/user/jeff/sysenter/src/lib/libc/powerpc/gen/makecontext.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/powerpc/gen/signalcontext.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/powerpc/stdlib/gdtoa.mk#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/engine.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/grot/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/grot/debug.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/grot/limits.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/regex/grot/stdlib.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/regex/re_format.7#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/regcomp.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/regerror.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/regex.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/regex2.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/regexec.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/regex/regfree.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/rpc/clnt_vc.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/rpc/getrpcent.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/rpc/getrpcport.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/rpc/rpc.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/rpc/rpc_secure.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/rpc/svc_vc.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/README.NetBSD#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/README.txt#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/bits32/softfloat-macros#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/bits32/softfloat.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/bits64/softfloat-macros#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/bits64/softfloat.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/eqdf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/eqsf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/fpgetmask.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/fpgetround.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/fpgetsticky.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/fpsetmask.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/fpsetround.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/fpsetsticky.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/gedf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/gesf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/gtdf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/gtsf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/ledf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/lesf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/ltdf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/ltsf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/nedf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/negdf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/negsf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/nesf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/softfloat-for-gcc.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/softfloat-history.txt#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/softfloat-source.txt#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/softfloat-specialize#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/softfloat.txt#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/templates/milieu.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/templates/softfloat-specialize#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/templates/softfloat.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/timesoftfloat.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/timesoftfloat.txt#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/unorddf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/softfloat/unordsf2.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/sparc64/fpu/fpu_implode.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sparc64/gen/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sparc64/gen/_set_tp.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/sparc64/gen/frexp.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libc/sparc64/gen/isinf.c#3 delete .. //depot/user/jeff/sysenter/src/lib/libc/stdio/Makefile.inc#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fflush.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fgetln.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fgetln.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fgetwc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fgetwln.3#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fgetwln.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fgetws.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/findfp.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fputwc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fputws.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/freopen.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fseek.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/funopen.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/fvwrite.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/getwc.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/getwchar.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/local.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/printf.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/putwc.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/putwchar.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/setbuf.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/stdio.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/tmpnam.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/ungetwc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/vfprintf.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/vfscanf.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/vfwprintf.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/vfwscanf.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/wbuf.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdio/wsetup.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/Makefile.inc#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/exit.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/getenv.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/getopt.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/getopt_long.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/malloc.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/malloc.c#4 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/qsort.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/radixsort.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/random.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdlib/tsearch.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdtime/asctime.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdtime/ctime.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdtime/difftime.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdtime/localtime.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdtime/private.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdtime/strftime.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdtime/strftime.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/stdtime/strptime.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/string/ffs.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/string/strlcpy.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/string/strsep.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/accept.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/aio_error.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/aio_read.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/aio_suspend.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/aio_write.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/chflags.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/chmod.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/chroot.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/clock_gettime.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/close.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/connect.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/dup.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/execve.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/extattr_get_file.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/fcntl.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/flock.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/fork.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getdtablesize.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getfsstat.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getitimer.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getlogin.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getpriority.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getrlimit.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getrusage.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getsockname.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/getsockopt.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/gettimeofday.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/intro.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/ioctl.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/issetugid.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/jail.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/kldnext.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/kldstat.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/kqueue.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/link.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/lseek.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/madvise.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/mlock.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/mlockall.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/mmap.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/modnext.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/modstat.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/mount.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/msync.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/nanosleep.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/nfssvc.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/ntp_gettime.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/open.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/pathconf.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/pipe.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/poll.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/ptrace.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/read.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/recv.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/rename.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/rfork.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/sched_get_priority_max.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/sched_setparam.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/sched_setscheduler.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/sched_yield.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/select.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/semctl.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/semget.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/send.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/sendfile.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/setuid.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/shmat.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/shmctl.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/shmget.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/sigaction.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/sigwait.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/socket.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/statfs.2#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/swapon.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/sysarch.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/truncate.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/umask.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/unlink.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/utrace.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/vfork.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/wait.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/sys/write.2#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc/xdr/xdr_float.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libc_r/uthread/uthread_write.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libc_r/uthread/uthread_writev.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libcalendar/calendar.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libcam/cam.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libcam/cam_cdbparse.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libcam/camlib.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libcompat/4.3/rexec.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libcompat/4.4/cuserid.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libcompat/regexp/regexp.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libcrypt/crypt.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libdevinfo/devinfo.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libdevstat/devstat.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libdevstat/devstat.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/chunk.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/create_chunk.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/disk.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/libdisk.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/libdisk.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/open_disk.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/open_ia64_disk.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/write_alpha_disk.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/write_amd64_disk.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/write_i386_disk.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/write_pc98_disk.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libdisk/write_powerpc_disk.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libfetch/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libfetch/fetch.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libfetch/http.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libftpio/ftpio.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libgeom/libgeom.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libipsec/ipsec_set_policy.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libipx/ipx.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libipx/ipx_ntoa.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libkiconv/kiconv.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_amd64.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_arm.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_getfiles.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_getprocs.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_getswapinfo.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_getswapinfo.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_nlist.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_open.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_proc.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libkvm/kvm_read.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libmagic/Makefile#1 branch .. //depot/user/jeff/sysenter/src/lib/libmagic/config.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libmd/ripemd.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libmd/sha.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libmilter/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libmp/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libncp/ncpl_conn.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libncp/ncpl_subr.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libnetgraph/netgraph.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libngatm/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/libpam/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_chroot/pam_chroot.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_echo/pam_echo.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_exec/pam_exec.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_ftpusers/pam_ftpusers.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_group/pam_group.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_guest/pam_guest.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_krb5/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_ksu/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_lastlog/pam_lastlog.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_login_access/login.access.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_login_access/pam_login_access.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_passwdqc/pam_passwdqc.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_radius/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_radius/pam_radius.8#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_radius/pam_radius.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_rhosts/pam_rhosts.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_self/pam_self.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_ssh/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_ssh/pam_ssh.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpam/modules/pam_tacplus/pam_tacplus.8#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/alpha/alpha/pthread_md.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/alpha/include/pthread_md.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/amd64/amd64/context.S#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/amd64/amd64/enter_uts.S#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/amd64/amd64/pthread_md.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/amd64/include/pthread_md.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/arm/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/arm/arm/context.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/arm/arm/pthread_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/arm/include/atomic_ops.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/arm/include/pthread_md.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/i386/i386/pthread_md.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/i386/include/pthread_md.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/ia64/ia64/pthread_md.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/ia64/include/pthread_md.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/powerpc/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/powerpc/include/atomic_ops.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/powerpc/include/pthread_md.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/powerpc/powerpc/assym.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/powerpc/powerpc/assym.s#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/powerpc/powerpc/context.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/powerpc/powerpc/enter_uts.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/powerpc/powerpc/pthread_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/sparc64/include/pthread_md.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/arch/sparc64/sparc64/pthread_md.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/pthread.map#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/Makefile.inc#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_create.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_exit.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_init.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_kern.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_priority_queue.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_private.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_sig.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_sigsuspend.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_spec.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libpthread/thread/thr_symbols.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libpthread_dbg/Makefile#2 delete .. //depot/user/jeff/sysenter/src/lib/libpthread_dbg/arch/i386/Makefile.inc#2 delete .. //depot/user/jeff/sysenter/src/lib/libpthread_dbg/arch/i386/i386/pthread_dbg_md.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libpthread_dbg/arch/i386/include/pthread_dbg_md.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libpthread_dbg/pthread_dbg.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libpthread_dbg/pthread_dbg.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libpthread_dbg/pthread_dbg_int.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libradius/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libradius/libradius.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libradius/radius.conf.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libradius/radlib.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libradius/radlib.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libradius/radlib_private.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libradius/radlib_vs.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libsdp/sdp.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libsm/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libstand/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libstand/arm/_setjmp.S#1 branch .. //depot/user/jeff/sysenter/src/lib/libstand/libstand.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libstand/ufs.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libstand/zalloc_defs.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libtacplus/libtacplus.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libtacplus/tacplus.conf.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libtelnet/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/arch/amd64/Makefile.inc#1 branch .. //depot/user/jeff/sysenter/src/lib/libthr/arch/amd64/amd64/_setcurthread.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthr/arch/i386/i386/_curthread.S#2 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/arch/i386/i386/_setcurthread.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/Makefile.inc#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_atfork.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_barrier.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_cancel.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_cond.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_create.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_detach.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_exit.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_init.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_join.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_mutex.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_private.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_resume_np.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_rwlock.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_setschedparam.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_sig.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_spinlock.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthr/thread/thr_syscalls.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libthread_db/Makefile#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/alpha/libc_r_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/alpha/libpthread_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/amd64/libc_r_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/amd64/libpthread_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/i386/libc_r_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/i386/libpthread_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/ia64/libc_r_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/ia64/libpthread_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/sparc64/libc_r_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/arch/sparc64/libpthread_md.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/libc_r_db.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/libpthread_db.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/libpthread_db.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/libthr_db.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/thread_db.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/thread_db.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libthread_db/thread_db_int.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libufs/bread.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libufs/cgread.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libufs/getino.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libufs/libufs.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libufs/sbread.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libufs/ufs_disk_close.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libugidfw/bsde_get_rule.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libugidfw/bsde_get_rule_count.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libugidfw/bsde_parse_rule.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libugidfw/bsde_rule_to_string.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libugidfw/libugidfw.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/libusbhid/usbhid.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/auth.conf.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/fparseln.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/humanize_number.3#1 branch .. //depot/user/jeff/sysenter/src/lib/libutil/humanize_number.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libutil/libutil.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/login.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/login.conf.5#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/login_cap.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/login_cap.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/login_class.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/login_ok.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/login_times.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/login_tty.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/logout.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/property.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/pty.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/pw_util.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/realhostname.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/realhostname_sa.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/trimdomain.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libutil/uucplock.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libvgl/main.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libvgl/vgl.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/liby/main.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/ChangeLog#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/FAQ#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/Makefile#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/README#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/adler32.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/algorithm.txt#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/compress.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/crc32.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/crc32.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libz/deflate.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/deflate.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/example.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/gzio.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/infback.c#1 branch .. //depot/user/jeff/sysenter/src/lib/libz/infblock.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libz/infblock.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libz/infcodes.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libz/infcodes.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libz/inffast.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/inffast.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/inffixed.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/inflate.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/inflate.h#1 branch .. //depot/user/jeff/sysenter/src/lib/libz/inftrees.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/inftrees.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/infutil.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libz/infutil.h#2 delete .. //depot/user/jeff/sysenter/src/lib/libz/maketree.c#2 delete .. //depot/user/jeff/sysenter/src/lib/libz/minigzip.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/trees.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/uncompr.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/zconf.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/zlib.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/zlib.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/zutil.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/libz/zutil.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/lib/msun/alpha/fenv.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/alpha/fenv.h#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/amd64/fenv.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/amd64/fenv.h#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/arm/fenv.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/arm/fenv.h#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/bsdsrc/b_exp.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/bsdsrc/mathimpl.h#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/i387/fenv.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/i387/fenv.h#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/i387/s_ilogb.S#2 delete .. //depot/user/jeff/sysenter/src/lib/msun/ia64/fenv.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/ia64/fenv.h#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/asin.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/atan2.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/atanh.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/ceil.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/cimag.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/erf.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/exp.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/fabs.3#3 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/fdim.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/feclearexcept.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/fegetenv.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/fegetround.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/fenv.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/floor.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/fmax.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/hypot.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/ieee.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/ieee_test.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/math.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/rint.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/round.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/signbit.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/man/sinh.3#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/man/trunc.3#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/powerpc/fenv.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/powerpc/fenv.h#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/sparc64/fenv.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/sparc64/fenv.h#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/e_atan2f.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/e_pow.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/e_powf.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/e_scalb.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/e_scalbf.c#3 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/k_tan.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/k_tanf.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/math.h#3 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/s_cimag.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_cimagf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_cimagl.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_conj.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_conjf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_conjl.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_copysignl.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_creal.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_crealf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_creall.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_fdim.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_fmax.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_fmaxf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_fmaxl.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_fmin.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_fminf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_fminl.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_isfinite.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_isnan.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/s_isnanf.c#2 delete .. //depot/user/jeff/sysenter/src/lib/msun/src/s_isnormal.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_nearbyint.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_rintf.c#2 integrate .. //depot/user/jeff/sysenter/src/lib/msun/src/s_round.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_roundf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_scalbln.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_signbit.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_trunc.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/s_truncf.c#1 branch .. //depot/user/jeff/sysenter/src/lib/msun/src/w_dremf.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/Makefile#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/alpha-gdbstub.c#2 delete .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/api_up1000.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/autoconf.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/busdma_machdep.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/db_disasm.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/db_interface.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/db_trace.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_1000a.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_2100_a50.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_2100_a500.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_axppci_33.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_eb164.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_eb64plus.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_kn20aa.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_kn300.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_st550.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/dec_st6600.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/elf_machdep.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/fp_emulate.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/gdb_machdep.c#1 branch .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/ieee_float.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/interrupt.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/machdep.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/mem.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/pmap.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/promcons.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/sgmap.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/support.s#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/trap.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/uio_machdep.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/uma_machdep.c#1 branch .. //depot/user/jeff/sysenter/src/sys/alpha/alpha/vm_machdep.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/conf/GENERIC#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/conf/GENERIC.hints#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/conf/NOTES#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/_stdint.h#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/cpu.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/critical.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/db_machdep.h#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/float.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/fpu.h#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/gdb_machdep.h#1 branch .. //depot/user/jeff/sysenter/src/sys/alpha/include/kdb.h#1 branch .. //depot/user/jeff/sysenter/src/sys/alpha/include/memdev.h#1 branch .. //depot/user/jeff/sysenter/src/sys/alpha/include/param.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/pc/bios.h#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/pcb.h#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/pmap.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/profile.h#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/ptrace.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/include/sf_buf.h#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/isa/isa.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/linux/linux.h#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/linux/linux_machdep.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/linux/linux_proto.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/linux/linux_syscall.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/linux/linux_sysent.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/linux/linux_sysvec.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/linux/syscalls.master#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/mcbus/mcpcia.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/osf1/osf1_misc.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/osf1/osf1_proto.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/osf1/osf1_syscall.h#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/osf1/osf1_sysent.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/osf1/syscalls.master#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/pci/apecs.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/pci/cia.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/pci/pcibus.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/pci/t2.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/pci/tsunami.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/pci/tsunami_pci.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/tlsb/dwlpx.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/alpha/tlsb/zs_tlsb.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/amd64/acpica/madt.c#2 integrate .. //depot/user/jeff/sysenter/src/sys/amd64/amd64/amd64-gdbstub.c#3 delete .. //depot/user/jeff/sysenter/src/sys/amd64/amd64/amd64_mem.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/amd64/amd64/apic_vector.S#2 integrate .. //depot/user/jeff/sysenter/src/sys/amd64/amd64/autoconf.c#3 integrate .. //depot/user/jeff/sysenter/src/sys/amd64/amd64/busdma_machdep.c#3 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Sep 6 11:32:06 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FBC916A4D0; Mon, 6 Sep 2004 11:32:06 +0000 (GMT) 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 1116016A4CE for ; Mon, 6 Sep 2004 11:32:06 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0960C43D5C for ; Mon, 6 Sep 2004 11:32:06 +0000 (GMT) (envelope-from jmallett@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i86BW5fw075771 for ; Mon, 6 Sep 2004 11:32:05 GMT (envelope-from jmallett@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i86BW5Av075768 for perforce@freebsd.org; Mon, 6 Sep 2004 11:32:05 GMT (envelope-from jmallett@freebsd.org) Date: Mon, 6 Sep 2004 11:32:05 GMT Message-Id: <200409061132.i86BW5Av075768@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jmallett@freebsd.org using -f From: Juli Mallett To: Perforce Change Reviews Subject: PERFORCE change 61088 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 11:32:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=61088 Change 61088 by jmallett@jmallett_toxic on 2004/09/06 11:32:00 Wild-assed guess after having not gotten to think about MIPS for a while- maybe I need to be more judicious about flushing out the cache? I dunno, what with ASID tagging, but it's worth getting this thought out even if I can't test it, in trying to figure out why cached stuff goes wrong even though it worked at first. Affected files ... .. //depot/projects/mips/sys/mips/mips/pmap.c#39 edit Differences ... ==== //depot/projects/mips/sys/mips/mips/pmap.c#39 (text+ko) ==== @@ -1681,6 +1681,7 @@ alpha_pal_swpctx((u_long)td->td_md.md_pcbpaddr); */ } + mips_dcache_wbinv_all(); } void @@ -1691,6 +1692,7 @@ pmap = vmspace_pmap(td->td_proc->p_vmspace); atomic_clear_int(&pmap->pm_active, PCPU_GET(cpumask)); pmap_active = 0; + mips_dcache_wbinv_all(); } /* From owner-p4-projects@FreeBSD.ORG Mon Sep 6 17:15:05 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B07316A4D0; Mon, 6 Sep 2004 17:15:05 +0000 (GMT) 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 5636A16A4CE for ; Mon, 6 Sep 2004 17:15:05 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1966E43D53 for ; Mon, 6 Sep 2004 17:15:05 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i86HF4D5086641 for ; Mon, 6 Sep 2004 17:15:04 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i86HF4Sv086638 for perforce@freebsd.org; Mon, 6 Sep 2004 17:15:04 GMT (envelope-from julian@freebsd.org) Date: Mon, 6 Sep 2004 17:15:04 GMT Message-Id: <200409061715.i86HF4Sv086638@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61098 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Sep 2004 17:15:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=61098 Change 61098 by julian@julian_ref on 2004/09/06 17:14:16 IFC@61096 Affected files ... .. //depot/projects/nsched/sys/i386/linux/linux_machdep.c#4 integrate .. //depot/projects/nsched/sys/i386/linux/linux_proto.h#3 integrate .. //depot/projects/nsched/sys/i386/linux/linux_syscall.h#3 integrate .. //depot/projects/nsched/sys/i386/linux/linux_sysent.c#3 integrate .. //depot/projects/nsched/sys/i386/linux/syscalls.master#3 integrate .. //depot/projects/nsched/sys/kern/kern_switch.c#12 integrate .. //depot/projects/nsched/sys/kern/sched_4bsd.c#41 edit .. //depot/projects/nsched/sys/netinet/ip_output.c#10 integrate .. //depot/projects/nsched/sys/pci/if_pcn.c#6 integrate Differences ... ==== //depot/projects/nsched/sys/i386/linux/linux_machdep.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.43 2004/09/01 02:11:27 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.44 2004/09/06 09:32:59 dfr Exp $"); #include #include @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -828,3 +829,29 @@ sa.length = args->length; return ftruncate(td, &sa); } + +int +linux_set_thread_area(struct thread *td, struct linux_set_thread_area_args *args) +{ + /* + * Return an error code instead of raising a SIGSYS so that + * the caller will fall back to simpler LDT methods. + */ + return (ENOSYS); +} + +int +linux_gettid(struct thread *td, struct linux_gettid_args *args) +{ + + td->td_retval[0] = td->td_proc->p_pid; + return (0); +} + +int +linux_tkill(struct thread *td, struct linux_tkill_args *args) +{ + + return (linux_kill(td, (struct linux_kill_args *) args)); +} + ==== //depot/projects/nsched/sys/i386/linux/linux_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.60 2004/08/24 20:24:34 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.57 2004/08/24 20:21:21 jhb Exp + * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.61 2004/09/06 09:33:30 dfr Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.58 2004/09/06 09:32:59 dfr Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -641,6 +641,9 @@ char cmd_l_[PADL_(l_uint)]; l_uint cmd; char cmd_r_[PADR_(l_uint)]; char arg_l_[PADL_(l_ulong)]; l_ulong arg; char arg_r_[PADR_(l_ulong)]; }; +struct linux_gettid_args { + register_t dummy; +}; struct linux_setxattr_args { register_t dummy; }; @@ -677,6 +680,13 @@ struct linux_fremovexattr_args { register_t dummy; }; +struct linux_tkill_args { + char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)]; + char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)]; +}; +struct linux_set_thread_area_args { + char entry_l_[PADL_(void *)]; void * entry; char entry_r_[PADR_(void *)]; +}; struct linux_fadvise64_args { register_t dummy; }; @@ -832,6 +842,7 @@ int linux_mincore(struct thread *, struct linux_mincore_args *); int linux_getdents64(struct thread *, struct linux_getdents64_args *); int linux_fcntl64(struct thread *, struct linux_fcntl64_args *); +int linux_gettid(struct thread *, struct linux_gettid_args *); int linux_setxattr(struct thread *, struct linux_setxattr_args *); int linux_lsetxattr(struct thread *, struct linux_lsetxattr_args *); int linux_fsetxattr(struct thread *, struct linux_fsetxattr_args *); @@ -844,6 +855,8 @@ int linux_removexattr(struct thread *, struct linux_removexattr_args *); int linux_lremovexattr(struct thread *, struct linux_lremovexattr_args *); int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); +int linux_tkill(struct thread *, struct linux_tkill_args *); +int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); #ifdef COMPAT_43 ==== //depot/projects/nsched/sys/i386/linux/linux_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.54 2004/08/24 20:24:34 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.57 2004/08/24 20:21:21 jhb Exp + * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.55 2004/09/06 09:33:30 dfr Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.58 2004/09/06 09:32:59 dfr Exp */ #define LINUX_SYS_exit 1 @@ -213,6 +213,7 @@ #define LINUX_SYS_madvise 219 #define LINUX_SYS_linux_getdents64 220 #define LINUX_SYS_linux_fcntl64 221 +#define LINUX_SYS_linux_gettid 224 #define LINUX_SYS_linux_setxattr 226 #define LINUX_SYS_linux_lsetxattr 227 #define LINUX_SYS_linux_fsetxattr 228 @@ -225,6 +226,8 @@ #define LINUX_SYS_linux_removexattr 235 #define LINUX_SYS_linux_lremovexattr 236 #define LINUX_SYS_linux_fremovexattr 237 +#define LINUX_SYS_linux_tkill 238 +#define LINUX_SYS_linux_set_thread_area 243 #define LINUX_SYS_linux_fadvise64 250 #define LINUX_SYS_exit_group 252 #define LINUX_SYS_MAXSYSCALL 268 ==== //depot/projects/nsched/sys/i386/linux/linux_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.61 2004/08/24 20:24:34 jhb Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.57 2004/08/24 20:21:21 jhb Exp + * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.62 2004/09/06 09:33:30 dfr Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.58 2004/09/06 09:32:59 dfr Exp */ #include "opt_compat.h" @@ -241,7 +241,7 @@ { SYF_MPSAFE | AS(linux_fcntl64_args), (sy_call_t *)linux_fcntl64 }, /* 221 = linux_fcntl64 */ { 0, (sy_call_t *)nosys }, /* 222 = */ { 0, (sy_call_t *)nosys }, /* 223 = */ - { 0, (sy_call_t *)nosys }, /* 224 = linux_gettid */ + { 0, (sy_call_t *)linux_gettid }, /* 224 = linux_gettid */ { 0, (sy_call_t *)nosys }, /* 225 = linux_readahead */ { 0, (sy_call_t *)linux_setxattr }, /* 226 = linux_setxattr */ { 0, (sy_call_t *)linux_lsetxattr }, /* 227 = linux_lsetxattr */ @@ -255,12 +255,12 @@ { 0, (sy_call_t *)linux_removexattr }, /* 235 = linux_removexattr */ { 0, (sy_call_t *)linux_lremovexattr }, /* 236 = linux_lremovexattr */ { 0, (sy_call_t *)linux_fremovexattr }, /* 237 = linux_fremovexattr */ - { 0, (sy_call_t *)nosys }, /* 238 = linux_tkill */ + { AS(linux_tkill_args), (sy_call_t *)linux_tkill }, /* 238 = linux_tkill */ { 0, (sy_call_t *)nosys }, /* 239 = linux_sendfile64 */ { 0, (sy_call_t *)nosys }, /* 240 = linux_futex */ { 0, (sy_call_t *)nosys }, /* 241 = linux_sched_setaffinity */ { 0, (sy_call_t *)nosys }, /* 242 = linux_sched_getaffinity */ - { 0, (sy_call_t *)nosys }, /* 243 = linux_set_thread_area */ + { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys }, /* 244 = linux_get_thread_area */ { 0, (sy_call_t *)nosys }, /* 245 = linux_io_setup */ { 0, (sy_call_t *)nosys }, /* 246 = linux_io_destroy */ ==== //depot/projects/nsched/sys/i386/linux/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.57 2004/08/24 20:21:21 jhb Exp $ + $FreeBSD: src/sys/i386/linux/syscalls.master,v 1.58 2004/09/06 09:32:59 dfr Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -297,7 +297,7 @@ 221 MSTD { int linux_fcntl64(l_uint fd, l_uint cmd, l_ulong arg); } 222 UNIMPL 223 UNIMPL -224 UNIMPL linux_gettid +224 STD { long linux_gettid(void); } 225 UNIMPL linux_readahead 226 STD { int linux_setxattr(void); } 227 STD { int linux_lsetxattr(void); } @@ -311,12 +311,12 @@ 235 STD { int linux_removexattr(void); } 236 STD { int linux_lremovexattr(void); } 237 STD { int linux_fremovexattr(void); } -238 UNIMPL linux_tkill +238 STD { int linux_tkill(int tid, int sig); } 239 UNIMPL linux_sendfile64 240 UNIMPL linux_futex 241 UNIMPL linux_sched_setaffinity 242 UNIMPL linux_sched_getaffinity -243 UNIMPL linux_set_thread_area +243 STD { int linux_set_thread_area(void *entry); } 244 UNIMPL linux_get_thread_area 245 UNIMPL linux_io_setup 246 UNIMPL linux_io_destroy ==== //depot/projects/nsched/sys/kern/kern_switch.c#12 (text+ko) ==== @@ -86,7 +86,7 @@ ***/ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.86 2004/09/05 02:09:53 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.87 2004/09/06 07:23:14 julian Exp $"); #include "opt_sched.h" @@ -502,8 +502,8 @@ * to the new thread. */ ctd = curthread; - if (ctd->td_kse == NULL || ctd->td_kse->ke_thread != ctd) - return (0); + KASSERT ((ctd->td_kse != NULL && ctd->td_kse->ke_thread == ctd), + ("thread has no (or wrong) sched-private part.")); pri = td->td_priority; cpri = ctd->td_priority; if (pri >= cpri || cold /* || dumping */ || TD_IS_INHIBITED(ctd) || ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#41 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.58 2004/09/05 02:19:53 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.60 2004/09/06 07:23:14 julian Exp $"); #define kse td_sched @@ -801,8 +801,8 @@ TD_SET_RUNNING(newtd); if ((newtd->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt++; + } - } td->td_lastcpu = td->td_oncpu; td->td_flags &= ~TDF_NEEDRESCHED; td->td_pflags &= ~TDP_OWEPREEMPT; @@ -995,9 +995,10 @@ * the thread is unpinned * or pinned to another cpu, * and there are other available and idle CPUs. - * if we are idle, then skip straight to preemption. + * if we are idle, or it's an interrupt, + * then skip straight to preemption. */ - if ( (! idle) && + if ( (! idle) && ((flags & SRQ_INTR) == 0) && (idle_cpus_mask & ~(hlt_cpus_mask | me)) && ( KSE_CAN_MIGRATE(ke) || ke->ke_runq != &runq_pcpu[PCPU_GET(cpuid)])) { ==== //depot/projects/nsched/sys/netinet/ip_output.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/netinet/ip_output.c,v 1.229 2004/08/27 15:39:34 andre Exp $ + * $FreeBSD: src/sys/netinet/ip_output.c,v 1.230 2004/09/06 15:48:38 jmg Exp $ */ #include "opt_ipfw.h" @@ -352,9 +352,7 @@ #ifndef notdef /* * If the source address is not specified yet, use the address - * of the outoing interface. In case, keep note we did that, so - * if the the firewall changes the next-hop causing the output - * interface to change, we can fix that. + * of the outoing interface. */ if (ip->ip_src.s_addr == INADDR_ANY) { /* Interface may have no addresses. */ ==== //depot/projects/nsched/sys/pci/if_pcn.c#6 (text+ko) ==== @@ -32,10 +32,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/pci/if_pcn.c,v 1.60 2004/08/28 15:10:35 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/pci/if_pcn.c,v 1.61 2004/09/06 13:42:38 brueffer Exp $"); /* - * AMD Am79c972 fast ethernet PCI NIC driver. Datatheets are available + * AMD Am79c972 fast ethernet PCI NIC driver. Datasheets are available * from http://www.amd.com. * * The AMD PCnet/PCI controllers are more advanced and functional @@ -436,8 +436,8 @@ * Note III: the test for 0x10001000 is a hack to * pacify VMware, who's pseudo-PCnet interface is * broken. Reading the subsystem register from PCI - * config space yeilds 0x00000000 while reading the - * same value from I/O space yeilds 0x10001000. It's + * config space yields 0x00000000 while reading the + * same value from I/O space yields 0x10001000. It's * not supposed to be that way. */ if (chip_id == pci_read_config(dev, @@ -902,7 +902,7 @@ sc = arg; ifp = &sc->arpcom.ac_if; - /* Supress unwanted interrupts */ + /* Suppress unwanted interrupts */ if (!(ifp->if_flags & IFF_UP)) { pcn_stop(sc); return; From owner-p4-projects@FreeBSD.ORG Tue Sep 7 06:16:50 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86DE816A4D0; Tue, 7 Sep 2004 06:16:50 +0000 (GMT) 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 2F7B716A4CE for ; Tue, 7 Sep 2004 06:16:50 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 04AF643D64 for ; Tue, 7 Sep 2004 06:16:50 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i876Gn90011963 for ; Tue, 7 Sep 2004 06:16:49 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i876Gnqp011960 for perforce@freebsd.org; Tue, 7 Sep 2004 06:16:49 GMT (envelope-from julian@freebsd.org) Date: Tue, 7 Sep 2004 06:16:49 GMT Message-Id: <200409070616.i876Gnqp011960@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61116 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Sep 2004 06:16:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=61116 Change 61116 by julian@julian_ref on 2004/09/07 06:16:38 give libthr the choice of being scope_system or scope_process. Affected files ... .. //depot/projects/nsched/sys/kern/kern_thr.c#15 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_thr.c#15 (text+ko) ==== @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -47,6 +48,11 @@ extern int max_threads_per_proc; extern int max_groups_per_proc; +static int thr_scope_sys = 0; +SYSCTL_DECL(_kern_threads); +SYSCTL_INT(_kern_threads, OID_AUTO, thr_scope_sys, CTLFLAG_RW, + &thr_scope_sys, 0, "sys or proc scope scheduling"); + /* * Back end support functions. */ @@ -79,14 +85,18 @@ } /* Initialize our td and new ksegrp.. */ newtd = thread_alloc(); - newkg = ksegrp_alloc(); + if (thr_scope_sys) + newkg = ksegrp_alloc(); + else + newkg = kg; /* * Try the copyout as soon as we allocate the td so we don't have to * tear things down in a failure case below. */ id = newtd->td_tid; if ((error = copyout(&id, uap->id, sizeof(long)))) { - ksegrp_free(newkg); + if (thr_scope_sys) + ksegrp_free(newkg); thread_free(newtd); return (error); } @@ -96,10 +106,12 @@ bcopy(&td->td_startcopy, &newtd->td_startcopy, (unsigned) RANGEOF(struct thread, td_startcopy, td_endcopy)); - bzero(&newkg->kg_startzero, - (unsigned) RANGEOF(struct ksegrp, kg_startzero, kg_endzero)); - bcopy(&kg->kg_startcopy, &newkg->kg_startcopy, - (unsigned) RANGEOF(struct ksegrp, kg_startcopy, kg_endcopy)); + if (thr_scope_sys) { + bzero(&newkg->kg_startzero, + (unsigned)RANGEOF(struct ksegrp, kg_startzero, kg_endzero)); + bcopy(&kg->kg_startcopy, &newkg->kg_startcopy, + (unsigned)RANGEOF(struct ksegrp, kg_startcopy, kg_endcopy)); + } newtd->td_proc = td->td_proc; newtd->td_ucred = crhold(td->td_ucred); @@ -108,7 +120,8 @@ cpu_set_upcall(newtd, td); error = set_mcontext(newtd, &ctx.uc_mcontext); if (error != 0) { - ksegrp_free(newkg); + if (thr_scope_sys) + ksegrp_free(newkg); thread_free(newtd); crfree(td->td_ucred); goto out; @@ -116,18 +129,27 @@ /* Link the thread and kse into the ksegrp and make it runnable. */ PROC_LOCK(td->td_proc); + if (thr_scope_sys) { + sched_init_concurrency(newkg); + } else { + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { + sched_set_concurrency(kg, mp_ncpus); + } + } + td->td_proc->p_flag |= P_HADTHREADS; newtd->td_sigmask = td->td_sigmask; mtx_lock_spin(&sched_lock); - ksegrp_link(newkg, p); + if (thr_scope_sys) + ksegrp_link(newkg, p); thread_link(newtd, newkg); mtx_unlock_spin(&sched_lock); PROC_UNLOCK(p); - sched_init_concurrency(newkg); /* let the scheduler know about these things. */ mtx_lock_spin(&sched_lock); - sched_fork_ksegrp(td, newkg); + if (thr_scope_sys) + sched_fork_ksegrp(td, newkg); sched_fork_thread(td, newtd); TD_SET_CAN_RUN(newtd); From owner-p4-projects@FreeBSD.ORG Tue Sep 7 07:02:48 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B88316A4D0; Tue, 7 Sep 2004 07:02:48 +0000 (GMT) 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 6114B16A4CE for ; Tue, 7 Sep 2004 07:02:48 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A8C143D48 for ; Tue, 7 Sep 2004 07:02:48 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8772mIa013341 for ; Tue, 7 Sep 2004 07:02:48 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8772lh2013338 for perforce@freebsd.org; Tue, 7 Sep 2004 07:02:47 GMT (envelope-from julian@freebsd.org) Date: Tue, 7 Sep 2004 07:02:47 GMT Message-Id: <200409070702.i8772lh2013338@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61122 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Sep 2004 07:02:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=61122 Change 61122 by julian@julian_ref on 2004/09/07 07:02:10 IFC@61120 Affected files ... .. //depot/projects/nsched/sys/dev/ed/if_ed.c#6 integrate .. //depot/projects/nsched/sys/dev/firewire/sbp.c#6 integrate .. //depot/projects/nsched/sys/kern/kern_event.c#7 integrate .. //depot/projects/nsched/sys/kern/kern_switch.c#13 integrate .. //depot/projects/nsched/sys/kern/kern_thr.c#16 integrate .. //depot/projects/nsched/sys/kern/subr_witness.c#6 integrate .. //depot/projects/nsched/sys/net/if.c#11 integrate .. //depot/projects/nsched/sys/netgraph/ng_pptpgre.c#4 integrate Differences ... ==== //depot/projects/nsched/sys/dev/ed/if_ed.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.233 2004/08/13 23:04:23 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.234 2004/09/06 21:14:32 glebius Exp $"); /* * Device driver for National Semiconductor DS8390/WD83C690 based ethernet @@ -67,7 +67,6 @@ #endif #include -#include #include @@ -2810,26 +2809,9 @@ eh = mtod(m, struct ether_header *); /* - * Don't read in the entire packet if we know we're going to drop it - * and no bpf is active. + * Get packet, including link layer address, from interface. */ - if (!ifp->if_bpf && BDG_ACTIVE( (ifp) ) ) { - struct ifnet *bif; - - ed_ring_copy(sc, buf, (char *)eh, ETHER_HDR_LEN); - bif = bridge_in_ptr(ifp, eh) ; - if (bif == BDG_DROP) { - m_freem(m); - return; - } - if (len > ETHER_HDR_LEN) - ed_ring_copy(sc, buf + ETHER_HDR_LEN, - (char *)(eh + 1), len - ETHER_HDR_LEN); - } else - /* - * Get packet, including link layer address, from interface. - */ - ed_ring_copy(sc, buf, (char *)eh, len); + ed_ring_copy(sc, buf, (char *)eh, len); m->m_pkthdr.len = m->m_len = len; ==== //depot/projects/nsched/sys/dev/firewire/sbp.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.79 2004/07/20 04:49:44 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.80 2004/09/06 20:42:34 simokawa Exp $ * */ @@ -2787,6 +2787,7 @@ if (ocb == NULL) { sdev->flags |= ORB_SHORTAGE; printf("ocb shortage!!!\n"); + splx(s); return NULL; } STAILQ_REMOVE_HEAD(&sdev->free_ocbs, ocb); ==== //depot/projects/nsched/sys/kern/kern_event.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_event.c,v 1.79 2004/08/16 03:08:38 green Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_event.c,v 1.80 2004/09/06 19:02:42 jmg Exp $"); #include #include @@ -334,9 +334,6 @@ { struct proc *p; - if (kn->kn_status & KN_DETACHED) - return; - p = kn->kn_ptr.p_proc; knlist_remove(&p->p_klist, kn, 0); kn->kn_ptr.p_proc = NULL; @@ -859,7 +856,8 @@ } else if (kev->flags & EV_DELETE) { kn->kn_status |= KN_INFLUX; KQ_UNLOCK(kq); - kn->kn_fop->f_detach(kn); + if (!(kn->kn_status & KN_DETACHED)) + kn->kn_fop->f_detach(kn); knote_drop(kn, td); goto done; } @@ -1158,7 +1156,8 @@ * it _INFLUX. */ *kevp = kn->kn_kevent; - kn->kn_fop->f_detach(kn); + if (!(kn->kn_status & KN_DETACHED)) + kn->kn_fop->f_detach(kn); knote_drop(kn, td); KQ_LOCK(kq); kn = NULL; @@ -1357,7 +1356,8 @@ ("KN_INFLUX set when not suppose to be")); kn->kn_status |= KN_INFLUX; KQ_UNLOCK(kq); - kn->kn_fop->f_detach(kn); + if (!(kn->kn_status & KN_DETACHED)) + kn->kn_fop->f_detach(kn); knote_drop(kn, td); KQ_LOCK(kq); } @@ -1369,7 +1369,8 @@ ("KN_INFLUX set when not suppose to be")); kn->kn_status |= KN_INFLUX; KQ_UNLOCK(kq); - kn->kn_fop->f_detach(kn); + if (!(kn->kn_status & KN_DETACHED)) + kn->kn_fop->f_detach(kn); knote_drop(kn, td); KQ_LOCK(kq); } @@ -1672,7 +1673,8 @@ } kn->kn_status |= KN_INFLUX; KQ_UNLOCK(kq); - kn->kn_fop->f_detach(kn); + if (!(kn->kn_status & KN_DETACHED)) + kn->kn_fop->f_detach(kn); knote_drop(kn, td); influx = 1; KQ_LOCK(kq); ==== //depot/projects/nsched/sys/kern/kern_switch.c#13 (text+ko) ==== @@ -86,7 +86,7 @@ ***/ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.87 2004/09/06 07:23:14 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.88 2004/09/07 06:38:22 julian Exp $"); #include "opt_sched.h" @@ -342,9 +342,9 @@ * Totally ignore the ksegrp run queue. */ if (kg->kg_avail_opennings != 1) { - if (limitcount < 100) { + if (limitcount < 1) { limitcount++; - printf("pid %d: bad slot count (%d)\n", + printf("pid %d: corrected slot count (%d->1)\n", td->td_proc->p_pid, kg->kg_avail_opennings); } ==== //depot/projects/nsched/sys/kern/kern_thr.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.25 2004/09/05 02:09:53 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thr.c,v 1.26 2004/09/07 06:33:39 julian Exp $"); #include #include @@ -48,11 +48,15 @@ extern int max_threads_per_proc; extern int max_groups_per_proc; +SYSCTL_DECL(_kern_threads); static int thr_scope_sys = 0; -SYSCTL_DECL(_kern_threads); SYSCTL_INT(_kern_threads, OID_AUTO, thr_scope_sys, CTLFLAG_RW, &thr_scope_sys, 0, "sys or proc scope scheduling"); +static int thr_concurency = 0; +SYSCTL_INT(_kern_threads, OID_AUTO, thr_concurrency, CTLFLAG_RW, + &thr_concurrency, 0, "a concurrency value if not default"); + /* * Back end support functions. */ @@ -133,7 +137,8 @@ sched_init_concurrency(newkg); } else { if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { - sched_set_concurrency(kg, mp_ncpus); + sched_set_concurrency(kg, + thr_concurrency ? thr_concurrency : (2*mp_ncpus)); } } ==== //depot/projects/nsched/sys/kern/subr_witness.c#6 (text+ko) ==== @@ -82,7 +82,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.178 2004/08/04 20:31:19 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.179 2004/09/06 23:27:28 jmg Exp $"); #include "opt_ddb.h" #include "opt_witness.h" @@ -192,6 +192,7 @@ #endif MALLOC_DEFINE(M_WITNESS, "witness", "witness structure"); +SYSCTL_NODE(_debug, OID_AUTO, witness, CTLFLAG_RW, 0, "Witness Locking"); /* * If set to 0, witness is disabled. If set to 1, witness performs full lock @@ -204,7 +205,8 @@ */ static int witness_watch = 1; TUNABLE_INT("debug.witness_watch", &witness_watch); -SYSCTL_PROC(_debug, OID_AUTO, witness_watch, CTLFLAG_RW | CTLTYPE_INT, NULL, 0, +TUNABLE_INT("debug.witness.watch", &witness_watch); +SYSCTL_PROC(_debug_witness, OID_AUTO, watch, CTLFLAG_RW | CTLTYPE_INT, NULL, 0, sysctl_debug_witness_watch, "I", "witness is watching lock operations"); #ifdef KDB @@ -220,7 +222,8 @@ int witness_kdb = 0; #endif TUNABLE_INT("debug.witness_kdb", &witness_kdb); -SYSCTL_INT(_debug, OID_AUTO, witness_kdb, CTLFLAG_RW, &witness_kdb, 0, ""); +TUNABLE_INT("debug.witness.kdb", &witness_kdb); +SYSCTL_INT(_debug_witness, OID_AUTO, kdb, CTLFLAG_RW, &witness_kdb, 0, ""); /* * When KDB is enabled and witness_trace is set to 1, it will cause the system @@ -230,7 +233,8 @@ */ int witness_trace = 1; TUNABLE_INT("debug.witness_trace", &witness_trace); -SYSCTL_INT(_debug, OID_AUTO, witness_trace, CTLFLAG_RW, &witness_trace, 0, ""); +TUNABLE_INT("debug.witness.trace", &witness_trace); +SYSCTL_INT(_debug_witness, OID_AUTO, trace, CTLFLAG_RW, &witness_trace, 0, ""); #endif /* KDB */ #ifdef WITNESS_SKIPSPIN @@ -239,8 +243,9 @@ int witness_skipspin = 0; #endif TUNABLE_INT("debug.witness_skipspin", &witness_skipspin); -SYSCTL_INT(_debug, OID_AUTO, witness_skipspin, CTLFLAG_RDTUN, &witness_skipspin, 0, - ""); +TUNABLE_INT("debug.witness.skipspin", &witness_skipspin); +SYSCTL_INT(_debug_witness, OID_AUTO, skipspin, CTLFLAG_RDTUN, + &witness_skipspin, 0, ""); static struct mtx w_mtx; static struct witness_list w_free = STAILQ_HEAD_INITIALIZER(w_free); ==== //depot/projects/nsched/sys/net/if.c#11 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if.c,v 1.204 2004/09/02 05:07:29 brooks Exp $ + * $FreeBSD: src/sys/net/if.c,v 1.205 2004/09/06 19:02:42 jmg Exp $ */ #include "opt_compat.h" @@ -219,9 +219,6 @@ { struct knlist *klist = (struct knlist *)kn->kn_hook; - if (kn->kn_status & KN_DETACHED) - return; - knlist_remove(klist, kn, 0); } ==== //depot/projects/nsched/sys/netgraph/ng_pptpgre.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ * * Author: Archie Cobbs * - * $FreeBSD: src/sys/netgraph/ng_pptpgre.c,v 1.33 2004/05/29 00:51:11 julian Exp $ + * $FreeBSD: src/sys/netgraph/ng_pptpgre.c,v 1.34 2004/09/06 19:53:58 glebius Exp $ * $Whistle: ng_pptpgre.c,v 1.7 1999/12/08 00:10:06 archie Exp $ */ @@ -119,7 +119,7 @@ #define PPTP_XMIT_WIN 16 /* max xmit window */ #define PPTP_MIN_RTT (PPTP_TIME_SCALE / 10) /* 100 milliseconds */ #define PPTP_MIN_TIMEOUT (PPTP_TIME_SCALE / 83) /* 12 milliseconds */ -#define PPTP_MAX_TIMEOUT (1 * PPTP_TIME_SCALE) /* 1 second */ +#define PPTP_MAX_TIMEOUT (3 * PPTP_TIME_SCALE) /* 3 seconds */ /* When we recieve a packet, we wait to see if there's an outgoing packet we can piggy-back the ACK off of. These parameters determine the mimimum From owner-p4-projects@FreeBSD.ORG Tue Sep 7 23:01:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 17A5C16A4D0; Tue, 7 Sep 2004 23:01:01 +0000 (GMT) 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 D4DBA16A4CE for ; Tue, 7 Sep 2004 23:01:00 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A8EFF43D41 for ; Tue, 7 Sep 2004 23:01:00 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i87N10Cv044947 for ; Tue, 7 Sep 2004 23:01:00 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i87N0xYr044944 for perforce@freebsd.org; Tue, 7 Sep 2004 23:00:59 GMT (envelope-from peter@freebsd.org) Date: Tue, 7 Sep 2004 23:00:59 GMT Message-Id: <200409072300.i87N0xYr044944@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 61167 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Sep 2004 23:01:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=61167 Change 61167 by peter@peter_daintree on 2004/09/07 23:00:53 IFC @61166 Affected files ... .. //depot/projects/hammer/Makefile.inc1#59 integrate .. //depot/projects/hammer/UPDATING#53 integrate .. //depot/projects/hammer/contrib/gdb/gdb/ia64-tdep.c#5 integrate .. //depot/projects/hammer/contrib/smbfs/mount_smbfs/mount_smbfs.c#5 integrate .. //depot/projects/hammer/etc/devd.conf#13 integrate .. //depot/projects/hammer/etc/mtree/BSD.include.dist#24 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/main.c#2 integrate .. //depot/projects/hammer/include/Makefile#29 integrate .. //depot/projects/hammer/include/tgmath.h#2 integrate .. //depot/projects/hammer/lib/Makefile#41 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#16 integrate .. //depot/projects/hammer/lib/libautofs/Makefile#2 integrate .. //depot/projects/hammer/lib/libautofs/libautofs.c#2 integrate .. //depot/projects/hammer/lib/libc/ia64/string/memcpy.S#3 integrate .. //depot/projects/hammer/lib/libc/ia64/string/memmove.S#3 integrate .. //depot/projects/hammer/lib/libc/regex/regcomp.c#6 integrate .. //depot/projects/hammer/lib/libc/sys/msync.2#6 integrate .. //depot/projects/hammer/lib/libkvm/kvm_proc.c#22 integrate .. //depot/projects/hammer/lib/libstand/ufs.c#4 integrate .. //depot/projects/hammer/release/Makefile#56 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/errata/article.sgml#20 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/amd64/proc-amd64.sgml#4 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#58 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/intro.sgml#4 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/sparc64/dev-sparc64.sgml#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/artheader.sgml#4 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/install.sgml#10 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/layout.sgml#6 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/trouble.sgml#8 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/common/upgrade.sgml#5 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/installation/sparc64/install.sgml#3 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/readme/article.sgml#11 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#75 integrate .. //depot/projects/hammer/release/doc/share/misc/dev.archlist.txt#7 integrate .. //depot/projects/hammer/release/doc/share/misc/man2hwnotes.pl#4 integrate .. //depot/projects/hammer/release/doc/share/sgml/release.dsl#3 integrate .. //depot/projects/hammer/release/doc/share/sgml/release.ent#13 integrate .. //depot/projects/hammer/sbin/gbde/gbde.c#11 integrate .. //depot/projects/hammer/share/examples/etc/make.conf#23 integrate .. //depot/projects/hammer/share/man/man4/Makefile#47 integrate .. //depot/projects/hammer/share/man/man4/bge.4#11 integrate .. //depot/projects/hammer/share/man/man4/dc.4#13 integrate .. //depot/projects/hammer/share/man/man4/gx.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ctau.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/el.4#3 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ep.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ex.4#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/ie.4#2 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/snc.4#3 integrate .. //depot/projects/hammer/share/man/man4/nge.4#4 integrate .. //depot/projects/hammer/share/man/man4/ohci.4#4 integrate .. //depot/projects/hammer/share/man/man4/polling.4#9 integrate .. //depot/projects/hammer/share/man/man4/re.4#8 integrate .. //depot/projects/hammer/share/man/man4/sis.4#6 integrate .. //depot/projects/hammer/share/man/man4/sn.4#2 integrate .. //depot/projects/hammer/share/man/man4/ste.4#5 integrate .. //depot/projects/hammer/share/man/man4/ti.4#7 integrate .. //depot/projects/hammer/share/man/man4/tl.4#5 integrate .. //depot/projects/hammer/share/man/man4/uaudio.4#4 integrate .. //depot/projects/hammer/share/man/man4/ubsa.4#3 integrate .. //depot/projects/hammer/share/man/man4/ucom.4#4 integrate .. //depot/projects/hammer/share/man/man4/ucycom.4#1 branch .. //depot/projects/hammer/share/man/man4/uftdi.4#4 integrate .. //depot/projects/hammer/share/man/man4/uhci.4#3 integrate .. //depot/projects/hammer/share/man/man4/umodem.4#4 integrate .. //depot/projects/hammer/share/man/man4/uplcom.4#6 integrate .. //depot/projects/hammer/share/man/man4/uscanner.4#12 integrate .. //depot/projects/hammer/share/man/man4/uvscom.4#3 integrate .. //depot/projects/hammer/share/man/man4/vr.4#7 integrate .. //depot/projects/hammer/share/man/man4/wb.4#3 integrate .. //depot/projects/hammer/share/man/man4/witness.4#3 integrate .. //depot/projects/hammer/share/man/man5/procfs.5#7 integrate .. //depot/projects/hammer/share/man/man7/release.7#22 integrate .. //depot/projects/hammer/share/mk/bsd.subdir.mk#3 integrate .. //depot/projects/hammer/share/msgdef/Makefile#15 integrate .. //depot/projects/hammer/sys/alpha/alpha/clock.c#7 integrate .. //depot/projects/hammer/sys/alpha/alpha/machdep.c#25 integrate .. //depot/projects/hammer/sys/alpha/conf/GENERIC#22 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#101 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#54 integrate .. //depot/projects/hammer/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_cd.c#17 integrate .. //depot/projects/hammer/sys/conf/NOTES#65 integrate .. //depot/projects/hammer/sys/conf/files#81 integrate .. //depot/projects/hammer/sys/conf/options#58 integrate .. //depot/projects/hammer/sys/ddb/db_ps.c#14 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_powerres.c#13 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_thermal.c#19 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.c#34 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.h#20 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#43 integrate .. //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#20 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.h#23 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed.c#20 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp.c#32 integrate .. //depot/projects/hammer/sys/dev/iir/iir.c#9 integrate .. //depot/projects/hammer/sys/dev/isp/isp_pci.c#11 integrate .. //depot/projects/hammer/sys/dev/md/md.c#37 integrate .. //depot/projects/hammer/sys/dev/re/if_re.c#18 integrate .. //depot/projects/hammer/sys/dev/usb/ucycom.c#1 branch .. //depot/projects/hammer/sys/dev/usb/umass.c#25 integrate .. //depot/projects/hammer/sys/dev/usb/uplcom.c#11 integrate .. //depot/projects/hammer/sys/dev/usb/usb_quirks.c#8 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#47 integrate .. //depot/projects/hammer/sys/dev/usb/uscanner.c#17 integrate .. //depot/projects/hammer/sys/fs/autofs/autofs.h#2 integrate .. //depot/projects/hammer/sys/fs/autofs/autofs_util.c#2 integrate .. //depot/projects/hammer/sys/fs/autofs/autofs_vfsops.c#2 integrate .. //depot/projects/hammer/sys/fs/autofs/autofs_vnops.c#2 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_denode.c#12 integrate .. //depot/projects/hammer/sys/fs/nwfs/nwfs.h#2 integrate .. //depot/projects/hammer/sys/fs/nwfs/nwfs_io.c#9 integrate .. //depot/projects/hammer/sys/fs/nwfs/nwfs_vnops.c#6 integrate .. //depot/projects/hammer/sys/fs/smbfs/smbfs.h#4 integrate .. //depot/projects/hammer/sys/fs/smbfs/smbfs_io.c#11 integrate .. //depot/projects/hammer/sys/fs/smbfs/smbfs_vnops.c#15 integrate .. //depot/projects/hammer/sys/geom/geom_subr.c#29 integrate .. //depot/projects/hammer/sys/geom/notes#3 integrate .. //depot/projects/hammer/sys/gnu/ext2fs/ext2_vnops.c#12 integrate .. //depot/projects/hammer/sys/i386/conf/GENERIC#28 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#40 integrate .. //depot/projects/hammer/sys/i386/linux/linux_machdep.c#14 integrate .. //depot/projects/hammer/sys/i386/linux/linux_proto.h#12 integrate .. //depot/projects/hammer/sys/i386/linux/linux_syscall.h#12 integrate .. //depot/projects/hammer/sys/i386/linux/linux_sysent.c#13 integrate .. //depot/projects/hammer/sys/i386/linux/syscalls.master#12 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#40 integrate .. //depot/projects/hammer/sys/isofs/cd9660/cd9660_vnops.c#12 integrate .. //depot/projects/hammer/sys/kern/init_main.c#27 integrate .. //depot/projects/hammer/sys/kern/kern_event.c#22 integrate .. //depot/projects/hammer/sys/kern/kern_exec.c#31 integrate .. //depot/projects/hammer/sys/kern/kern_exit.c#34 integrate .. //depot/projects/hammer/sys/kern/kern_fork.c#40 integrate .. //depot/projects/hammer/sys/kern/kern_intr.c#30 integrate .. //depot/projects/hammer/sys/kern/kern_kse.c#11 integrate .. //depot/projects/hammer/sys/kern/kern_proc.c#35 integrate .. //depot/projects/hammer/sys/kern/kern_switch.c#25 integrate .. //depot/projects/hammer/sys/kern/kern_synch.c#39 integrate .. //depot/projects/hammer/sys/kern/kern_thr.c#22 integrate .. //depot/projects/hammer/sys/kern/kern_thread.c#63 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#27 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#47 integrate .. //depot/projects/hammer/sys/kern/subr_smp.c#23 integrate .. //depot/projects/hammer/sys/kern/subr_witness.c#32 integrate .. //depot/projects/hammer/sys/kern/sysv_shm.c#16 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#38 integrate .. //depot/projects/hammer/sys/kern/vfs_aio.c#21 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#33 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#51 integrate .. //depot/projects/hammer/sys/modules/Makefile#53 integrate .. //depot/projects/hammer/sys/modules/cs/Makefile#3 integrate .. //depot/projects/hammer/sys/modules/fdc/Makefile#8 integrate .. //depot/projects/hammer/sys/modules/linprocfs/Makefile#4 integrate .. //depot/projects/hammer/sys/modules/msdosfs/Makefile#5 integrate .. //depot/projects/hammer/sys/modules/nfs4client/Makefile#3 integrate .. //depot/projects/hammer/sys/modules/nfsclient/Makefile#5 integrate .. //depot/projects/hammer/sys/modules/owi/Makefile#3 integrate .. //depot/projects/hammer/sys/modules/smbfs/Makefile#4 integrate .. //depot/projects/hammer/sys/modules/ucycom/Makefile#1 branch .. //depot/projects/hammer/sys/net/if.c#29 integrate .. //depot/projects/hammer/sys/net/netisr.c#9 integrate .. //depot/projects/hammer/sys/netgraph/ng_ksocket.c#13 integrate .. //depot/projects/hammer/sys/netgraph/ng_pptpgre.c#8 integrate .. //depot/projects/hammer/sys/netinet/ip_divert.c#21 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#39 integrate .. //depot/projects/hammer/sys/netinet/ip_output.c#38 integrate .. //depot/projects/hammer/sys/netinet/raw_ip.c#28 integrate .. //depot/projects/hammer/sys/netinet/tcp_output.c#21 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#28 integrate .. //depot/projects/hammer/sys/netinet/udp_usrreq.c#24 integrate .. //depot/projects/hammer/sys/netinet6/nd6.c#14 integrate .. //depot/projects/hammer/sys/netinet6/raw_ip6.c#14 integrate .. //depot/projects/hammer/sys/netkey/key.c#17 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_vnops.c#6 integrate .. //depot/projects/hammer/sys/nfsclient/nfs.h#12 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#19 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_nfsiod.c#7 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#21 integrate .. //depot/projects/hammer/sys/pc98/conf/GENERIC#25 integrate .. //depot/projects/hammer/sys/pc98/i386/machdep.c#34 integrate .. //depot/projects/hammer/sys/pci/if_pcn.c#22 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/machdep.c#28 integrate .. //depot/projects/hammer/sys/sparc64/conf/GENERIC#28 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#31 integrate .. //depot/projects/hammer/sys/sys/proc.h#63 integrate .. //depot/projects/hammer/sys/sys/sched.h#13 integrate .. //depot/projects/hammer/sys/sys/smp.h#10 integrate .. //depot/projects/hammer/sys/sys/vnode.h#30 integrate .. //depot/projects/hammer/sys/ufs/ufs/ufs_vnops.c#19 integrate .. //depot/projects/hammer/sys/vm/vm_fault.c#24 integrate .. //depot/projects/hammer/sys/vm/vm_glue.c#32 integrate .. //depot/projects/hammer/sys/vm/vm_map.c#44 integrate .. //depot/projects/hammer/sys/vm/vm_meter.c#10 integrate .. //depot/projects/hammer/sys/vm/vnode_pager.c#21 integrate .. //depot/projects/hammer/tools/regression/include/tgmath/Makefile#1 branch .. //depot/projects/hammer/tools/regression/include/tgmath/tgmath.c#1 branch .. //depot/projects/hammer/tools/regression/sockets/kqueue/Makefile#2 integrate .. //depot/projects/hammer/tools/regression/sockets/kqueue/kqueue.c#2 integrate .. //depot/projects/hammer/tools/tools/crypto/Makefile#6 integrate .. //depot/projects/hammer/tools/tools/crypto/cryptotest.c#4 branch .. //depot/projects/hammer/usr.bin/make/Makefile#8 integrate .. //depot/projects/hammer/usr.bin/truss/syscalls.c#15 integrate .. //depot/projects/hammer/usr.bin/truss/truss.1#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/Makefile#8 integrate .. //depot/projects/hammer/usr.sbin/ppp/acf.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/arp.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/arp.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/async.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/atm.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/atm.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/auth.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/auth.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/bundle.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/bundle.h#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/cbcp.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/ccp.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/chap.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/chap_ms.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/chap_ms.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/chat.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/command.c#9 integrate .. //depot/projects/hammer/usr.sbin/ppp/datalink.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/datalink.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/deflate.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/defs.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/defs.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/ether.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/ether.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/exec.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/filter.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/filter.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/fsm.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/fsm.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/hdlc.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/hdlc.h#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/i4b.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/i4b.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/id.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/iface.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/iface.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/ip.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/ipcp.c#7 integrate .. //depot/projects/hammer/usr.sbin/ppp/iplist.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/ipv6cp.c#5 integrate .. //depot/projects/hammer/usr.sbin/ppp/lcp.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/link.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/lqr.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/main.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/main.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/mbuf.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/mbuf.h#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/mp.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/mp.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/mppe.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/nat_cmd.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/ncp.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/ncp.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/ncpaddr.c#8 integrate .. //depot/projects/hammer/usr.sbin/ppp/netgraph.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/netgraph.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/pap.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/physical.c#6 integrate .. //depot/projects/hammer/usr.sbin/ppp/physical.h#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/pred.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/prompt.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/proto.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/radius.c#10 integrate .. //depot/projects/hammer/usr.sbin/ppp/route.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/server.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/slcompress.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/sync.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/systems.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/tcp.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/tcpmss.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/tty.c#3 integrate .. //depot/projects/hammer/usr.sbin/ppp/tty.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/udp.c#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/udp.h#2 integrate .. //depot/projects/hammer/usr.sbin/ppp/vjcomp.c#2 integrate Differences ... ==== //depot/projects/hammer/Makefile.inc1#59 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.443 2004/08/26 10:24:25 paul Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.445 2004/09/07 15:27:10 imp Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -675,7 +675,7 @@ # legacy: .for _tool in tools/build - ${_+_}@${ECHODIR} "===> ${_tool}"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy includes; \ @@ -750,7 +750,7 @@ ${_crunchgen} \ ${_gensnmptree} \ ${_kbdcontrol} - ${_+_}@${ECHODIR} "===> ${_tool}"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ${MAKE} DIRPRFX=${_tool}/ depend; \ @@ -788,7 +788,7 @@ usr.bin/awk \ lib/libmagic \ usr.sbin/sysinstall - ${_+_}@${ECHODIR} "===> ${_tool}"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,build-tools)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ${MAKE} DIRPRFX=${_tool}/ build-tools @@ -796,7 +796,7 @@ .for _tool in \ gnu/usr.bin/cc/cc_tools \ ${_kerberos5_tools} - ${_+_}@${ECHODIR} "===> ${_tool}"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ${MAKE} DIRPRFX=${_tool}/ depend; \ @@ -840,7 +840,7 @@ ${_crunchide} \ ${_elf2exe} \ ${_kgzip} - ${_+_}@${ECHODIR} "===> ${_tool}"; \ + ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool}; \ ${MAKE} DIRPRFX=${_tool}/ obj; \ ${MAKE} DIRPRFX=${_tool}/ depend; \ @@ -933,7 +933,7 @@ .for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs} ${_lib}__L: .PHONY .if exists(${.CURDIR}/${_lib}) - ${_+_}@${ECHODIR} "===> ${_lib}"; \ + ${_+_}@${ECHODIR} "===> ${_lib} (depend,all,install)"; \ cd ${.CURDIR}/${_lib}; \ ${MAKE} DIRPRFX=${_lib}/ depend; \ ${MAKE} DIRPRFX=${_lib}/ all; \ @@ -945,7 +945,7 @@ # static PAM library, and dynamic PAM library before dynamic PAM # modules. lib/libpam__L: .PHONY - ${_+_}@${ECHODIR} "===> lib/libpam"; \ + ${_+_}@${ECHODIR} "===> lib/libpam (depend,all,install)"; \ cd ${.CURDIR}/lib/libpam; \ ${MAKE} DIRPRFX=lib/libpam/ depend; \ ${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET all; \ @@ -959,11 +959,11 @@ .for entry in ${SUBDIR} ${entry}.${__target}__D: .PHONY ${_+_}@if test -d ${.CURDIR}/${entry}.${MACHINE_ARCH}; then \ - ${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE_ARCH}"; \ + ${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE_ARCH} (${__target})"; \ edir=${entry}.${MACHINE_ARCH}; \ cd ${.CURDIR}/$${edir}; \ else \ - ${ECHODIR} "===> ${DIRPRFX}${entry}"; \ + ${ECHODIR} "===> ${DIRPRFX}${entry} (${__target})"; \ edir=${entry}; \ cd ${.CURDIR}/$${edir}; \ fi; \ ==== //depot/projects/hammer/UPDATING#53 (text+ko) ==== @@ -23,6 +23,11 @@ developers choose to disable these features on build machines to maximize performance. +20040906: + debug.witness_* has been renamed to debug.witness.*. There are + compatibility tunables left in for a few days. Update loader.conf + as necessary. + 20040902: The ifi_epoch change has been reverted because the ABI breakage was too extensive. If you are running with a kernel/userland @@ -1703,7 +1708,7 @@ To upgrade in-place from 4.x-stable to current ---------------------------------------------- # 5.x uses more space than 4.x. Also, the location of kernel - # modules has changed. If you are installing 5.0 onto a 4.x + # modules has changed. If you are installing 5.x onto a 4.x # system, you'll need about 30MB of free disk space on your / # partition. If you have less than this, you may encounter difficult # to back out of problems with this procedure. If /tmp is on @@ -1714,9 +1719,8 @@ [7] make buildworld [9] - make buildkernel KERNCONF=YOUR_KERNEL_HERE [8] cp sys/${MACHINE}/conf/GENERIC.hints /boot/device.hints [2] - make installkernel KERNCONF=YOUR_KERNEL_HERE + make kernel KERNCONF=YOUR_KERNEL_HERE [8] cd sys/boot ; make STRIP="" install [6] [1] [3] @@ -1782,25 +1786,36 @@ described here. [7] Before you upgrade, please make sure that you are not using - compatibility slices. These are device names of the form, on i386 - and other architectures that use MBR slicing, /dev/ad0a without the - actual slice name. Chances are excellent that these will break. + compatibility slices. These are device names of the form /dev/ad0a + without the actual slice name. These will break with 5.x and newer. You generally must update these entries to use the post FreeBSD - 2.x form of /dev/ad0s1a. + 2.x form of /dev/ad0s1a. i386 and pc98 are affected, while alpha + is not. [8] In order to have a kernel that can run the 4.x binaries needed to do an installworld, you must include the COMPAT_FREEBSD4 option in your kernel. Failure to do so may leave you with a system that is hard to boot to recover. + Make sure that you merge any new devices from GENERIC since the + last time you updated your kernel config file. + [9] When checking out sources, you must include the -P flag to have - cvs prune empty directories. Also, if CPUTYPE is defined in your - /etc/make.conf, make sure to use the "?=" instead of the "=" assignment - operator, so that buildworld can override the CPUTYPE if it needs to. + cvs prune empty directories. + + If CPUTYPE is defined in your /etc/make.conf, make sure to use the + "?=" instead of the "=" assignment operator, so that buildworld can + override the CPUTYPE if it needs to. + + MAKEOBJDIRPREFIX must be defined in an environment variable, and + not on the command line, or in /etc/make.conf. buildworld will + warn if it is improperly defined. + In case you would like to avoid installing new packages of everything, you might want to uncomment the "COMPAT4X= YES" entry, so that 4.x compatibility libraries are built which should allow you to continue - using your existing software for a while. + using your existing software for a while. Alternatively, you can + install the misc/compat4x port. [10] In order to create temporary files, /dev/random must be initialized by feeding data into it. src/etc/rc.d/preseedrandom @@ -1814,7 +1829,7 @@ Copyright information: -Copyright 1998, 2002 M. Warner Losh. All Rights Reserved. +Copyright 1998-2004 M. Warner Losh. All Rights Reserved. Redistribution, publication, translation and use, with or without modification, in full or in part, in any form or format of this @@ -1838,4 +1853,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.354 2004/09/02 05:07:29 brooks Exp $ +$FreeBSD: src/UPDATING,v 1.356 2004/09/06 23:37:16 jmg Exp $ ==== //depot/projects/hammer/contrib/gdb/gdb/ia64-tdep.c#5 (text+ko) ==== @@ -640,6 +640,48 @@ } static void +ia64_read_reg (CORE_ADDR addr, void *buf, int len) +{ + ULONGEST bspstore; + regcache_cooked_read_unsigned (current_regcache, IA64_BSPSTORE_REGNUM, + &bspstore); + if (addr >= bspstore) + { + ULONGEST bsp; + regcache_cooked_read_unsigned (current_regcache, IA64_BSP_REGNUM, + &bsp); + if (addr < bsp) + { + target_read_partial (¤t_target, TARGET_OBJECT_DIRTY, + (void*)&bspstore, buf, addr - bspstore, len); + return; + } + } + read_memory (addr, buf, len); +} + +static void +ia64_write_reg (CORE_ADDR addr, void *buf, int len) +{ + ULONGEST bspstore; + regcache_cooked_read_unsigned (current_regcache, IA64_BSPSTORE_REGNUM, + &bspstore); + if (addr >= bspstore) + { + ULONGEST bsp; + regcache_cooked_read_unsigned (current_regcache, IA64_BSP_REGNUM, + &bsp); + if (addr < bsp) + { + target_write_partial (¤t_target, TARGET_OBJECT_DIRTY, + (void*)&bspstore, buf, addr - bspstore, len); + return; + } + } + write_memory (addr, buf, len); +} + +static void ia64_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int regnum, void *buf) { @@ -655,20 +697,10 @@ subtract the size of frame from it to get start of register frame. */ bsp = rse_address_add (bsp, -(cfm & 0x7f)); - if ((cfm & 0x7f) > regnum - V32_REGNUM) + if ((cfm & 0x7f) > regnum - V32_REGNUM) { - ULONGEST bspstore; - ULONGEST reg_addr = rse_address_add (bsp, (regnum - V32_REGNUM)); - regcache_cooked_read_unsigned (regcache, IA64_BSPSTORE_REGNUM, - &bspstore); - if (reg_addr < bspstore) { - reg = read_memory_integer ((CORE_ADDR)reg_addr, 8); - store_unsigned_integer (buf, register_size (current_gdbarch, - regnum), reg); - } else - target_read_partial (¤t_target, TARGET_OBJECT_DIRTY, - (void*)&bspstore, buf, reg_addr - bspstore, - register_size (current_gdbarch, regnum)); + ULONGEST addr = rse_address_add (bsp, (regnum - V32_REGNUM)); + ia64_read_reg (addr, buf, register_size (current_gdbarch, regnum)); } else store_unsigned_integer (buf, register_size (current_gdbarch, regnum), 0); @@ -710,19 +742,9 @@ regcache_cooked_read_unsigned (regcache, IA64_RNAT_REGNUM, &nat_collection); else { - ULONGEST bspstore; - regcache_cooked_read_unsigned (regcache, IA64_BSPSTORE_REGNUM, - &bspstore); - if (nat_addr < bspstore) - nat_collection = read_memory_integer (nat_addr, 8); - else { - char natbuf[8]; - target_read_partial (¤t_target, TARGET_OBJECT_DIRTY, - (void*)&bspstore, natbuf, - nat_addr - bspstore, - register_size (current_gdbarch, regnum)); - nat_collection = *((uint64_t*)natbuf); - } + uint64_t tmp; + ia64_read_reg (nat_addr, &tmp, sizeof(tmp)); + nat_collection = tmp; } nat_bit = (gr_addr >> 3) & 0x3f; natN_val = (nat_collection >> nat_bit) & 1; @@ -787,16 +809,8 @@ if ((cfm & 0x7f) > regnum - V32_REGNUM) { - ULONGEST bspstore; - ULONGEST reg_addr = rse_address_add (bsp, (regnum - V32_REGNUM)); - regcache_cooked_read_unsigned (regcache, IA64_BSPSTORE_REGNUM, - &bspstore); - if (reg_addr < bspstore) - write_memory (reg_addr, (void *)buf, 8); - else - target_write_partial (¤t_target, TARGET_OBJECT_DIRTY, - (void*)&bspstore, buf, reg_addr - bspstore, - register_size (current_gdbarch, regnum)); + ULONGEST addr = rse_address_add (bsp, (regnum - V32_REGNUM)); + ia64_write_reg (addr, (void *)buf, 8); } } else if (IA64_NAT0_REGNUM <= regnum && regnum <= IA64_NAT31_REGNUM) @@ -850,34 +864,15 @@ } else { - char nat_buf[8]; - ULONGEST bspstore; - regcache_cooked_read_unsigned (regcache, IA64_BSPSTORE_REGNUM, - &bspstore); - if (nat_addr < bspstore) - nat_collection = read_memory_integer (nat_addr, 8); - else { - char natbuf[8]; - target_read_partial (¤t_target, TARGET_OBJECT_DIRTY, - (void*)&bspstore, natbuf, - nat_addr - bspstore, - register_size (current_gdbarch, regnum)); - nat_collection = *((uint64_t*)natbuf); - } + uint64_t tmp; + ia64_read_reg (nat_addr, &tmp, sizeof(tmp)); + nat_collection = tmp; if (natN_val) nat_collection |= natN_mask; else nat_collection &= ~natN_mask; - store_unsigned_integer (nat_buf, register_size (current_gdbarch, - regnum), - nat_collection); - if (nat_addr < bspstore) - write_memory (nat_addr, nat_buf, 8); - else - target_write_partial (¤t_target, TARGET_OBJECT_DIRTY, - (void*)&bspstore, nat_buf, - nat_addr - bspstore, - register_size (current_gdbarch, regnum)); + tmp = nat_collection; + ia64_write_reg (nat_addr, &tmp, sizeof(tmp)); } } } @@ -1451,7 +1446,9 @@ cfm = 0; if (cache->saved_regs[IA64_CFM_REGNUM] != 0) { - cfm = read_memory_integer (cache->saved_regs[IA64_CFM_REGNUM], 8); + uint64_t tmp; + ia64_read_reg (cache->saved_regs[IA64_CFM_REGNUM], &tmp, sizeof(tmp)); + cfm = tmp; } else if (cfm_reg != 0) { @@ -1649,7 +1646,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, valuep, register_size (current_gdbarch, regnum)); + ia64_read_reg (addr, valuep, register_size (current_gdbarch, regnum)); } else if (cache->prev_cfm) store_unsigned_integer (valuep, register_size (current_gdbarch, regnum), cache->prev_cfm); @@ -1734,7 +1731,11 @@ nat_collection = extract_unsigned_integer (buf, 8); } else - nat_collection = read_memory_integer (nat_addr, 8); + { + uint64_t tmp; + ia64_read_reg (nat_addr, &tmp, sizeof(tmp)); + nat_collection = tmp; + } nat_bit = (gr_addr >> 3) & 0x3f; natval = (nat_collection >> nat_bit) & 1; } @@ -1750,7 +1751,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, buf, register_size (current_gdbarch, IA64_IP_REGNUM)); + ia64_read_reg (addr, buf, register_size (current_gdbarch, IA64_IP_REGNUM)); pc = extract_unsigned_integer (buf, 8); } else if (cache->frameless) @@ -1779,7 +1780,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, buf, register_size (current_gdbarch, IA64_IP_REGNUM)); + ia64_read_reg (addr, buf, register_size (current_gdbarch, IA64_IP_REGNUM)); pc = extract_unsigned_integer (buf, 8); } else if (cache->frameless) @@ -1801,7 +1802,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, buf, register_size (current_gdbarch, IA64_BR0_REGNUM)); + ia64_read_reg (addr, buf, register_size (current_gdbarch, IA64_BR0_REGNUM)); br0 = extract_unsigned_integer (buf, 8); } store_unsigned_integer (valuep, 8, br0); @@ -1817,7 +1818,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, valuep, register_size (current_gdbarch, regnum)); + ia64_read_reg (addr, valuep, register_size (current_gdbarch, regnum)); } else if (cache->frameless) { @@ -1828,7 +1829,6 @@ CORE_ADDR r_addr; CORE_ADDR prev_cfm, prev_bsp, prev_bof; CORE_ADDR addr = 0; - ULONGEST bspstore; if (regnum >= V32_REGNUM) regnum = IA64_GR32_REGNUM + (regnum - V32_REGNUM); @@ -1841,24 +1841,9 @@ prev_bof = rse_address_add (prev_bsp, -(prev_cfm & 0x7f)); addr = rse_address_add (prev_bof, (regnum - IA64_GR32_REGNUM)); - - /* Figure out if the register was already flushed or is dirty. - If the register was flushed already we can return the address - on the backingstore for it. */ - regcache_cooked_read_unsigned (current_regcache, IA64_BSPSTORE_REGNUM, - &bspstore); - if (addr < bspstore) - { - *lvalp = lval_memory; - *addrp = addr; - read_memory (addr, valuep, register_size (current_gdbarch, regnum)); - } - else - { - target_read_partial (¤t_target, TARGET_OBJECT_DIRTY, - (void*)&bspstore, valuep, addr - bspstore, - register_size (current_gdbarch, regnum)); - } + *lvalp = lval_memory; + *addrp = addr; + ia64_read_reg (addr, valuep, register_size (current_gdbarch, regnum)); } } else @@ -1882,7 +1867,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, valuep, register_size (current_gdbarch, regnum)); + ia64_read_reg (addr, valuep, register_size (current_gdbarch, regnum)); } /* Otherwise, punt and get the current value of the register. */ else @@ -2037,7 +2022,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, buf, register_size (current_gdbarch, IA64_IP_REGNUM)); + ia64_read_reg (addr, buf, register_size (current_gdbarch, IA64_IP_REGNUM)); pc = extract_unsigned_integer (buf, 8); } pc &= ~0xf; @@ -2054,7 +2039,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, valuep, register_size (current_gdbarch, regnum)); + ia64_read_reg (addr, valuep, register_size (current_gdbarch, regnum)); } } else @@ -2065,7 +2050,7 @@ { *lvalp = lval_memory; *addrp = addr; - read_memory (addr, valuep, register_size (current_gdbarch, regnum)); + ia64_read_reg (addr, valuep, register_size (current_gdbarch, regnum)); } } ==== //depot/projects/hammer/contrib/smbfs/mount_smbfs/mount_smbfs.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * $Id: mount_smbfs.c,v 1.17 2002/04/10 04:17:51 bp Exp $ - * $FreeBSD: src/contrib/smbfs/mount_smbfs/mount_smbfs.c,v 1.4 2004/06/20 14:30:33 mux Exp $ + * $FreeBSD: src/contrib/smbfs/mount_smbfs/mount_smbfs.c,v 1.5 2004/09/05 06:42:51 tjr Exp $ */ #include #include @@ -103,7 +103,7 @@ #else error = getvfsbyname(SMBFS_VFSNAME, &vfc); if (error) { - if (kldload(SMBFS_VFSNAME)) + if (kldload(SMBFS_VFSNAME) < 0) err(EX_OSERR, "kldload("SMBFS_VFSNAME")"); error = getvfsbyname(SMBFS_VFSNAME, &vfc); } ==== //depot/projects/hammer/etc/devd.conf#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/devd.conf,v 1.15 2004/09/01 00:08:15 brooks Exp $ +# $FreeBSD: src/etc/devd.conf,v 1.16 2004/09/06 20:09:00 glebius Exp $ # # Refer to devd.conf(5) and devd(8) man pages for the details on how to # run and configure devd. @@ -18,9 +18,9 @@ # Setup some shorthand for regex that we use later in the file. set ethernet-nic-regex - "(an|ar|ath|aue|awi|bfe|bge|cm|cnw|cs|cue|dc|de|ed|el|em|ep|\ - ex|fe|fxp|gem|gx|hme|ie|kue|lge|lnc|my|nge|pcn|ray|re|rl|rue|\ - sf|sis|sk|sn|snc|ste|ti|tl|tx|txp|vr|vx|wb|wi|xe|xl)[0-9]+"; + "(an|ar|ath|aue|awi|axe|bfe|bge|cm|cnw|cs|cue|dc|de|ed|el|em|\ + ep|ex|fe|fxp|gem|gx|hme|ie|kue|lge|lnc|my|nge|pcn|ray|re|rl|\ + rue|sf|sis|sk|sn|snc|ste|ti|tl|tx|txp|vr|vx|wb|wi|xe|xl)[0-9]+"; set scsi-controller-regex "(adv|advw|aic|aha|ahb|ahc|ahd|bt|ct|iir|isp|mly|mpt|ncv|nsp|\ stg|sym|wds)[0-9]+"; ==== //depot/projects/hammer/etc/mtree/BSD.include.dist#24 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.88 2004/08/16 06:36:21 pjd Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.89 2004/09/02 20:44:55 alfred Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -54,6 +54,8 @@ .. .. fs + autofs + .. devfs .. fdescfs ==== //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/main.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/main.c,v 1.2 2004/08/15 02:39:20 marcel Exp $"); +__FBSDID("$FreeBSD: src/gnu/usr.bin/gdb/kgdb/main.c,v 1.3 2004/09/03 07:11:42 brooks Exp $"); #include #include @@ -284,7 +284,7 @@ if (!S_ISREG(st.st_mode)) errx(1, "%s: not a regular file", path); vmcore = strdup(path); - } else if (remote != NULL) { + } else if (remote != NULL && remote[0] != ':' && remote[0] != '|') { if (stat(remote, &st) != 0) { snprintf(path, sizeof(path), "/dev/%s", remote); if (stat(path, &st) != 0) { ==== //depot/projects/hammer/include/Makefile#29 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.222 2004/08/16 06:36:20 pjd Exp $ +# $FreeBSD: src/include/Makefile,v 1.223 2004/09/02 20:44:55 alfred Exp $ # # Doing a "make install" builds /usr/include. @@ -43,7 +43,7 @@ isofs/cd9660 netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm security/mac_biba security/mac_bsdextended \ security/mac_lomac security/mac_mls security/mac_partition \ - ufs/ffs ufs/ufs + ufs/ffs ufs/ufs fs/autofs .if !defined(NO_BLUETOOTH) LSUBSUBDIRS= netgraph/bluetooth/include ==== //depot/projects/hammer/include/tgmath.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/include/tgmath.h,v 1.1 2004/08/08 20:05:47 stefanf Exp $ + * $FreeBSD: src/include/tgmath.h,v 1.4 2004/09/03 23:44:09 stefanf Exp $ */ #ifndef _TGMATH_H_ @@ -57,14 +57,15 @@ #define __tg_type3(e1, e2, e3, t) \ (__tg_type(e1, t) || __tg_type(e2, t) || __tg_type(e3, t)) #define __tg_type_corr(e1, e2, e3, t) \ - (__tg_type3(e1, e2, e3, t) || __tg_type3(e1, e2, e3, t complex)) + (__tg_type3(e1, e2, e3, t) || __tg_type3(e1, e2, e3, t _Complex)) #define __tg_integer(e1, e2, e3) \ (((__typeof__(e1))1.5 == 1) || ((__typeof__(e2))1.5 == 1) || \ ((__typeof__(e3))1.5 == 1)) #define __tg_is_complex(e1, e2, e3) \ - (__tg_type3(e1, e2, e3, float complex) || \ - __tg_type3(e1, e2, e3, double complex) || \ - __tg_type3(e1, e2, e3, long double complex)) + (__tg_type3(e1, e2, e3, float _Complex) || \ + __tg_type3(e1, e2, e3, double _Complex) || \ + __tg_type3(e1, e2, e3, long double _Complex)) || \ + __tg_type3(e1, e2, e3, __typeof__(_Complex_I)) #define __tg_impl_simple(x, y, z, fn, fnf, fnl, ...) \ __builtin_choose_expr(__tg_type_corr(x, y, z, long double), \ @@ -143,7 +144,7 @@ #define logb(x) __tg_simple(x, logb) #define lrint(x) __tg_simple(x, lrint) #define lround(x) __tg_simple(x, lround) -#define nextbyint(x) __tg_simple(x, nextbyint) +#define nearbyint(x) __tg_simple(x, nearbyint) #define nextafter(x, y) __tg_simple2(x, y, nextafter) #define nexttoward(x, y) __tg_simplev(x, nexttoward, x, y) #define remainder(x, y) __tg_simple2(x, y, remainder) ==== //depot/projects/hammer/lib/Makefile#41 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.191 2004/08/29 18:26:59 obrien Exp $ +# $FreeBSD: src/lib/Makefile,v 1.192 2004/09/03 17:39:00 alfred Exp $ # To satisfy shared library or ELF linkage when only the libraries being # built are visible: @@ -29,7 +29,7 @@ libcalendar libcam libcompat libdevinfo libdevstat ${_libdisk} \ libedit libexpat libfetch libform libftpio libgeom ${_libio} libipsec \ libipx libisc libkiconv libmagic libmenu ${_libmilter} ${_libmp} \ - ${_libncp} ${_libngatm} libopie libpam libpanel libpcap \ + ${_libncp} ${_libngatm} libopie libpam libautofs libpanel libpcap \ ${_libpthread} ${_libsdp} ${_libsm} ${_libsmb} ${_libsmdb} \ ${_libsmutil} libstand libtelnet ${_libthr} ${_libthread_db} libufs \ libugidfw ${_libusbhid} ${_libvgl} libwrap libxpg4 liby libz ==== //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.26 2004/08/14 03:45:45 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.27 2004/09/04 21:49:42 kientzle Exp $"); #include #include @@ -351,12 +351,33 @@ { struct stat st; struct tar *tar; + const char *p; + int r; + size_t l; memset(&st, 0, sizeof(st)); tar = *(a->pformat_data); tar->entry_offset = 0; - return (tar_read_header(a, tar, entry, &st)); + r = tar_read_header(a, tar, entry, &st); + + if (r == ARCHIVE_OK) { + /* + * "Regular" entry with trailing '/' is really + * directory: This is needed for certain old tar + * variants and even for some broken newer ones. + */ + p = archive_entry_pathname(entry); + l = strlen(p); + if (S_ISREG(st.st_mode) && p[l-1] == '/') { + st.st_mode &= ~S_IFMT; + st.st_mode |= S_IFDIR; + } + + /* Copy the final stat data into the entry. */ + archive_entry_copy_stat(entry, &st); + } + return (r); } static int @@ -421,8 +442,6 @@ ssize_t bytes; int err; const void *h; - const char *p; - size_t l; const struct archive_entry_header_ustar *header; /* Read 512-byte header record */ @@ -513,16 +532,7 @@ a->archive_format_name = "tar (non-POSIX)"; err = header_old_tar(a, tar, entry, st, h); } - - /* "Regular" entry with trailing '/' is really directory. */ - p = archive_entry_pathname(entry); - l = strlen(p); - if (S_ISREG(st->st_mode) && p[l-1] == '/') { - st->st_mode &= ~S_IFMT; - st->st_mode |= S_IFDIR; - } } - archive_entry_copy_stat(entry, st); --tar->header_recursion_depth; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 9 01:12:54 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7D33316A4D0; Thu, 9 Sep 2004 01:12:54 +0000 (GMT) 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 55D0916A4CE for ; Thu, 9 Sep 2004 01:12:54 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F03243D54 for ; Thu, 9 Sep 2004 01:12:53 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i891Cr4u087680 for ; Thu, 9 Sep 2004 01:12:53 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i891CrtX087677 for perforce@freebsd.org; Thu, 9 Sep 2004 01:12:53 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 9 Sep 2004 01:12:53 GMT Message-Id: <200409090112.i891CrtX087677@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 61221 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Sep 2004 01:12:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=61221 Change 61221 by rwatson@rwatson_paprika on 2004/09/09 01:12:02 Integrate netperf_socket: - Default scheduler is now SCHED_4BSD. - PREEMPTION is enabled by default. - Various and sundry driver fixes, etc, etc. - More scheduler cleanups/bug fixes/clarifications. - re-ifi_epoch. netperf loopback: - BPF minor fixes, conversion to queue(3). Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/busdma_machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/alpha/alpha/clock.c#3 integrate .. //depot/projects/netperf_socket/sys/alpha/conf/GENERIC#10 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/busdma_machdep.c#5 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#28 integrate .. //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#17 integrate .. //depot/projects/netperf_socket/sys/arm/arm/busdma_machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/boot/sparc64/loader/main.c#4 integrate .. //depot/projects/netperf_socket/sys/cam/scsi/scsi_cd.c#3 integrate .. //depot/projects/netperf_socket/sys/conf/NOTES#42 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_powerres.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_thermal.c#13 integrate .. //depot/projects/netperf_socket/sys/dev/ed/if_ed.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/sbp.c#7 integrate .. //depot/projects/netperf_socket/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/md/md.c#20 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ugen.c#8 integrate .. //depot/projects/netperf_socket/sys/fs/autofs/autofs.h#3 integrate .. //depot/projects/netperf_socket/sys/fs/autofs/autofs_util.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/autofs/autofs_vfsops.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/autofs/autofs_vnops.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/netperf_socket/sys/fs/msdosfs/msdosfs_denode.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/msdosfs/msdosfs_fat.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/msdosfs/msdosfs_lookup.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/nwfs/nwfs.h#2 integrate .. //depot/projects/netperf_socket/sys/fs/nwfs/nwfs_io.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/nwfs/nwfs_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/netperf_socket/sys/fs/smbfs/smbfs_io.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/smbfs/smbfs_vnops.c#4 integrate .. //depot/projects/netperf_socket/sys/geom/geom_subr.c#8 integrate .. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.c#11 integrate .. //depot/projects/netperf_socket/sys/geom/notes#2 integrate .. //depot/projects/netperf_socket/sys/geom/uzip/g_uzip.c#2 integrate .. //depot/projects/netperf_socket/sys/gnu/ext2fs/ext2_vnops.c#6 integrate .. //depot/projects/netperf_socket/sys/i386/conf/GENERIC#14 integrate .. //depot/projects/netperf_socket/sys/i386/i386/busdma_machdep.c#5 integrate .. //depot/projects/netperf_socket/sys/i386/i386/pmap.c#28 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_machdep.c#5 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_syscall.h#6 integrate .. //depot/projects/netperf_socket/sys/i386/linux/linux_sysent.c#6 integrate .. //depot/projects/netperf_socket/sys/i386/linux/syscalls.master#6 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/busdma_machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/kern_event.c#12 integrate .. //depot/projects/netperf_socket/sys/kern/kern_switch.c#14 integrate .. //depot/projects/netperf_socket/sys/kern/kern_thr.c#13 integrate .. //depot/projects/netperf_socket/sys/kern/sched_4bsd.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/subr_witness.c#10 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_mount.c#14 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#23 integrate .. //depot/projects/netperf_socket/sys/modules/autofs/Makefile#2 integrate .. //depot/projects/netperf_socket/sys/modules/geom/geom_uzip/Makefile#2 integrate .. //depot/projects/netperf_socket/sys/net/bpf.c#12 integrate .. //depot/projects/netperf_socket/sys/net/bpfdesc.h#5 integrate .. //depot/projects/netperf_socket/sys/net/if.c#20 integrate .. //depot/projects/netperf_socket/sys/net/if.h#9 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_pptpgre.c#4 integrate .. //depot/projects/netperf_socket/sys/netinet/ip_fw2.c#18 integrate .. //depot/projects/netperf_socket/sys/netinet/ip_output.c#20 integrate .. //depot/projects/netperf_socket/sys/netinet6/nd6.c#7 integrate .. //depot/projects/netperf_socket/sys/nfs4client/nfs4_vnops.c#6 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs.h#8 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_bio.c#9 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_nfsiod.c#4 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_vnops.c#7 integrate .. //depot/projects/netperf_socket/sys/pc98/conf/GENERIC#15 integrate .. //depot/projects/netperf_socket/sys/pci/if_pcn.c#9 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/busdma_machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/sparc64/conf/GENERIC#12 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/bus_machdep.c#5 integrate .. //depot/projects/netperf_socket/sys/sys/param.h#29 integrate .. //depot/projects/netperf_socket/sys/sys/vnode.h#11 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/ufs_vnops.c#8 integrate .. //depot/projects/netperf_socket/sys/vm/vnode_pager.c#6 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/busdma_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.45 2004/07/02 03:47:28 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.46 2004/09/08 04:54:18 scottl Exp $"); #include #include @@ -229,11 +229,11 @@ if (parent != NULL) { newtag->lowaddr = MIN(parent->lowaddr, newtag->lowaddr); newtag->highaddr = MAX(parent->highaddr, newtag->highaddr); - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = MAX(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = MIN(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/netperf_socket/sys/alpha/alpha/clock.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.36 2004/04/05 21:00:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.37 2004/09/07 07:06:36 phk Exp $"); #include "opt_clock.h" @@ -120,7 +120,8 @@ 0, /* no poll_pps */ ~0u, /* counter_mask */ 0, /* frequency */ - "alpha" /* name */ + "alpha", /* name */ + 800, /* quality */ }; static struct timecounter i8254_timecounter = { ==== //depot/projects/netperf_socket/sys/alpha/conf/GENERIC#10 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.177 2004/08/30 18:40:00 wilko Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.178 2004/09/07 22:37:43 scottl Exp $ machine alpha cpu EV4 @@ -46,7 +46,9 @@ options DEC_KN300 # AlphaServer 4100 (Rawhide), # AlphaServer 1200 (Tincup) -options SCHED_ULE #ULE scheduler +#options SCHED_ULE #ULE scheduler +options SCHED_4BSD #4BSD scheduler +options PREEMPTION #Enable kernel thread preemption options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem ==== //depot/projects/netperf_socket/sys/amd64/amd64/busdma_machdep.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.57 2004/08/16 22:53:03 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.58 2004/09/08 04:54:18 scottl Exp $"); #include #include @@ -248,11 +248,11 @@ if (parent != NULL) { newtag->lowaddr = MIN(parent->lowaddr, newtag->lowaddr); newtag->highaddr = MAX(parent->highaddr, newtag->highaddr); - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = MAX(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = MIN(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#28 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.496 2004/08/30 03:52:04 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.497 2004/09/08 18:58:28 alc Exp $"); /* * Manages physical address maps. @@ -203,7 +203,7 @@ static PMAP_INLINE void free_pv_entry(pv_entry_t pv); static pv_entry_t get_pv_entry(void); -static void pmap_clear_ptes(vm_page_t m, int bit); +static void pmap_clear_ptes(vm_page_t m, long bit); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, pd_entry_t ptepde); @@ -2591,7 +2591,7 @@ * Clear the given bit in each of the given page's ptes. */ static __inline void -pmap_clear_ptes(vm_page_t m, int bit) +pmap_clear_ptes(vm_page_t m, long bit) { register pv_entry_t pv; pt_entry_t pbits, *pte; @@ -2623,15 +2623,18 @@ PMAP_LOCK(pv->pv_pmap); pte = pmap_pte(pv->pv_pmap, pv->pv_va); +retry: pbits = *pte; if (pbits & bit) { if (bit == PG_RW) { + if (!atomic_cmpset_long(pte, pbits, + pbits & ~(PG_RW | PG_M))) + goto retry; if (pbits & PG_M) { vm_page_dirty(m); } - pte_store(pte, pbits & ~(PG_M|PG_RW)); } else { - pte_store(pte, pbits & ~bit); + atomic_clear_long(pte, bit); } pmap_invalidate_page(pv->pv_pmap, pv->pv_va); } ==== //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#17 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.422 2004/08/27 15:16:21 andre Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.423 2004/09/07 22:37:43 scottl Exp $ machine amd64 cpu HAMMER @@ -27,7 +27,9 @@ makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols -options SCHED_ULE # ULE scheduler +#options SCHED_ULE # ULE scheduler +options SCHED_4BSD # 4BSD scheduler +options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem ==== //depot/projects/netperf_socket/sys/arm/arm/busdma_machdep.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.2 2004/07/21 22:04:05 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.3 2004/09/08 04:54:18 scottl Exp $"); /* * MacPPC bus dma support routines @@ -207,12 +207,11 @@ if (parent != NULL) { newtag->lowaddr = min(parent->lowaddr, newtag->lowaddr); newtag->highaddr = max(parent->highaddr, newtag->highaddr); - - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = max(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = min(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/netperf_socket/sys/boot/sparc64/loader/main.c#4 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.24 2004/08/19 20:13:31 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.25 2004/09/08 12:52:45 kensmith Exp $"); /* * FreeBSD/sparc64 kernel loader - machine dependent part @@ -197,9 +197,7 @@ static int sparc64_autoload(void) { - /* XXX - Temporary hack needed for new ATA to work. */ - printf("Turning off DMA for ATA.\n"); - setenv("hw.ata.ata_dma", "0", 1); + printf("nothing to autoload yet.\n"); return 0; } ==== //depot/projects/netperf_socket/sys/cam/scsi/scsi_cd.c#3 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.89 2004/02/18 21:36:50 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.90 2004/09/05 21:15:58 phk Exp $"); #include "opt_cd.h" @@ -2723,7 +2723,7 @@ cdprevent(periph, PR_PREVENT); softc->disk->d_maxsize = DFLTPHYS; - softc->disk->d_sectorsize = 0; + softc->disk->d_sectorsize = 2048; softc->disk->d_mediasize = 0; /* ==== //depot/projects/netperf_socket/sys/conf/NOTES#42 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1275 2004/09/03 06:32:11 ru Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1276 2004/09/08 08:42:36 ru Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1904,20 +1904,20 @@ device snd_uaudio # For non-pnp sound cards: -hint.snd_mss.0.at="isa" -hint.snd_mss.0.irq="10" -hint.snd_mss.0.drq="1" -hint.snd_mss.0.flags="0x0" -hint.snd_sbc.0.at="isa" -hint.snd_sbc.0.port="0x220" -hint.snd_sbc.0.irq="5" -hint.snd_sbc.0.drq="1" -hint.snd_sbc.0.flags="0x15" -hint.snd_gusc.0.at="isa" -hint.snd_gusc.0.port="0x220" -hint.snd_gusc.0.irq="5" -hint.snd_gusc.0.drq="1" -hint.snd_gusc.0.flags="0x13" +hint.pcm.0.at="isa" +hint.pcm.0.irq="10" +hint.pcm.0.drq="1" +hint.pcm.0.flags="0x0" +hint.sbc.0.at="isa" +hint.sbc.0.port="0x220" +hint.sbc.0.irq="5" +hint.sbc.0.drq="1" +hint.sbc.0.flags="0x15" +hint.gusc.0.at="isa" +hint.gusc.0.port="0x220" +hint.gusc.0.irq="5" +hint.gusc.0.drq="1" +hint.gusc.0.flags="0x13" # # Miscellaneous hardware: ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi_powerres.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_powerres.c,v 1.26 2004/08/13 06:22:10 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_powerres.c,v 1.27 2004/09/07 16:58:12 njl Exp $"); #include "opt_acpi.h" #include @@ -62,6 +62,7 @@ /* Return values from _STA on a power resource */ #define ACPI_PWR_OFF 0 #define ACPI_PWR_ON 1 +#define ACPI_PWR_UNK (-1) /* A relationship between a power resource and a consumer. */ struct acpi_powerreference { @@ -87,6 +88,7 @@ ACPI_HANDLE ap_resource; ACPI_INTEGER ap_systemlevel; ACPI_INTEGER ap_order; + int ap_state; }; static TAILQ_HEAD(acpi_powerresource_list, acpi_powerresource) @@ -169,6 +171,7 @@ } rp->ap_systemlevel = obj->PowerResource.SystemLevel; rp->ap_order = obj->PowerResource.ResourceOrder; + rp->ap_state = ACPI_PWR_UNK; /* Sort the resource into the list */ status = AE_OK; @@ -640,17 +643,17 @@ if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "can't get status of %s - %d\n", acpi_name(rp->ap_resource), status)); - /* XXX is this correct? Always switch if in doubt? */ continue; - } + } else if (rp->ap_state == ACPI_PWR_UNK) + rp->ap_state = cur; /* * Switch if required. Note that we ignore the result of the switch * effort; we don't know what to do if it fails, so checking wouldn't * help much. */ - if (cur != ACPI_PWR_ON) { + if (rp->ap_state != ACPI_PWR_ON) { status = AcpiEvaluateObject(rp->ap_resource, "_ON", NULL, NULL); if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, @@ -658,6 +661,7 @@ acpi_name(rp->ap_resource), AcpiFormatException(status))); } else { + rp->ap_state = ACPI_PWR_ON; ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "switched %s on\n", acpi_name(rp->ap_resource))); } @@ -685,14 +689,15 @@ acpi_name(rp->ap_resource), status)); /* XXX is this correct? Always switch if in doubt? */ continue; - } + } else if (rp->ap_state == ACPI_PWR_UNK) + rp->ap_state = cur; /* * Switch if required. Note that we ignore the result of the switch * effort; we don't know what to do if it fails, so checking wouldn't * help much. */ - if (cur != ACPI_PWR_OFF) { + if (rp->ap_state != ACPI_PWR_OFF) { status = AcpiEvaluateObject(rp->ap_resource, "_OFF", NULL, NULL); if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, @@ -700,6 +705,7 @@ acpi_name(rp->ap_resource), AcpiFormatException(status))); } else { + rp->ap_state = ACPI_PWR_OFF; ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "switched %s off\n", acpi_name(rp->ap_resource))); } ==== //depot/projects/netperf_socket/sys/dev/acpica/acpi_thermal.c#13 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.49 2004/08/30 22:42:10 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.51 2004/09/08 19:36:07 njl Exp $"); #include "opt_acpi.h" #include @@ -112,7 +112,9 @@ static int acpi_tz_attach(device_t dev); static int acpi_tz_establish(struct acpi_tz_softc *sc); static void acpi_tz_monitor(void *Context); +#if 0 static void acpi_tz_all_off(struct acpi_tz_softc *sc); +#endif static void acpi_tz_switch_cooler_off(ACPI_OBJECT *obj, void *arg); static void acpi_tz_switch_cooler_on(ACPI_OBJECT *obj, void *arg); static void acpi_tz_getparam(struct acpi_tz_softc *sc, char *node, @@ -225,7 +227,8 @@ OID_AUTO, oidname, CTLFLAG_RD, 0, ""); SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "temperature", CTLFLAG_RD, &sc->tz_temperature, - sizeof(sc->tz_temperature), "IK", "current thermal zone temperature"); + sizeof(sc->tz_temperature), "IK", + "current thermal zone temperature"); SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "active", CTLTYPE_INT | CTLFLAG_RW, sc, 0, acpi_tz_active_sysctl, "I", ""); @@ -233,9 +236,9 @@ SYSCTL_ADD_INT(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "thermal_flags", CTLFLAG_RD, &sc->tz_thflags, 0, "thermal zone flags"); - SYSCTL_ADD_INT(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), - OID_AUTO, "_PSV", CTLFLAG_RD, - &sc->tz_zone.psv, 0, ""); + SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), + OID_AUTO, "_PSV", CTLFLAG_RD, &sc->tz_zone.psv, + sizeof(sc->tz_zone.psv), "IK", ""); SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "_HOT", CTLFLAG_RD, &sc->tz_zone.hot, sizeof(sc->tz_zone.hot), "IK", ""); @@ -293,8 +296,7 @@ ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - /* Power everything off and erase any existing state. */ - acpi_tz_all_off(sc); + /* Erase any existing state. */ for (i = 0; i < TZ_NUMLEVELS; i++) if (sc->tz_zone.al[i].Pointer != NULL) AcpiOsFree(sc->tz_zone.al[i].Pointer); @@ -343,11 +345,6 @@ for (i = 0; i < TZ_NUMLEVELS; i++) acpi_tz_sanity(sc, &sc->tz_zone.ac[i], "_ACx"); - /* - * Power off everything that we've just been given. - */ - acpi_tz_all_off(sc); - return_VALUE (0); } @@ -490,6 +487,7 @@ return_VOID; } +#if 0 /* * Turn off all the cooling devices. */ @@ -517,6 +515,7 @@ return_VOID; } +#endif /* * Given an object, verify that it's a reference to a device of some sort, @@ -634,9 +633,6 @@ return (0); } -/* - * Respond to a Notify event sent to the zone. - */ static void acpi_tz_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context) { @@ -675,21 +671,32 @@ } /* - * Poll the thermal zone. + * Notifies can be generated asynchronously but have also been seen to be + * triggered by other thermal methods. One system generates a notify of + * 0x81 when the fan is turned on or off. Another generates it when _SCP + * is called. To handle these situations, we check the zone via + * acpi_tz_monitor() before evaluating changes to setpoints or the cooling + * policy. */ static void acpi_tz_timeout(struct acpi_tz_softc *sc, int flags) { + + /* Check the current temperature and take action based on it */ + acpi_tz_monitor(sc); + /* If requested, get the power profile settings. */ if (flags & TZ_FLAG_GETPROFILE) acpi_tz_power_profile(sc); - /* If requested, check for new devices/setpoints. */ - if (flags & TZ_FLAG_GETSETTINGS) + /* + * If requested, check for new devices/setpoints. After finding them, + * check if we need to switch fans based on the new values. + */ + if (flags & TZ_FLAG_GETSETTINGS) { acpi_tz_establish(sc); - - /* Check the current temperature and take action based on it */ - acpi_tz_monitor(sc); + acpi_tz_monitor(sc); + } /* XXX passive cooling actions? */ } ==== //depot/projects/netperf_socket/sys/dev/ed/if_ed.c#9 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.233 2004/08/13 23:04:23 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed.c,v 1.234 2004/09/06 21:14:32 glebius Exp $"); /* * Device driver for National Semiconductor DS8390/WD83C690 based ethernet @@ -67,7 +67,6 @@ #endif #include -#include #include @@ -2810,26 +2809,9 @@ eh = mtod(m, struct ether_header *); /* - * Don't read in the entire packet if we know we're going to drop it - * and no bpf is active. + * Get packet, including link layer address, from interface. */ - if (!ifp->if_bpf && BDG_ACTIVE( (ifp) ) ) { - struct ifnet *bif; - - ed_ring_copy(sc, buf, (char *)eh, ETHER_HDR_LEN); - bif = bridge_in_ptr(ifp, eh) ; - if (bif == BDG_DROP) { - m_freem(m); - return; - } - if (len > ETHER_HDR_LEN) - ed_ring_copy(sc, buf + ETHER_HDR_LEN, - (char *)(eh + 1), len - ETHER_HDR_LEN); - } else - /* - * Get packet, including link layer address, from interface. - */ - ed_ring_copy(sc, buf, (char *)eh, len); + ed_ring_copy(sc, buf, (char *)eh, len); m->m_pkthdr.len = m->m_len = len; ==== //depot/projects/netperf_socket/sys/dev/firewire/sbp.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.79 2004/07/20 04:49:44 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.80 2004/09/06 20:42:34 simokawa Exp $ * */ @@ -2787,6 +2787,7 @@ if (ocb == NULL) { sdev->flags |= ORB_SHORTAGE; printf("ocb shortage!!!\n"); + splx(s); return NULL; } STAILQ_REMOVE_HEAD(&sdev->free_ocbs, ocb); ==== //depot/projects/netperf_socket/sys/dev/isp/isp_pci.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.98 2004/05/24 07:02:25 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.99 2004/09/07 08:04:09 mjacob Exp $"); #include #include @@ -45,6 +45,12 @@ #include #include +#ifdef ISP_TARGET_MODE +#ifdef PAE +#error "PAE and ISP_TARGET_MODE not supported yet" +#endif +#endif + #include static u_int16_t isp_pci_rd_reg(struct ispsoftc *, int); @@ -1621,6 +1627,131 @@ static void dma2(void *, bus_dma_segment_t *, int, int); +#ifdef PAE +static void +dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) +{ + mush_t *mp; + struct ispsoftc *isp; + struct ccb_scsiio *csio; + struct isp_pcisoftc *pcs; + bus_dmamap_t *dp; + bus_dma_segment_t *eseg; + ispreq64_t *rq; + int seglim, datalen; + u_int16_t nxti; + + mp = (mush_t *) arg; + if (error) { + mp->error = error; + return; + } + + if (nseg < 1) { + isp_prt(mp->isp, ISP_LOGERR, "bad segment count (%d)", nseg); + mp->error = EFAULT; + return; + } + csio = mp->cmd_token; + isp = mp->isp; + rq = mp->rq; + pcs = (struct isp_pcisoftc *)mp->isp; + dp = &pcs->dmaps[isp_handle_index(rq->req_handle)]; + nxti = *mp->nxtip; + + if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { + bus_dmamap_sync(pcs->dmat, *dp, BUS_DMASYNC_PREREAD); + } else { + bus_dmamap_sync(pcs->dmat, *dp, BUS_DMASYNC_PREWRITE); + } + + datalen = XS_XFRLEN(csio); + + /* + * We're passed an initial partially filled in entry that + * has most fields filled in except for data transfer + * related values. + * + * Our job is to fill in the initial request queue entry and + * then to start allocating and filling in continuation entries + * until we've covered the entire transfer. + */ + + if (IS_FC(isp)) { + seglim = ISP_RQDSEG_T3; + ((ispreqt3_t *)rq)->req_totalcnt = datalen; + if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { + ((ispreqt3_t *)rq)->req_flags |= REQFLAG_DATA_IN; + } else { + ((ispreqt3_t *)rq)->req_flags |= REQFLAG_DATA_OUT; + } + } else { + if (csio->cdb_len > 12) { + seglim = 0; + } else { + seglim = ISP_RQDSEG_A64; + } + if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { + rq->req_flags |= REQFLAG_DATA_IN; + } else { + rq->req_flags |= REQFLAG_DATA_OUT; + } + } + + eseg = dm_segs + nseg; + + while (datalen != 0 && rq->req_seg_count < seglim && dm_segs != eseg) { + if (IS_FC(isp)) { + ispreqt3_t *rq3 = (ispreqt3_t *)rq; + rq3->req_dataseg[rq3->req_seg_count].ds_base = + dm_segs->ds_addr; + rq3->req_dataseg[rq3->req_seg_count].ds_count = + dm_segs->ds_len; + } else { + rq->req_dataseg[rq->req_seg_count].ds_base = + dm_segs->ds_addr; + rq->req_dataseg[rq->req_seg_count].ds_count = + dm_segs->ds_len; + } + datalen -= dm_segs->ds_len; + rq->req_seg_count++; + dm_segs++; + } + + while (datalen > 0 && dm_segs != eseg) { + u_int16_t onxti; + ispcontreq64_t local, *crq = &local, *cqe; + + cqe = (ispcontreq64_t *) ISP_QUEUE_ENTRY(isp->isp_rquest, nxti); + onxti = nxti; + nxti = ISP_NXT_QENTRY(onxti, RQUEST_QUEUE_LEN(isp)); + if (nxti == mp->optr) { + isp_prt(isp, ISP_LOGDEBUG0, "Request Queue Overflow++"); + mp->error = MUSHERR_NOQENTRIES; + return; + } + rq->req_header.rqs_entry_count++; + MEMZERO((void *)crq, sizeof (*crq)); + crq->req_header.rqs_entry_count = 1; + crq->req_header.rqs_entry_type = RQSTYPE_A64_CONT; + + seglim = 0; + while (datalen > 0 && seglim < ISP_CDSEG64 && dm_segs != eseg) { + crq->req_dataseg[seglim].ds_base = + dm_segs->ds_addr; + crq->req_dataseg[seglim].ds_count = + dm_segs->ds_len; + rq->req_seg_count++; + dm_segs++; + seglim++; + datalen -= dm_segs->ds_len; + } + isp_put_cont64_req(isp, crq, cqe); + MEMORYBARRIER(isp, SYNC_REQUEST, onxti, QENTRY_LEN); + } + *mp->nxtip = nxti; +} +#else static void dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) { @@ -1744,6 +1875,7 @@ } *mp->nxtip = nxti; } +#endif static int isp_pci_dmasetup(struct ispsoftc *isp, struct ccb_scsiio *csio, ispreq_t *rq, @@ -1821,7 +1953,7 @@ } else { /* Pointer to physical buffer */ struct bus_dma_segment seg; - seg.ds_addr = (bus_addr_t)csio->data_ptr; + seg.ds_addr = (bus_addr_t)(vm_offset_t)csio->data_ptr; seg.ds_len = csio->dxfer_len; (*eptr)(mp, &seg, 1, 0); } @@ -1867,6 +1999,10 @@ case RQSTYPE_T2RQS: isp_put_request_t2(isp, (ispreqt2_t *) rq, (ispreqt2_t *) qep); break; + case RQSTYPE_A64: + case RQSTYPE_T3RQS: + isp_put_request_t3(isp, (ispreqt3_t *) rq, (ispreqt3_t *) qep); + break; } return (CMD_QUEUED); } ==== //depot/projects/netperf_socket/sys/dev/md/md.c#20 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/dev/md/md.c,v 1.129 2004/08/30 08:38:30 cperciva Exp $ + * $FreeBSD: src/sys/dev/md/md.c,v 1.130 2004/09/07 07:54:45 phk Exp $ * */ @@ -619,9 +619,7 @@ for (;;) { mtx_lock(&sc->queue_mtx); - bp = bioq_first(&sc->bio_queue); - if (bp) - bioq_remove(&sc->bio_queue, bp); + bp = bioq_takefirst(&sc->bio_queue); if (!bp) { if (sc->flags & MD_SHUTDOWN) { mtx_unlock(&sc->queue_mtx); ==== //depot/projects/netperf_socket/sys/dev/usb/ugen.c#8 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/ugen.c,v 1.88 2004/08/15 23:39:18 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/ugen.c,v 1.89 2004/09/08 07:13:39 imp Exp $"); /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -405,7 +405,6 @@ if (endpt == USB_CONTROL_ENDPOINT) { sc->sc_is_open[USB_CONTROL_ENDPOINT] = 1; - sc->sc_refcnt++; return (0); } @@ -516,7 +515,6 @@ } } sc->sc_is_open[endpt] = 1; - sc->sc_refcnt++; return (0); } @@ -544,8 +542,6 @@ if (endpt == USB_CONTROL_ENDPOINT) { DPRINTFN(5, ("ugenclose: close control\n")); sc->sc_is_open[endpt] = 0; - if (--sc->sc_refcnt == 0) - usb_detach_wakeup(USBDEV(sc->sc_dev)); return (0); } @@ -581,8 +577,6 @@ } } sc->sc_is_open[endpt] = 0; - if (--sc->sc_refcnt == 0) - usb_detach_wakeup(USBDEV(sc->sc_dev)); return (0); } @@ -739,7 +733,10 @@ USB_GET_SC(ugen, UGENUNIT(dev), sc); + sc->sc_refcnt++; error = ugen_do_read(sc, endpt, uio, flag); + if (--sc->sc_refcnt < 0) + usb_detach_wakeup(USBDEV(sc->sc_dev)); return (error); } @@ -836,7 +833,10 @@ USB_GET_SC(ugen, UGENUNIT(dev), sc); + sc->sc_refcnt++; error = ugen_do_write(sc, endpt, uio, flag); + if (--sc->sc_refcnt < 0) + usb_detach_wakeup(USBDEV(sc->sc_dev)); return (error); } @@ -885,13 +885,12 @@ } s = splusb(); - if (sc->sc_refcnt > 0) { + if (--sc->sc_refcnt >= 0) { /* Wake everyone */ for (i = 0; i < USB_MAX_ENDPOINTS; i++) wakeup(&sc->sc_endpoints[i][IN]); /* Wait for processes to go away. */ - while (sc->sc_refcnt > 0) - usb_detach_wait(USBDEV(sc->sc_dev)); + usb_detach_wait(USBDEV(sc->sc_dev)); } splx(s); @@ -1401,7 +1400,10 @@ USB_GET_SC(ugen, UGENUNIT(dev), sc); + sc->sc_refcnt++; error = ugen_do_ioctl(sc, endpt, cmd, addr, flag, p); + if (--sc->sc_refcnt < 0) + usb_detach_wakeup(USBDEV(sc->sc_dev)); return (error); } ==== //depot/projects/netperf_socket/sys/fs/autofs/autofs.h#3 (text+ko) ==== @@ -23,8 +23,8 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/autofs/autofs.h,v 1.2 2004/09/04 18:09:47 alfred Exp $ - * $Id: autofs.h,v 1.20 2004/08/31 08:49:56 bright Exp $ + * $FreeBSD: src/sys/fs/autofs/autofs.h,v 1.3 2004/09/08 08:44:14 alfred Exp $ + * $Id: autofs.h,v 1.21 2004/09/08 08:12:21 bright Exp $ */ #ifndef __AUTOFS_H__ #define __AUTOFS_H__ ==== //depot/projects/netperf_socket/sys/fs/autofs/autofs_util.c#3 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 9 19:02:38 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0FC3D16A4D0; Thu, 9 Sep 2004 19:02:38 +0000 (GMT) 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 C64F016A4CE for ; Thu, 9 Sep 2004 19:02:37 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA07E43D5C for ; Thu, 9 Sep 2004 19:02:37 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i89J2bOn022757 for ; Thu, 9 Sep 2004 19:02:37 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i89J2bo3022754 for perforce@freebsd.org; Thu, 9 Sep 2004 19:02:37 GMT (envelope-from jhb@freebsd.org) Date: Thu, 9 Sep 2004 19:02:37 GMT Message-Id: <200409091902.i89J2bo3022754@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 61256 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Sep 2004 19:02:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=61256 Change 61256 by jhb@jhb_slimer on 2004/09/09 19:01:42 Fix compile and add a new double fault inducing test. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#12 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#12 (text+ko) ==== @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -52,7 +53,7 @@ #include #include -#define MAX_EVENT 19 +#define MAX_EVENT 20 static struct sx foo, bar, bar2; static struct cv event_cv; @@ -80,6 +81,7 @@ "use test1 and test2 mutexes to test witness removal", "try lock tests including recursion test", "test witness_defineorder and witness_checkorder", + "blow the kernel stack on purpose", }; static int mod_event(struct module *module, int cmd, void *arg); @@ -111,6 +113,15 @@ SYSCTL_PROC(_debug_crash, OID_AUTO, test, CTLTYPE_INT | CTLFLAG_RW, 0, 0, sysctl_debug_crash_test, "I", ""); +static int +blow_stack(void) +{ + char dummy[512]; + + dummy[0] += blow_stack(); + return (dummy[0]); +} + static void crash_thread(void *arg) { @@ -196,9 +207,9 @@ sx_xunlock(&foo); break; case 13: - Debugger("about to init again"); + kdb_enter("about to init again"); mtx_init(&test_mtx, "test", NULL, MTX_DEF); - Debugger("if we haven't panic'd by now, ouch. :("); + kdb_enter("if we haven't panic'd by now, ouch. :("); mtx_destroy(&test_mtx); break; case 14: @@ -220,18 +231,18 @@ bzero(&test2_mtx, sizeof(test2_mtx)); mtx_init(&test1_mtx, "test1", NULL, MTX_DEF); mtx_init(&test2_mtx, "test2", NULL, MTX_DEF); - Debugger("no order yet"); + kdb_enter("no order yet"); mtx_lock(&Giant); mtx_lock(&test1_mtx); mtx_lock(&test2_mtx); mtx_unlock(&test2_mtx); mtx_unlock(&test1_mtx); mtx_unlock(&Giant); - Debugger("test1 and test2 should be ordered"); + kdb_enter("test1 and test2 should be ordered"); mtx_destroy(&test1_mtx); - Debugger("test1 should be gone, test2 should be after Giant"); + kdb_enter("test1 should be gone, test2 should be after Giant"); mtx_destroy(&test2_mtx); - Debugger("test1 and test2 should be gone"); + kdb_enter("test1 and test2 should be gone"); break; case 18: bzero(&test1_mtx, sizeof(test1_mtx)); @@ -263,11 +274,11 @@ bzero(&test2_mtx, sizeof(test2_mtx)); mtx_init(&test1_mtx, "test1", NULL, MTX_DEF); mtx_init(&test2_mtx, "test2", NULL, MTX_DEF); - Debugger("no order yet"); + kdb_enter("no order yet"); status = WITNESS_DEFINEORDER(&test1_mtx, &test2_mtx); printf("Status of test1 -> test2 set order should be 0: %d\n", status); - Debugger("order should be test1 then test2"); + kdb_enter("order should be test1 then test2"); printf("Check order of test1 -> test2 should succeed.\n"); mtx_lock(&test1_mtx); witness_check_mutex(&test2_mtx); @@ -291,6 +302,9 @@ mtx_destroy(&test1_mtx); mtx_destroy(&test2_mtx); break; + case 20: + (void)blow_stack(); + break; default: panic("event %d is bogus\n", event); } @@ -318,7 +332,7 @@ mtx_lock_spin(&sched_lock); td->td_priority = PRI_MIN_IDLE; TD_SET_CAN_RUN(td); - setrunqueue(td); + setrunqueue(td, SRQ_BORING); mtx_unlock_spin(&sched_lock); kthread = p; return (0); From owner-p4-projects@FreeBSD.ORG Thu Sep 9 19:49:35 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF54216A4D0; Thu, 9 Sep 2004 19:49:34 +0000 (GMT) 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 6E6C116A4CE for ; Thu, 9 Sep 2004 19:49:34 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 618AE43D4C for ; Thu, 9 Sep 2004 19:49:34 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i89JnYj6024021 for ; Thu, 9 Sep 2004 19:49:34 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i89JnY2x024018 for perforce@freebsd.org; Thu, 9 Sep 2004 19:49:34 GMT (envelope-from jhb@freebsd.org) Date: Thu, 9 Sep 2004 19:49:34 GMT Message-Id: <200409091949.i89JnY2x024018@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 61257 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Sep 2004 19:49:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=61257 Change 61257 by jhb@jhb_slimer on 2004/09/09 19:48:37 Minor nits I noticed while looking in here: - Just use sched_prio() directly rather than taking the long detour through the rtprio crap. - Only switch away if there is another runnable thread, switching away when there isn't is just stupid as we end up switching right back to ourselves which only serves to waste time. Affected files ... .. //depot/projects/smpng/sys/vm/vm_zeroidle.c#19 edit Differences ... ==== //depot/projects/smpng/sys/vm/vm_zeroidle.c#19 (text+ko) ==== @@ -138,36 +138,28 @@ vm_pagezero(void __unused *arg) { struct proc *p; - struct rtprio rtp; struct thread *td; - int pages, pri; td = curthread; p = td->td_proc; - rtp.prio = RTP_PRIO_MAX; - rtp.type = RTP_PRIO_IDLE; - pages = 0; mtx_lock_spin(&sched_lock); - rtp_to_pri(&rtp, td->td_ksegrp); - pri = td->td_priority; + sched_prio(td, PRI_MAX_IDLE); mtx_unlock_spin(&sched_lock); idlezero_enable = idlezero_enable_default; for (;;) { if (vm_page_zero_check()) { - pages += vm_page_zero_idle(); + vm_page_zero_idle(); #ifndef PREEMPTION - if (pages > idlezero_maxrun || sched_runnable()) { + if (sched_runnable()) { mtx_lock_spin(&sched_lock); mi_switch(SW_VOL, NULL); mtx_unlock_spin(&sched_lock); - pages = 0; } #endif - } else { - tsleep(&zero_state, pri, "pgzero", hz * 300); - pages = 0; - } + } else + tsleep(&zero_state, td->td_priority, "pgzero", + hz * 300); } } From owner-p4-projects@FreeBSD.ORG Thu Sep 9 19:51:37 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88D3916A4D0; Thu, 9 Sep 2004 19:51:37 +0000 (GMT) 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 63D4216A4CE for ; Thu, 9 Sep 2004 19:51:37 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 56C6143D5C for ; Thu, 9 Sep 2004 19:51:37 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i89JpbSl024138 for ; Thu, 9 Sep 2004 19:51:37 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i89JpbOT024135 for perforce@freebsd.org; Thu, 9 Sep 2004 19:51:37 GMT (envelope-from jhb@freebsd.org) Date: Thu, 9 Sep 2004 19:51:37 GMT Message-Id: <200409091951.i89JpbOT024135@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 61258 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Sep 2004 19:51:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=61258 Change 61258 by jhb@jhb_slimer on 2004/09/09 19:51:05 - Use sched_prio() rather than fondling td_priority directly. - Fix evtest so it compiles while I'm at it. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#13 edit .. //depot/projects/smpng/sys/modules/evtest/evtest.c#21 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#13 (text+ko) ==== @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -330,7 +331,7 @@ cv_init(&event_cv, "crash"); td = FIRST_THREAD_IN_PROC(p); mtx_lock_spin(&sched_lock); - td->td_priority = PRI_MIN_IDLE; + sched_prio(td, PRI_MIN_IDLE); TD_SET_CAN_RUN(td); setrunqueue(td, SRQ_BORING); mtx_unlock_spin(&sched_lock); ==== //depot/projects/smpng/sys/modules/evtest/evtest.c#21 (text+ko) ==== @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -387,9 +388,9 @@ return (error); td = FIRST_THREAD_IN_PROC(threads[i].ti_p); mtx_lock_spin(&sched_lock); - td->td_priority = PRI_MIN_IDLE; + sched_prio(td, PRI_MIN_IDLE); TD_SET_CAN_RUN(td); - setrunqueue(td); + setrunqueue(td, SRQ_BORING); mtx_unlock_spin(&sched_lock); mtx_lock(&event_mtx); num_threads++; From owner-p4-projects@FreeBSD.ORG Fri Sep 10 20:19:30 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C742416A4D0; Fri, 10 Sep 2004 20:19:29 +0000 (GMT) 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 80E9016A4CE for ; Fri, 10 Sep 2004 20:19:29 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A8F743D31 for ; Fri, 10 Sep 2004 20:19:29 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8AKJTHE066951 for ; Fri, 10 Sep 2004 20:19:29 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8AKJSwg066948 for perforce@freebsd.org; Fri, 10 Sep 2004 20:19:28 GMT (envelope-from julian@freebsd.org) Date: Fri, 10 Sep 2004 20:19:28 GMT Message-Id: <200409102019.i8AKJSwg066948@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2004 20:19:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=61299 Change 61299 by julian@julian_ref on 2004/09/10 20:19:05 IFC@61298 Affected files ... .. //depot/projects/nsched/sys/alpha/alpha/busdma_machdep.c#3 integrate .. //depot/projects/nsched/sys/alpha/alpha/clock.c#3 integrate .. //depot/projects/nsched/sys/alpha/conf/GENERIC#8 integrate .. //depot/projects/nsched/sys/alpha/include/atomic.h#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/busdma_machdep.c#4 integrate .. //depot/projects/nsched/sys/amd64/amd64/pmap.c#19 integrate .. //depot/projects/nsched/sys/amd64/conf/GENERIC#9 integrate .. //depot/projects/nsched/sys/arm/arm/busdma_machdep.c#3 integrate .. //depot/projects/nsched/sys/boot/sparc64/loader/main.c#3 integrate .. //depot/projects/nsched/sys/conf/NOTES#18 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_powerres.c#7 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_thermal.c#7 integrate .. //depot/projects/nsched/sys/dev/ata/ata-all.c#11 integrate .. //depot/projects/nsched/sys/dev/ata/ata-chipset.c#14 integrate .. //depot/projects/nsched/sys/dev/ata/ata-dma.c#4 integrate .. //depot/projects/nsched/sys/dev/isp/isp_pci.c#3 integrate .. //depot/projects/nsched/sys/dev/md/md.c#10 integrate .. //depot/projects/nsched/sys/dev/pccard/pccarddevs#5 integrate .. //depot/projects/nsched/sys/dev/sound/pcm/sndstat.c#3 integrate .. //depot/projects/nsched/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/ugen.c#6 integrate .. //depot/projects/nsched/sys/dev/usb/uhub.c#5 integrate .. //depot/projects/nsched/sys/dev/usb/usb_subr.c#6 integrate .. //depot/projects/nsched/sys/fs/autofs/autofs.h#3 integrate .. //depot/projects/nsched/sys/fs/autofs/autofs_util.c#4 integrate .. //depot/projects/nsched/sys/fs/autofs/autofs_vfsops.c#4 integrate .. //depot/projects/nsched/sys/fs/autofs/autofs_vnops.c#6 integrate .. //depot/projects/nsched/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/nsched/sys/fs/msdosfs/msdosfs_denode.c#3 integrate .. //depot/projects/nsched/sys/fs/msdosfs/msdosfs_fat.c#2 integrate .. //depot/projects/nsched/sys/fs/msdosfs/msdosfs_lookup.c#2 integrate .. //depot/projects/nsched/sys/fs/nwfs/nwfs.h#2 integrate .. //depot/projects/nsched/sys/fs/nwfs/nwfs_io.c#3 integrate .. //depot/projects/nsched/sys/fs/nwfs/nwfs_vnops.c#2 integrate .. //depot/projects/nsched/sys/fs/smbfs/smbfs.h#2 integrate .. //depot/projects/nsched/sys/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/nsched/sys/fs/smbfs/smbfs_vnops.c#3 integrate .. //depot/projects/nsched/sys/geom/mirror/g_mirror.c#6 integrate .. //depot/projects/nsched/sys/geom/uzip/g_uzip.c#2 integrate .. //depot/projects/nsched/sys/gnu/ext2fs/ext2_vnops.c#4 integrate .. //depot/projects/nsched/sys/i386/conf/GENERIC#7 integrate .. //depot/projects/nsched/sys/i386/i386/busdma_machdep.c#4 integrate .. //depot/projects/nsched/sys/i386/i386/db_trace.c#4 integrate .. //depot/projects/nsched/sys/i386/i386/pmap.c#18 integrate .. //depot/projects/nsched/sys/ia64/ia64/busdma_machdep.c#2 integrate .. //depot/projects/nsched/sys/kern/kern_event.c#8 integrate .. //depot/projects/nsched/sys/kern/kern_thr.c#17 integrate .. //depot/projects/nsched/sys/kern/subr_witness.c#7 integrate .. //depot/projects/nsched/sys/kern/vfs_subr.c#11 integrate .. //depot/projects/nsched/sys/modules/autofs/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/geom/geom_uzip/Makefile#2 integrate .. //depot/projects/nsched/sys/net/bpf.c#8 integrate .. //depot/projects/nsched/sys/net/bpfdesc.h#3 integrate .. //depot/projects/nsched/sys/net/if.c#12 integrate .. //depot/projects/nsched/sys/net/if.h#8 integrate .. //depot/projects/nsched/sys/netinet/if_ether.c#5 integrate .. //depot/projects/nsched/sys/nfs4client/nfs4_vnops.c#4 integrate .. //depot/projects/nsched/sys/nfsclient/nfs.h#5 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_bio.c#6 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_nfsiod.c#4 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_vnops.c#6 integrate .. //depot/projects/nsched/sys/pc98/conf/GENERIC#8 integrate .. //depot/projects/nsched/sys/pci/if_xl.c#9 integrate .. //depot/projects/nsched/sys/pci/ncr.c#4 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/busdma_machdep.c#2 integrate .. //depot/projects/nsched/sys/security/mac_bsdextended/mac_bsdextended.c#3 integrate .. //depot/projects/nsched/sys/sparc64/conf/GENERIC#7 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/bus_machdep.c#4 integrate .. //depot/projects/nsched/sys/sys/param.h#13 integrate .. //depot/projects/nsched/sys/sys/vnode.h#9 integrate .. //depot/projects/nsched/sys/ufs/ufs/ufs_vnops.c#4 integrate .. //depot/projects/nsched/sys/vm/vnode_pager.c#5 integrate Differences ... ==== //depot/projects/nsched/sys/alpha/alpha/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.45 2004/07/02 03:47:28 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.46 2004/09/08 04:54:18 scottl Exp $"); #include #include @@ -229,11 +229,11 @@ if (parent != NULL) { newtag->lowaddr = MIN(parent->lowaddr, newtag->lowaddr); newtag->highaddr = MAX(parent->highaddr, newtag->highaddr); - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = MAX(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = MIN(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/nsched/sys/alpha/alpha/clock.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.36 2004/04/05 21:00:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.37 2004/09/07 07:06:36 phk Exp $"); #include "opt_clock.h" @@ -120,7 +120,8 @@ 0, /* no poll_pps */ ~0u, /* counter_mask */ 0, /* frequency */ - "alpha" /* name */ + "alpha", /* name */ + 800, /* quality */ }; static struct timecounter i8254_timecounter = { ==== //depot/projects/nsched/sys/alpha/conf/GENERIC#8 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.177 2004/08/30 18:40:00 wilko Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.178 2004/09/07 22:37:43 scottl Exp $ machine alpha cpu EV4 @@ -46,7 +46,9 @@ options DEC_KN300 # AlphaServer 4100 (Rawhide), # AlphaServer 1200 (Tincup) -options SCHED_ULE #ULE scheduler +#options SCHED_ULE #ULE scheduler +options SCHED_4BSD #4BSD scheduler +options PREEMPTION #Enable kernel thread preemption options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem ==== //depot/projects/nsched/sys/alpha/include/atomic.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/alpha/include/atomic.h,v 1.18 2003/02/23 06:34:21 marcel Exp $ + * $FreeBSD: src/sys/alpha/include/atomic.h,v 1.19 2004/09/10 05:00:27 marcel Exp $ */ #ifndef _MACHINE_ATOMIC_H_ @@ -32,18 +32,6 @@ #include /* - * Quick and dirty workaround for compiling LINT. The kernel is too - * large to jump between sections without linker stubs/trampolines. - */ -#ifdef COMPILING_LINT -#define __COLD_SECTION "br 3f\n" -#define __HOT_SECTION "3:\n" -#else -#define __COLD_SECTION ".section .text3,\"ax\"\n" -#define __HOT_SECTION ".previous\n" -#endif - -/* * Various simple arithmetic on memory which is atomic in the presence * of interrupts and SMP safe. */ @@ -67,10 +55,7 @@ "1:\tldl_l %0, %2\n\t" /* load old value */ "bis %0, %3, %0\n\t" /* calculate new value */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "=m" (*p) : "m" (*p), "r" (v) : "memory"); @@ -86,10 +71,7 @@ "1:\tldl_l %0, %1\n\t" /* load old value */ "bic %0, %2, %0\n\t" /* calculate new value */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -105,10 +87,7 @@ "1:\tldl_l %0, %1\n\t" /* load old value */ "addl %0, %2, %0\n\t" /* calculate new value */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -124,10 +103,7 @@ "1:\tldl_l %0, %1\n\t" /* load old value */ "subl %0, %2, %0\n\t" /* calculate new value */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -144,10 +120,7 @@ "1:\tldl_l %0,%2\n\t" /* load current value, asserting lock */ "ldiq %1,0\n\t" /* value to store */ "stl_c %1,%2\n\t" /* attempt to store */ - "beq %1,2f\n\t" /* if the store failed, spin */ - "br 3f\n" /* it worked, exit */ - "2:\tbr 1b\n" /* *addr not updated, loop */ - "3:\n" /* it worked */ + "beq %1,1b\n" /* if the store failed, spin */ : "=&r"(result), "=&r"(temp), "+m" (*addr) : : "memory"); @@ -165,10 +138,7 @@ "1:\tldq_l %0, %1\n\t" /* load old value */ "bis %0, %2, %0\n\t" /* calculate new value */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -184,10 +154,7 @@ "1:\tldq_l %0, %1\n\t" /* load old value */ "bic %0, %2, %0\n\t" /* calculate new value */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -203,10 +170,7 @@ "1:\tldq_l %0, %1\n\t" /* load old value */ "addq %0, %2, %0\n\t" /* calculate new value */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -222,10 +186,7 @@ "1:\tldq_l %0, %1\n\t" /* load old value */ "subq %0, %2, %0\n\t" /* calculate new value */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -242,10 +203,7 @@ "1:\tldq_l %0,%2\n\t" /* load current value, asserting lock */ "ldiq %1,0\n\t" /* value to store */ "stq_c %1,%2\n\t" /* attempt to store */ - "beq %1,2f\n\t" /* if the store failed, spin */ - "br 3f\n" /* it worked, exit */ - "2:\tbr 1b\n" /* *addr not updated, loop */ - "3:\n" /* it worked */ + "beq %1,1b\n" /* if the store failed, spin */ : "=&r"(result), "=&r"(temp), "+m" (*addr) : : "memory"); @@ -385,11 +343,8 @@ "beq %0, 2f\n\t" /* exit if not equal */ "mov %3, %0\n\t" /* value to store */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 3f\n\t" /* if it failed, spin */ - "2:\n" /* done */ - __COLD_SECTION /* improve branch prediction */ - "3:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n\t" /* if it failed, spin */ + "2:\n" : "=&r" (ret), "+m" (*p) : "r" ((long)(int)cmpval), "r" (newval) : "memory"); @@ -415,11 +370,8 @@ "beq %0, 2f\n\t" /* exit if not equal */ "mov %3, %0\n\t" /* value to store */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 3f\n\t" /* if it failed, spin */ - "2:\n" /* done */ - __COLD_SECTION /* improve branch prediction */ - "3:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n\t" /* if it failed, spin */ + "2:\n" : "=&r" (ret), "+m" (*p) : "r" (cmpval), "r" (newval) : "memory"); ==== //depot/projects/nsched/sys/amd64/amd64/busdma_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.57 2004/08/16 22:53:03 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.58 2004/09/08 04:54:18 scottl Exp $"); #include #include @@ -248,11 +248,11 @@ if (parent != NULL) { newtag->lowaddr = MIN(parent->lowaddr, newtag->lowaddr); newtag->highaddr = MAX(parent->highaddr, newtag->highaddr); - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = MAX(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = MIN(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/nsched/sys/amd64/amd64/pmap.c#19 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.496 2004/08/30 03:52:04 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.497 2004/09/08 18:58:28 alc Exp $"); /* * Manages physical address maps. @@ -203,7 +203,7 @@ static PMAP_INLINE void free_pv_entry(pv_entry_t pv); static pv_entry_t get_pv_entry(void); -static void pmap_clear_ptes(vm_page_t m, int bit); +static void pmap_clear_ptes(vm_page_t m, long bit); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, pd_entry_t ptepde); @@ -2591,7 +2591,7 @@ * Clear the given bit in each of the given page's ptes. */ static __inline void -pmap_clear_ptes(vm_page_t m, int bit) +pmap_clear_ptes(vm_page_t m, long bit) { register pv_entry_t pv; pt_entry_t pbits, *pte; @@ -2623,15 +2623,18 @@ PMAP_LOCK(pv->pv_pmap); pte = pmap_pte(pv->pv_pmap, pv->pv_va); +retry: pbits = *pte; if (pbits & bit) { if (bit == PG_RW) { + if (!atomic_cmpset_long(pte, pbits, + pbits & ~(PG_RW | PG_M))) + goto retry; if (pbits & PG_M) { vm_page_dirty(m); } - pte_store(pte, pbits & ~(PG_M|PG_RW)); } else { - pte_store(pte, pbits & ~bit); + atomic_clear_long(pte, bit); } pmap_invalidate_page(pv->pv_pmap, pv->pv_va); } ==== //depot/projects/nsched/sys/amd64/conf/GENERIC#9 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.422 2004/08/27 15:16:21 andre Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.423 2004/09/07 22:37:43 scottl Exp $ machine amd64 cpu HAMMER @@ -27,7 +27,9 @@ makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols -options SCHED_ULE # ULE scheduler +#options SCHED_ULE # ULE scheduler +options SCHED_4BSD # 4BSD scheduler +options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem ==== //depot/projects/nsched/sys/arm/arm/busdma_machdep.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.2 2004/07/21 22:04:05 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.3 2004/09/08 04:54:18 scottl Exp $"); /* * MacPPC bus dma support routines @@ -207,12 +207,11 @@ if (parent != NULL) { newtag->lowaddr = min(parent->lowaddr, newtag->lowaddr); newtag->highaddr = max(parent->highaddr, newtag->highaddr); - - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = max(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = min(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/nsched/sys/boot/sparc64/loader/main.c#3 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.24 2004/08/19 20:13:31 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.25 2004/09/08 12:52:45 kensmith Exp $"); /* * FreeBSD/sparc64 kernel loader - machine dependent part @@ -197,9 +197,7 @@ static int sparc64_autoload(void) { - /* XXX - Temporary hack needed for new ATA to work. */ - printf("Turning off DMA for ATA.\n"); - setenv("hw.ata.ata_dma", "0", 1); + printf("nothing to autoload yet.\n"); return 0; } ==== //depot/projects/nsched/sys/conf/NOTES#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1275 2004/09/03 06:32:11 ru Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1276 2004/09/08 08:42:36 ru Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1904,20 +1904,20 @@ device snd_uaudio # For non-pnp sound cards: -hint.snd_mss.0.at="isa" -hint.snd_mss.0.irq="10" -hint.snd_mss.0.drq="1" -hint.snd_mss.0.flags="0x0" -hint.snd_sbc.0.at="isa" -hint.snd_sbc.0.port="0x220" -hint.snd_sbc.0.irq="5" -hint.snd_sbc.0.drq="1" -hint.snd_sbc.0.flags="0x15" -hint.snd_gusc.0.at="isa" -hint.snd_gusc.0.port="0x220" -hint.snd_gusc.0.irq="5" -hint.snd_gusc.0.drq="1" -hint.snd_gusc.0.flags="0x13" +hint.pcm.0.at="isa" +hint.pcm.0.irq="10" +hint.pcm.0.drq="1" +hint.pcm.0.flags="0x0" +hint.sbc.0.at="isa" +hint.sbc.0.port="0x220" +hint.sbc.0.irq="5" +hint.sbc.0.drq="1" +hint.sbc.0.flags="0x15" +hint.gusc.0.at="isa" +hint.gusc.0.port="0x220" +hint.gusc.0.irq="5" +hint.gusc.0.drq="1" +hint.gusc.0.flags="0x13" # # Miscellaneous hardware: ==== //depot/projects/nsched/sys/dev/acpica/acpi_powerres.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_powerres.c,v 1.26 2004/08/13 06:22:10 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_powerres.c,v 1.27 2004/09/07 16:58:12 njl Exp $"); #include "opt_acpi.h" #include @@ -62,6 +62,7 @@ /* Return values from _STA on a power resource */ #define ACPI_PWR_OFF 0 #define ACPI_PWR_ON 1 +#define ACPI_PWR_UNK (-1) /* A relationship between a power resource and a consumer. */ struct acpi_powerreference { @@ -87,6 +88,7 @@ ACPI_HANDLE ap_resource; ACPI_INTEGER ap_systemlevel; ACPI_INTEGER ap_order; + int ap_state; }; static TAILQ_HEAD(acpi_powerresource_list, acpi_powerresource) @@ -169,6 +171,7 @@ } rp->ap_systemlevel = obj->PowerResource.SystemLevel; rp->ap_order = obj->PowerResource.ResourceOrder; + rp->ap_state = ACPI_PWR_UNK; /* Sort the resource into the list */ status = AE_OK; @@ -640,17 +643,17 @@ if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "can't get status of %s - %d\n", acpi_name(rp->ap_resource), status)); - /* XXX is this correct? Always switch if in doubt? */ continue; - } + } else if (rp->ap_state == ACPI_PWR_UNK) + rp->ap_state = cur; /* * Switch if required. Note that we ignore the result of the switch * effort; we don't know what to do if it fails, so checking wouldn't * help much. */ - if (cur != ACPI_PWR_ON) { + if (rp->ap_state != ACPI_PWR_ON) { status = AcpiEvaluateObject(rp->ap_resource, "_ON", NULL, NULL); if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, @@ -658,6 +661,7 @@ acpi_name(rp->ap_resource), AcpiFormatException(status))); } else { + rp->ap_state = ACPI_PWR_ON; ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "switched %s on\n", acpi_name(rp->ap_resource))); } @@ -685,14 +689,15 @@ acpi_name(rp->ap_resource), status)); /* XXX is this correct? Always switch if in doubt? */ continue; - } + } else if (rp->ap_state == ACPI_PWR_UNK) + rp->ap_state = cur; /* * Switch if required. Note that we ignore the result of the switch * effort; we don't know what to do if it fails, so checking wouldn't * help much. */ - if (cur != ACPI_PWR_OFF) { + if (rp->ap_state != ACPI_PWR_OFF) { status = AcpiEvaluateObject(rp->ap_resource, "_OFF", NULL, NULL); if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, @@ -700,6 +705,7 @@ acpi_name(rp->ap_resource), AcpiFormatException(status))); } else { + rp->ap_state = ACPI_PWR_OFF; ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "switched %s off\n", acpi_name(rp->ap_resource))); } ==== //depot/projects/nsched/sys/dev/acpica/acpi_thermal.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.49 2004/08/30 22:42:10 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.51 2004/09/08 19:36:07 njl Exp $"); #include "opt_acpi.h" #include @@ -112,7 +112,9 @@ static int acpi_tz_attach(device_t dev); static int acpi_tz_establish(struct acpi_tz_softc *sc); static void acpi_tz_monitor(void *Context); +#if 0 static void acpi_tz_all_off(struct acpi_tz_softc *sc); +#endif static void acpi_tz_switch_cooler_off(ACPI_OBJECT *obj, void *arg); static void acpi_tz_switch_cooler_on(ACPI_OBJECT *obj, void *arg); static void acpi_tz_getparam(struct acpi_tz_softc *sc, char *node, @@ -225,7 +227,8 @@ OID_AUTO, oidname, CTLFLAG_RD, 0, ""); SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "temperature", CTLFLAG_RD, &sc->tz_temperature, - sizeof(sc->tz_temperature), "IK", "current thermal zone temperature"); + sizeof(sc->tz_temperature), "IK", + "current thermal zone temperature"); SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "active", CTLTYPE_INT | CTLFLAG_RW, sc, 0, acpi_tz_active_sysctl, "I", ""); @@ -233,9 +236,9 @@ SYSCTL_ADD_INT(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "thermal_flags", CTLFLAG_RD, &sc->tz_thflags, 0, "thermal zone flags"); - SYSCTL_ADD_INT(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), - OID_AUTO, "_PSV", CTLFLAG_RD, - &sc->tz_zone.psv, 0, ""); + SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), + OID_AUTO, "_PSV", CTLFLAG_RD, &sc->tz_zone.psv, + sizeof(sc->tz_zone.psv), "IK", ""); SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "_HOT", CTLFLAG_RD, &sc->tz_zone.hot, sizeof(sc->tz_zone.hot), "IK", ""); @@ -293,8 +296,7 @@ ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - /* Power everything off and erase any existing state. */ - acpi_tz_all_off(sc); + /* Erase any existing state. */ for (i = 0; i < TZ_NUMLEVELS; i++) if (sc->tz_zone.al[i].Pointer != NULL) AcpiOsFree(sc->tz_zone.al[i].Pointer); @@ -343,11 +345,6 @@ for (i = 0; i < TZ_NUMLEVELS; i++) acpi_tz_sanity(sc, &sc->tz_zone.ac[i], "_ACx"); - /* - * Power off everything that we've just been given. - */ - acpi_tz_all_off(sc); - return_VALUE (0); } @@ -490,6 +487,7 @@ return_VOID; } +#if 0 /* * Turn off all the cooling devices. */ @@ -517,6 +515,7 @@ return_VOID; } +#endif /* * Given an object, verify that it's a reference to a device of some sort, @@ -634,9 +633,6 @@ return (0); } -/* - * Respond to a Notify event sent to the zone. - */ static void acpi_tz_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context) { @@ -675,21 +671,32 @@ } /* - * Poll the thermal zone. + * Notifies can be generated asynchronously but have also been seen to be + * triggered by other thermal methods. One system generates a notify of + * 0x81 when the fan is turned on or off. Another generates it when _SCP + * is called. To handle these situations, we check the zone via + * acpi_tz_monitor() before evaluating changes to setpoints or the cooling + * policy. */ static void acpi_tz_timeout(struct acpi_tz_softc *sc, int flags) { + + /* Check the current temperature and take action based on it */ + acpi_tz_monitor(sc); + /* If requested, get the power profile settings. */ if (flags & TZ_FLAG_GETPROFILE) acpi_tz_power_profile(sc); - /* If requested, check for new devices/setpoints. */ - if (flags & TZ_FLAG_GETSETTINGS) + /* + * If requested, check for new devices/setpoints. After finding them, + * check if we need to switch fans based on the new values. + */ + if (flags & TZ_FLAG_GETSETTINGS) { acpi_tz_establish(sc); - - /* Check the current temperature and take action based on it */ - acpi_tz_monitor(sc); + acpi_tz_monitor(sc); + } /* XXX passive cooling actions? */ } ==== //depot/projects/nsched/sys/dev/ata/ata-all.c#11 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.225 2004/09/03 12:10:44 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.226 2004/09/09 13:25:46 sos Exp $"); #include "opt_ata.h" #include @@ -77,12 +77,12 @@ /* global vars */ MALLOC_DEFINE(M_ATA, "ATA generic", "ATA driver generic layer"); -struct intr_config_hook *ata_delayed_attach = NULL; devclass_t ata_devclass; uma_zone_t ata_zone; int ata_wc = 1; /* local vars */ +static struct intr_config_hook *ata_delayed_attach = NULL; static int ata_dma = 1; static int atapi_dma = 1; @@ -704,6 +704,12 @@ struct ata_channel *ch; int ctlr; + if (ata_delayed_attach) { + config_intrhook_disestablish(ata_delayed_attach); + free(ata_delayed_attach, M_TEMP); + ata_delayed_attach = NULL; + } + /* * run through all ata devices and look for real ATA & ATAPI devices * using the hints we found in the early probe, this avoids some of @@ -724,11 +730,6 @@ #ifdef DEV_ATARAID ata_raid_attach(); #endif - if (ata_delayed_attach) { - config_intrhook_disestablish(ata_delayed_attach); - free(ata_delayed_attach, M_TEMP); - ata_delayed_attach = NULL; - } } /* ==== //depot/projects/nsched/sys/dev/ata/ata-chipset.c#14 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.87 2004/09/03 12:10:44 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.88 2004/09/10 10:31:37 sos Exp $"); #include "opt_ata.h" #include @@ -546,7 +546,7 @@ int error; atadev->channel->dma->alignment = 16; - atadev->channel->dma->max_iosize = 63 * 1024; + atadev->channel->dma->max_iosize = 126 * DEV_BSIZE; mode = ata_limit_mode(atadev, mode, ATA_UDMA2); @@ -1067,7 +1067,7 @@ int error; atadev->channel->dma->alignment = 16; - atadev->channel->dma->max_iosize = 63 * 1024; + atadev->channel->dma->max_iosize = 126 * DEV_BSIZE; mode = ata_limit_mode(atadev, mode, ATA_UDMA2); @@ -2157,8 +2157,10 @@ if (ctlr->chip->max_dma >= ATA_SA150) ch->flags |= ATA_NO_SLAVE; - if ((ctlr->chip->cfg2 & SIIBUG) && ch->dma) - ch->dma->boundary = 8 * 1024; + if ((ctlr->chip->cfg2 & SIIBUG) && ch->dma) { + ch->dma->boundary = 16 * DEV_BSIZE; + ch->dma->max_iosize = 15 * DEV_BSIZE; + } ata_generic_hw(ch); ==== //depot/projects/nsched/sys/dev/ata/ata-dma.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.130 2004/08/20 19:05:22 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.131 2004/09/10 10:31:37 sos Exp $"); #include #include @@ -75,8 +75,8 @@ ch->dma->load = ata_dmaload; ch->dma->unload = ata_dmaunload; ch->dma->alignment = 2; - ch->dma->max_iosize = 64 * 1024; - ch->dma->boundary = 64 * 1024; + ch->dma->max_iosize = 128 * DEV_BSIZE; + ch->dma->boundary = 128 * DEV_BSIZE; } } @@ -96,7 +96,7 @@ if (bus_dma_tag_create(NULL, ch->dma->alignment, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, - NULL, NULL, 16*1024*1024, + NULL, NULL, 256 * DEV_BSIZE, ATA_DMA_ENTRIES, ch->dma->max_iosize, BUS_DMA_ALLOCNOW, NULL, NULL, &ch->dma->dmatag)) goto error; @@ -109,7 +109,7 @@ if (bus_dma_tag_create(ch->dma->dmatag,ch->dma->alignment,ch->dma->boundary, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, - NULL, NULL, 16*1024*1024, + NULL, NULL, 256 * DEV_BSIZE, ATA_DMA_ENTRIES, ch->dma->max_iosize, BUS_DMA_ALLOCNOW, NULL, NULL, &ch->dma->ddmatag)) goto error; ==== //depot/projects/nsched/sys/dev/isp/isp_pci.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.98 2004/05/24 07:02:25 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.99 2004/09/07 08:04:09 mjacob Exp $"); #include #include @@ -45,6 +45,12 @@ #include #include +#ifdef ISP_TARGET_MODE +#ifdef PAE +#error "PAE and ISP_TARGET_MODE not supported yet" +#endif +#endif + #include static u_int16_t isp_pci_rd_reg(struct ispsoftc *, int); @@ -1621,6 +1627,131 @@ static void dma2(void *, bus_dma_segment_t *, int, int); +#ifdef PAE +static void +dma2(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) +{ + mush_t *mp; + struct ispsoftc *isp; + struct ccb_scsiio *csio; + struct isp_pcisoftc *pcs; + bus_dmamap_t *dp; + bus_dma_segment_t *eseg; + ispreq64_t *rq; + int seglim, datalen; + u_int16_t nxti; + + mp = (mush_t *) arg; + if (error) { + mp->error = error; + return; + } + + if (nseg < 1) { + isp_prt(mp->isp, ISP_LOGERR, "bad segment count (%d)", nseg); + mp->error = EFAULT; + return; + } + csio = mp->cmd_token; + isp = mp->isp; + rq = mp->rq; + pcs = (struct isp_pcisoftc *)mp->isp; + dp = &pcs->dmaps[isp_handle_index(rq->req_handle)]; + nxti = *mp->nxtip; + + if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { + bus_dmamap_sync(pcs->dmat, *dp, BUS_DMASYNC_PREREAD); + } else { + bus_dmamap_sync(pcs->dmat, *dp, BUS_DMASYNC_PREWRITE); + } + + datalen = XS_XFRLEN(csio); + + /* + * We're passed an initial partially filled in entry that + * has most fields filled in except for data transfer + * related values. + * + * Our job is to fill in the initial request queue entry and + * then to start allocating and filling in continuation entries + * until we've covered the entire transfer. + */ + + if (IS_FC(isp)) { + seglim = ISP_RQDSEG_T3; + ((ispreqt3_t *)rq)->req_totalcnt = datalen; + if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { + ((ispreqt3_t *)rq)->req_flags |= REQFLAG_DATA_IN; + } else { + ((ispreqt3_t *)rq)->req_flags |= REQFLAG_DATA_OUT; + } + } else { + if (csio->cdb_len > 12) { + seglim = 0; + } else { + seglim = ISP_RQDSEG_A64; + } + if ((csio->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { + rq->req_flags |= REQFLAG_DATA_IN; + } else { + rq->req_flags |= REQFLAG_DATA_OUT; + } + } + + eseg = dm_segs + nseg; + + while (datalen != 0 && rq->req_seg_count < seglim && dm_segs != eseg) { + if (IS_FC(isp)) { + ispreqt3_t *rq3 = (ispreqt3_t *)rq; + rq3->req_dataseg[rq3->req_seg_count].ds_base = + dm_segs->ds_addr; + rq3->req_dataseg[rq3->req_seg_count].ds_count = + dm_segs->ds_len; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 10 21:09:38 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A29A416A4D0; Fri, 10 Sep 2004 21:09:37 +0000 (GMT) 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 7D54816A4CE for ; Fri, 10 Sep 2004 21:09:37 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 54B1243D2D for ; Fri, 10 Sep 2004 21:09:37 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8AL9bWF069036 for ; Fri, 10 Sep 2004 21:09:37 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8AL9aQY069032 for perforce@freebsd.org; Fri, 10 Sep 2004 21:09:36 GMT (envelope-from jhb@freebsd.org) Date: Fri, 10 Sep 2004 21:09:36 GMT Message-Id: <200409102109.i8AL9aQY069032@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 61308 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2004 21:09:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=61308 Change 61308 by jhb@jhb_slimer on 2004/09/10 21:09:16 IFC @61306. Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#23 integrate .. //depot/projects/smpng/sys/alpha/alpha/clock.c#13 integrate .. //depot/projects/smpng/sys/alpha/alpha/machdep.c#70 integrate .. //depot/projects/smpng/sys/alpha/conf/GENERIC#41 integrate .. //depot/projects/smpng/sys/alpha/include/atomic.h#9 integrate .. //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#11 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#29 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#32 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#23 integrate .. //depot/projects/smpng/sys/arm/arm/busdma_machdep.c#3 integrate .. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/smpng/sys/boot/sparc64/loader/main.c#18 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#23 integrate .. //depot/projects/smpng/sys/conf/NOTES#79 integrate .. //depot/projects/smpng/sys/conf/files#120 integrate .. //depot/projects/smpng/sys/ddb/db_ps.c#27 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_powerres.c#19 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_thermal.c#29 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#59 integrate .. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#43 integrate .. //depot/projects/smpng/sys/dev/ata/ata-dma.c#40 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed.c#24 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#35 integrate .. //depot/projects/smpng/sys/dev/isp/isp_pci.c#25 integrate .. //depot/projects/smpng/sys/dev/md/md.c#55 integrate .. //depot/projects/smpng/sys/dev/mii/ciphy.c#1 branch .. //depot/projects/smpng/sys/dev/mii/ciphyreg.h#1 branch .. //depot/projects/smpng/sys/dev/mii/miidevs#13 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#39 integrate .. //depot/projects/smpng/sys/dev/re/if_re.c#14 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/sndstat.c#14 integrate .. //depot/projects/smpng/sys/dev/sym/sym_hipd.c#18 integrate .. //depot/projects/smpng/sys/dev/usb/ucycom.c#1 branch .. //depot/projects/smpng/sys/dev/usb/ugen.c#26 integrate .. //depot/projects/smpng/sys/dev/usb/uhub.c#19 integrate .. //depot/projects/smpng/sys/dev/usb/umass.c#41 integrate .. //depot/projects/smpng/sys/dev/usb/uplcom.c#13 integrate .. //depot/projects/smpng/sys/dev/usb/usb_quirks.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_subr.c#25 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#61 integrate .. //depot/projects/smpng/sys/dev/usb/uscanner.c#26 integrate .. //depot/projects/smpng/sys/dev/vge/if_vge.c#1 branch .. //depot/projects/smpng/sys/dev/vge/if_vgereg.h#1 branch .. //depot/projects/smpng/sys/dev/vge/if_vgevar.h#1 branch .. //depot/projects/smpng/sys/fs/autofs/autofs.h#2 integrate .. //depot/projects/smpng/sys/fs/autofs/autofs_util.c#2 integrate .. //depot/projects/smpng/sys/fs/autofs/autofs_vfsops.c#2 integrate .. //depot/projects/smpng/sys/fs/autofs/autofs_vnops.c#2 integrate .. //depot/projects/smpng/sys/fs/msdosfs/denode.h#7 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_denode.c#16 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_fat.c#8 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_lookup.c#7 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs.h#3 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_io.c#13 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_vnops.c#9 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs.h#7 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_io.c#17 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vnops.c#26 integrate .. //depot/projects/smpng/sys/geom/geom_subr.c#43 integrate .. //depot/projects/smpng/sys/geom/mirror/g_mirror.c#5 integrate .. //depot/projects/smpng/sys/geom/notes#3 integrate .. //depot/projects/smpng/sys/geom/uzip/g_uzip.c#2 integrate .. //depot/projects/smpng/sys/gnu/ext2fs/ext2_vnops.c#23 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#56 integrate .. //depot/projects/smpng/sys/i386/i386/busdma_machdep.c#29 integrate .. //depot/projects/smpng/sys/i386/i386/db_trace.c#16 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#79 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#70 integrate .. //depot/projects/smpng/sys/i386/linux/linux_machdep.c#27 integrate .. //depot/projects/smpng/sys/i386/linux/linux_proto.h#18 integrate .. //depot/projects/smpng/sys/i386/linux/linux_syscall.h#17 integrate .. //depot/projects/smpng/sys/i386/linux/linux_sysent.c#18 integrate .. //depot/projects/smpng/sys/i386/linux/syscalls.master#18 integrate .. //depot/projects/smpng/sys/ia64/ia64/busdma_machdep.c#21 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#84 integrate .. //depot/projects/smpng/sys/isofs/cd9660/cd9660_vnops.c#16 integrate .. //depot/projects/smpng/sys/kern/init_main.c#48 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#32 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#75 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#83 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#83 integrate .. //depot/projects/smpng/sys/kern/kern_intr.c#52 integrate .. //depot/projects/smpng/sys/kern/kern_kse.c#9 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#65 integrate .. //depot/projects/smpng/sys/kern/kern_switch.c#44 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#79 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#20 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#66 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#36 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#40 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#121 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#57 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#32 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#81 integrate .. //depot/projects/smpng/sys/modules/Makefile#82 integrate .. //depot/projects/smpng/sys/modules/autofs/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/cs/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/fdc/Makefile#8 integrate .. //depot/projects/smpng/sys/modules/geom/geom_uzip/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/linprocfs/Makefile#4 integrate .. //depot/projects/smpng/sys/modules/msdosfs/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/nfs4client/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/nfsclient/Makefile#8 integrate .. //depot/projects/smpng/sys/modules/owi/Makefile#3 integrate .. //depot/projects/smpng/sys/modules/smbfs/Makefile#7 integrate .. //depot/projects/smpng/sys/modules/ucycom/Makefile#1 branch .. //depot/projects/smpng/sys/modules/vge/Makefile#1 branch .. //depot/projects/smpng/sys/net/bpf.c#40 integrate .. //depot/projects/smpng/sys/net/bpfdesc.h#10 integrate .. //depot/projects/smpng/sys/net/if.c#54 integrate .. //depot/projects/smpng/sys/net/if.h#21 integrate .. //depot/projects/smpng/sys/netgraph/ng_pptpgre.c#13 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#28 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#37 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#39 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#64 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#44 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#29 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#54 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#49 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#22 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vnops.c#6 integrate .. //depot/projects/smpng/sys/nfsclient/nfs.h#19 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#30 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_nfsiod.c#12 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#40 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#48 integrate .. //depot/projects/smpng/sys/pc98/i386/machdep.c#70 integrate .. //depot/projects/smpng/sys/pci/if_pcn.c#28 integrate .. //depot/projects/smpng/sys/pci/if_xl.c#49 integrate .. //depot/projects/smpng/sys/pci/ncr.c#17 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/busdma_machdep.c#16 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/machdep.c#54 integrate .. //depot/projects/smpng/sys/security/mac_bsdextended/mac_bsdextended.c#12 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#46 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/bus_machdep.c#26 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#65 integrate .. //depot/projects/smpng/sys/sys/conf.h#29 integrate .. //depot/projects/smpng/sys/sys/param.h#71 integrate .. //depot/projects/smpng/sys/sys/proc.h#125 integrate .. //depot/projects/smpng/sys/sys/sched.h#14 integrate .. //depot/projects/smpng/sys/sys/vnode.h#48 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#39 integrate .. //depot/projects/smpng/sys/vm/vm_meter.c#19 integrate .. //depot/projects/smpng/sys/vm/vnode_pager.c#42 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#23 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.45 2004/07/02 03:47:28 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.46 2004/09/08 04:54:18 scottl Exp $"); #include #include @@ -229,11 +229,11 @@ if (parent != NULL) { newtag->lowaddr = MIN(parent->lowaddr, newtag->lowaddr); newtag->highaddr = MAX(parent->highaddr, newtag->highaddr); - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = MAX(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = MIN(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/smpng/sys/alpha/alpha/clock.c#13 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.36 2004/04/05 21:00:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.37 2004/09/07 07:06:36 phk Exp $"); #include "opt_clock.h" @@ -120,7 +120,8 @@ 0, /* no poll_pps */ ~0u, /* counter_mask */ 0, /* frequency */ - "alpha" /* name */ + "alpha", /* name */ + 800, /* quality */ }; static struct timecounter i8254_timecounter = { ==== //depot/projects/smpng/sys/alpha/alpha/machdep.c#70 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.222 2004/07/10 22:35:05 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.223 2004/09/05 02:09:51 julian Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -846,7 +846,7 @@ } - proc_linkup(&proc0, &ksegrp0, &kse0, &thread0); + proc_linkup(&proc0, &ksegrp0, &thread0); /* * Init mapping for u page(s) for proc 0 */ ==== //depot/projects/smpng/sys/alpha/conf/GENERIC#41 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.177 2004/08/30 18:40:00 wilko Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.178 2004/09/07 22:37:43 scottl Exp $ machine alpha cpu EV4 @@ -46,7 +46,9 @@ options DEC_KN300 # AlphaServer 4100 (Rawhide), # AlphaServer 1200 (Tincup) -options SCHED_ULE #ULE scheduler +#options SCHED_ULE #ULE scheduler +options SCHED_4BSD #4BSD scheduler +options PREEMPTION #Enable kernel thread preemption options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem ==== //depot/projects/smpng/sys/alpha/include/atomic.h#9 (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/alpha/include/atomic.h,v 1.18 2003/02/23 06:34:21 marcel Exp $ + * $FreeBSD: src/sys/alpha/include/atomic.h,v 1.19 2004/09/10 05:00:27 marcel Exp $ */ #ifndef _MACHINE_ATOMIC_H_ @@ -32,18 +32,6 @@ #include /* - * Quick and dirty workaround for compiling LINT. The kernel is too - * large to jump between sections without linker stubs/trampolines. - */ -#ifdef COMPILING_LINT -#define __COLD_SECTION "br 3f\n" -#define __HOT_SECTION "3:\n" -#else -#define __COLD_SECTION ".section .text3,\"ax\"\n" -#define __HOT_SECTION ".previous\n" -#endif - -/* * Various simple arithmetic on memory which is atomic in the presence * of interrupts and SMP safe. */ @@ -67,10 +55,7 @@ "1:\tldl_l %0, %2\n\t" /* load old value */ "bis %0, %3, %0\n\t" /* calculate new value */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "=m" (*p) : "m" (*p), "r" (v) : "memory"); @@ -86,10 +71,7 @@ "1:\tldl_l %0, %1\n\t" /* load old value */ "bic %0, %2, %0\n\t" /* calculate new value */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -105,10 +87,7 @@ "1:\tldl_l %0, %1\n\t" /* load old value */ "addl %0, %2, %0\n\t" /* calculate new value */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -124,10 +103,7 @@ "1:\tldl_l %0, %1\n\t" /* load old value */ "subl %0, %2, %0\n\t" /* calculate new value */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -144,10 +120,7 @@ "1:\tldl_l %0,%2\n\t" /* load current value, asserting lock */ "ldiq %1,0\n\t" /* value to store */ "stl_c %1,%2\n\t" /* attempt to store */ - "beq %1,2f\n\t" /* if the store failed, spin */ - "br 3f\n" /* it worked, exit */ - "2:\tbr 1b\n" /* *addr not updated, loop */ - "3:\n" /* it worked */ + "beq %1,1b\n" /* if the store failed, spin */ : "=&r"(result), "=&r"(temp), "+m" (*addr) : : "memory"); @@ -165,10 +138,7 @@ "1:\tldq_l %0, %1\n\t" /* load old value */ "bis %0, %2, %0\n\t" /* calculate new value */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -184,10 +154,7 @@ "1:\tldq_l %0, %1\n\t" /* load old value */ "bic %0, %2, %0\n\t" /* calculate new value */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -203,10 +170,7 @@ "1:\tldq_l %0, %1\n\t" /* load old value */ "addq %0, %2, %0\n\t" /* calculate new value */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -222,10 +186,7 @@ "1:\tldq_l %0, %1\n\t" /* load old value */ "subq %0, %2, %0\n\t" /* calculate new value */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 2f\n\t" /* spin if failed */ - __COLD_SECTION /* improve branch prediction */ - "2:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n" /* spin if failed */ : "=&r" (temp), "+m" (*p) : "r" (v) : "memory"); @@ -242,10 +203,7 @@ "1:\tldq_l %0,%2\n\t" /* load current value, asserting lock */ "ldiq %1,0\n\t" /* value to store */ "stq_c %1,%2\n\t" /* attempt to store */ - "beq %1,2f\n\t" /* if the store failed, spin */ - "br 3f\n" /* it worked, exit */ - "2:\tbr 1b\n" /* *addr not updated, loop */ - "3:\n" /* it worked */ + "beq %1,1b\n" /* if the store failed, spin */ : "=&r"(result), "=&r"(temp), "+m" (*addr) : : "memory"); @@ -385,11 +343,8 @@ "beq %0, 2f\n\t" /* exit if not equal */ "mov %3, %0\n\t" /* value to store */ "stl_c %0, %1\n\t" /* attempt to store */ - "beq %0, 3f\n\t" /* if it failed, spin */ - "2:\n" /* done */ - __COLD_SECTION /* improve branch prediction */ - "3:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n\t" /* if it failed, spin */ + "2:\n" : "=&r" (ret), "+m" (*p) : "r" ((long)(int)cmpval), "r" (newval) : "memory"); @@ -415,11 +370,8 @@ "beq %0, 2f\n\t" /* exit if not equal */ "mov %3, %0\n\t" /* value to store */ "stq_c %0, %1\n\t" /* attempt to store */ - "beq %0, 3f\n\t" /* if it failed, spin */ - "2:\n" /* done */ - __COLD_SECTION /* improve branch prediction */ - "3:\tbr 1b\n" /* try again */ - __HOT_SECTION + "beq %0, 1b\n\t" /* if it failed, spin */ + "2:\n" : "=&r" (ret), "+m" (*p) : "r" (cmpval), "r" (newval) : "memory"); ==== //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.57 2004/08/16 22:53:03 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.58 2004/09/08 04:54:18 scottl Exp $"); #include #include @@ -248,11 +248,11 @@ if (parent != NULL) { newtag->lowaddr = MIN(parent->lowaddr, newtag->lowaddr); newtag->highaddr = MAX(parent->highaddr, newtag->highaddr); - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = MAX(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = MIN(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#29 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.619 2004/08/24 00:16:43 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.620 2004/09/05 02:09:52 julian Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1116,7 +1116,7 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ - proc_linkup(&proc0, &ksegrp0, &kse0, &thread0); + proc_linkup(&proc0, &ksegrp0, &thread0); preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#32 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.496 2004/08/30 03:52:04 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.497 2004/09/08 18:58:28 alc Exp $"); /* * Manages physical address maps. @@ -203,7 +203,7 @@ static PMAP_INLINE void free_pv_entry(pv_entry_t pv); static pv_entry_t get_pv_entry(void); -static void pmap_clear_ptes(vm_page_t m, int bit); +static void pmap_clear_ptes(vm_page_t m, long bit); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, pd_entry_t ptepde); @@ -2591,7 +2591,7 @@ * Clear the given bit in each of the given page's ptes. */ static __inline void -pmap_clear_ptes(vm_page_t m, int bit) +pmap_clear_ptes(vm_page_t m, long bit) { register pv_entry_t pv; pt_entry_t pbits, *pte; @@ -2623,15 +2623,18 @@ PMAP_LOCK(pv->pv_pmap); pte = pmap_pte(pv->pv_pmap, pv->pv_va); +retry: pbits = *pte; if (pbits & bit) { if (bit == PG_RW) { + if (!atomic_cmpset_long(pte, pbits, + pbits & ~(PG_RW | PG_M))) + goto retry; if (pbits & PG_M) { vm_page_dirty(m); } - pte_store(pte, pbits & ~(PG_M|PG_RW)); } else { - pte_store(pte, pbits & ~bit); + atomic_clear_long(pte, bit); } pmap_invalidate_page(pv->pv_pmap, pv->pv_va); } ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#23 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.422 2004/08/27 15:16:21 andre Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.424 2004/09/10 20:57:46 wpaul Exp $ machine amd64 cpu HAMMER @@ -27,7 +27,9 @@ makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols -options SCHED_ULE # ULE scheduler +#options SCHED_ULE # ULE scheduler +options SCHED_4BSD # 4BSD scheduler +options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem @@ -182,6 +184,8 @@ device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device lge # Level 1 LXT1001 gigabit ethernet +device nge # NatSemi DP83820 gigabit ethernet device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 @@ -192,6 +196,7 @@ device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') +device vge # VIA VT612x gigabit ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') ==== //depot/projects/smpng/sys/arm/arm/busdma_machdep.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.2 2004/07/21 22:04:05 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.3 2004/09/08 04:54:18 scottl Exp $"); /* * MacPPC bus dma support routines @@ -207,12 +207,11 @@ if (parent != NULL) { newtag->lowaddr = min(parent->lowaddr, newtag->lowaddr); newtag->highaddr = max(parent->highaddr, newtag->highaddr); - - /* - * XXX Not really correct??? Probably need to honor boundary - * all the way up the inheritence chain. - */ - newtag->boundary = max(parent->boundary, newtag->boundary); + if (newtag->boundary == 0) + newtag->boundary = parent->boundary; + else if (parent->boundary != 0) + newtag->boundary = min(parent->boundary, + newtag->boundary); if (newtag->filter == NULL) { /* * Short circuit looking at our parent directly ==== //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#3 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.2 2004/06/17 17:52:12 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.3 2004/09/05 02:09:52 julian Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -370,7 +370,7 @@ /* Set stack for exception handlers */ - proc_linkup(&proc0, &ksegrp0, &kse0, &thread0); + proc_linkup(&proc0, &ksegrp0, &thread0); proc0.p_uarea = (struct user *) proc0_uarea.pv_va; thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) ==== //depot/projects/smpng/sys/boot/sparc64/loader/main.c#18 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.24 2004/08/19 20:13:31 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.25 2004/09/08 12:52:45 kensmith Exp $"); /* * FreeBSD/sparc64 kernel loader - machine dependent part @@ -197,9 +197,7 @@ static int sparc64_autoload(void) { - /* XXX - Temporary hack needed for new ATA to work. */ - printf("Turning off DMA for ATA.\n"); - setenv("hw.ata.ata_dma", "0", 1); + printf("nothing to autoload yet.\n"); return 0; } ==== //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#23 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.89 2004/02/18 21:36:50 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.90 2004/09/05 21:15:58 phk Exp $"); #include "opt_cd.h" @@ -2723,7 +2723,7 @@ cdprevent(periph, PR_PREVENT); softc->disk->d_maxsize = DFLTPHYS; - softc->disk->d_sectorsize = 0; + softc->disk->d_sectorsize = 2048; softc->disk->d_mediasize = 0; /* ==== //depot/projects/smpng/sys/conf/NOTES#79 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1275 2004/09/03 06:32:11 ru Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1276 2004/09/08 08:42:36 ru Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1904,20 +1904,20 @@ device snd_uaudio # For non-pnp sound cards: -hint.snd_mss.0.at="isa" -hint.snd_mss.0.irq="10" -hint.snd_mss.0.drq="1" -hint.snd_mss.0.flags="0x0" -hint.snd_sbc.0.at="isa" -hint.snd_sbc.0.port="0x220" -hint.snd_sbc.0.irq="5" -hint.snd_sbc.0.drq="1" -hint.snd_sbc.0.flags="0x15" -hint.snd_gusc.0.at="isa" -hint.snd_gusc.0.port="0x220" -hint.snd_gusc.0.irq="5" -hint.snd_gusc.0.drq="1" -hint.snd_gusc.0.flags="0x13" +hint.pcm.0.at="isa" +hint.pcm.0.irq="10" +hint.pcm.0.drq="1" +hint.pcm.0.flags="0x0" +hint.sbc.0.at="isa" +hint.sbc.0.port="0x220" +hint.sbc.0.irq="5" +hint.sbc.0.drq="1" +hint.sbc.0.flags="0x15" +hint.gusc.0.at="isa" +hint.gusc.0.port="0x220" +hint.gusc.0.irq="5" +hint.gusc.0.drq="1" +hint.gusc.0.flags="0x13" # # Miscellaneous hardware: ==== //depot/projects/smpng/sys/conf/files#120 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.949 2004/09/02 20:44:56 alfred Exp $ +# $FreeBSD: src/sys/conf/files,v 1.952 2004/09/10 20:57:45 wpaul Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -549,6 +549,7 @@ dev/mii/amphy.c optional miibus dev/mii/bmtphy.c optional miibus dev/mii/brgphy.c optional miibus +dev/mii/ciphy.c optional miibus dev/mii/dcphy.c optional miibus pci dev/mii/e1000phy.c optional miibus dev/mii/exphy.c optional miibus @@ -800,6 +801,7 @@ dev/usb/ubsa.c optional ubsa ucom dev/usb/ubser.c optional ubser dev/usb/ucom.c optional ucom +dev/usb/ucycom.c optional ucycom ucom dev/usb/udbp.c optional udbp dev/usb/ufm.c optional ufm dev/usb/uftdi.c optional uftdi ucom @@ -841,6 +843,7 @@ dev/vinum/vinumrevive.c optional vinum dev/vinum/vinumstate.c optional vinum dev/vinum/vinumutil.c optional vinum +dev/vge/if_vge.c optional vge dev/vx/if_vx.c optional vx dev/vx/if_vx_eisa.c optional vx eisa dev/vx/if_vx_pci.c optional vx pci @@ -1086,7 +1089,6 @@ kern/kern_idle.c standard kern/kern_intr.c standard kern/kern_jail.c standard -kern/kern_thr.c standard kern/kern_kse.c standard kern/kern_kthread.c standard kern/kern_ktr.c optional ktr @@ -1110,12 +1112,12 @@ kern/kern_shutdown.c standard kern/kern_sig.c standard kern/kern_subr.c standard -kern/kern_switch.c standard kern/kern_sx.c standard kern/kern_synch.c standard kern/kern_syscalls.c standard kern/kern_sysctl.c standard kern/kern_tc.c standard +kern/kern_thr.c standard kern/kern_thread.c standard kern/kern_time.c standard kern/kern_timeout.c standard ==== //depot/projects/smpng/sys/ddb/db_ps.c#27 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.52 2004/07/10 23:47:19 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.53 2004/09/05 02:09:52 julian Exp $"); #include #include @@ -100,7 +100,7 @@ p->p_ucred != NULL ? p->p_ucred->cr_ruid : 0, pp->p_pid, p->p_pgrp != NULL ? p->p_pgrp->pg_id : 0, p->p_flag, state); - if (p->p_flag & P_SA) + if (p->p_flag & P_HADTHREADS) db_printf("(threaded) %s\n", p->p_comm); FOREACH_THREAD_IN_PROC(p, td) { dumpthread(p, td); @@ -120,7 +120,7 @@ dumpthread(volatile struct proc *p, volatile struct thread *td) { - if (p->p_flag & P_SA) + if (p->p_flag & P_HADTHREADS) db_printf( " thread %p ksegrp %p ", td, td->td_ksegrp); if (TD_ON_SLEEPQ(td)) db_printf("[SLPQ %s %p]", td->td_wmesg, (void *)td->td_wchan); @@ -159,9 +159,11 @@ default: db_printf("[UNK: %#x]", td->td_state); } - if (p->p_flag & P_SA) { + if (p->p_flag & P_HADTHREADS) { +#ifdef KEF_DIDRUN if (td->td_kse) db_printf("[kse %p]", td->td_kse); +#endif db_printf("\n"); } else db_printf(" %s\n", p->p_comm); ==== //depot/projects/smpng/sys/dev/acpica/acpi_powerres.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_powerres.c,v 1.26 2004/08/13 06:22:10 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_powerres.c,v 1.27 2004/09/07 16:58:12 njl Exp $"); #include "opt_acpi.h" #include @@ -62,6 +62,7 @@ /* Return values from _STA on a power resource */ #define ACPI_PWR_OFF 0 #define ACPI_PWR_ON 1 +#define ACPI_PWR_UNK (-1) /* A relationship between a power resource and a consumer. */ struct acpi_powerreference { @@ -87,6 +88,7 @@ ACPI_HANDLE ap_resource; ACPI_INTEGER ap_systemlevel; ACPI_INTEGER ap_order; + int ap_state; }; static TAILQ_HEAD(acpi_powerresource_list, acpi_powerresource) @@ -169,6 +171,7 @@ } rp->ap_systemlevel = obj->PowerResource.SystemLevel; rp->ap_order = obj->PowerResource.ResourceOrder; + rp->ap_state = ACPI_PWR_UNK; /* Sort the resource into the list */ status = AE_OK; @@ -640,17 +643,17 @@ if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "can't get status of %s - %d\n", acpi_name(rp->ap_resource), status)); - /* XXX is this correct? Always switch if in doubt? */ continue; - } + } else if (rp->ap_state == ACPI_PWR_UNK) + rp->ap_state = cur; /* * Switch if required. Note that we ignore the result of the switch * effort; we don't know what to do if it fails, so checking wouldn't * help much. */ - if (cur != ACPI_PWR_ON) { + if (rp->ap_state != ACPI_PWR_ON) { status = AcpiEvaluateObject(rp->ap_resource, "_ON", NULL, NULL); if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, @@ -658,6 +661,7 @@ acpi_name(rp->ap_resource), AcpiFormatException(status))); } else { + rp->ap_state = ACPI_PWR_ON; ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "switched %s on\n", acpi_name(rp->ap_resource))); } @@ -685,14 +689,15 @@ acpi_name(rp->ap_resource), status)); /* XXX is this correct? Always switch if in doubt? */ continue; - } + } else if (rp->ap_state == ACPI_PWR_UNK) + rp->ap_state = cur; /* * Switch if required. Note that we ignore the result of the switch * effort; we don't know what to do if it fails, so checking wouldn't * help much. */ - if (cur != ACPI_PWR_OFF) { + if (rp->ap_state != ACPI_PWR_OFF) { status = AcpiEvaluateObject(rp->ap_resource, "_OFF", NULL, NULL); if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, @@ -700,6 +705,7 @@ acpi_name(rp->ap_resource), AcpiFormatException(status))); } else { + rp->ap_state = ACPI_PWR_OFF; ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "switched %s off\n", acpi_name(rp->ap_resource))); } ==== //depot/projects/smpng/sys/dev/acpica/acpi_thermal.c#29 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.49 2004/08/30 22:42:10 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.51 2004/09/08 19:36:07 njl Exp $"); #include "opt_acpi.h" #include @@ -112,7 +112,9 @@ static int acpi_tz_attach(device_t dev); static int acpi_tz_establish(struct acpi_tz_softc *sc); static void acpi_tz_monitor(void *Context); +#if 0 static void acpi_tz_all_off(struct acpi_tz_softc *sc); +#endif static void acpi_tz_switch_cooler_off(ACPI_OBJECT *obj, void *arg); static void acpi_tz_switch_cooler_on(ACPI_OBJECT *obj, void *arg); static void acpi_tz_getparam(struct acpi_tz_softc *sc, char *node, @@ -225,7 +227,8 @@ OID_AUTO, oidname, CTLFLAG_RD, 0, ""); SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "temperature", CTLFLAG_RD, &sc->tz_temperature, - sizeof(sc->tz_temperature), "IK", "current thermal zone temperature"); + sizeof(sc->tz_temperature), "IK", + "current thermal zone temperature"); SYSCTL_ADD_PROC(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "active", CTLTYPE_INT | CTLFLAG_RW, sc, 0, acpi_tz_active_sysctl, "I", ""); @@ -233,9 +236,9 @@ SYSCTL_ADD_INT(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "thermal_flags", CTLFLAG_RD, &sc->tz_thflags, 0, "thermal zone flags"); - SYSCTL_ADD_INT(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), - OID_AUTO, "_PSV", CTLFLAG_RD, - &sc->tz_zone.psv, 0, ""); + SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), + OID_AUTO, "_PSV", CTLFLAG_RD, &sc->tz_zone.psv, + sizeof(sc->tz_zone.psv), "IK", ""); SYSCTL_ADD_OPAQUE(&sc->tz_sysctl_ctx, SYSCTL_CHILDREN(sc->tz_sysctl_tree), OID_AUTO, "_HOT", CTLFLAG_RD, &sc->tz_zone.hot, sizeof(sc->tz_zone.hot), "IK", ""); @@ -293,8 +296,7 @@ ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); - /* Power everything off and erase any existing state. */ - acpi_tz_all_off(sc); + /* Erase any existing state. */ for (i = 0; i < TZ_NUMLEVELS; i++) if (sc->tz_zone.al[i].Pointer != NULL) AcpiOsFree(sc->tz_zone.al[i].Pointer); @@ -343,11 +345,6 @@ for (i = 0; i < TZ_NUMLEVELS; i++) acpi_tz_sanity(sc, &sc->tz_zone.ac[i], "_ACx"); - /* - * Power off everything that we've just been given. - */ - acpi_tz_all_off(sc); - return_VALUE (0); } @@ -490,6 +487,7 @@ return_VOID; } +#if 0 /* * Turn off all the cooling devices. */ @@ -517,6 +515,7 @@ return_VOID; } +#endif /* * Given an object, verify that it's a reference to a device of some sort, @@ -634,9 +633,6 @@ return (0); } -/* - * Respond to a Notify event sent to the zone. - */ static void acpi_tz_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context) { @@ -675,21 +671,32 @@ } /* - * Poll the thermal zone. + * Notifies can be generated asynchronously but have also been seen to be + * triggered by other thermal methods. One system generates a notify of + * 0x81 when the fan is turned on or off. Another generates it when _SCP + * is called. To handle these situations, we check the zone via + * acpi_tz_monitor() before evaluating changes to setpoints or the cooling + * policy. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 10 21:10:39 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C92A16A4D0; Fri, 10 Sep 2004 21:10:39 +0000 (GMT) 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 4778816A4CE for ; Fri, 10 Sep 2004 21:10:39 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2E15E43D5C for ; Fri, 10 Sep 2004 21:10:39 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8ALAdWx069138 for ; Fri, 10 Sep 2004 21:10:39 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8ALAclt069135 for perforce@freebsd.org; Fri, 10 Sep 2004 21:10:38 GMT (envelope-from jhb@freebsd.org) Date: Fri, 10 Sep 2004 21:10:38 GMT Message-Id: <200409102110.i8ALAclt069135@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 61309 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2004 21:10:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=61309 Change 61309 by jhb@jhb_slimer on 2004/09/10 21:09:59 IFC @61307. Affected files ... .. //depot/projects/smpng/sys/kern/kern_switch.c#45 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#80 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#37 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#41 integrate .. //depot/projects/smpng/sys/sys/sched.h#15 integrate Differences ... ==== //depot/projects/smpng/sys/kern/kern_switch.c#45 (text+ko) ==== @@ -86,7 +86,7 @@ ***/ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.88 2004/09/07 06:38:22 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.89 2004/09/10 21:04:38 julian Exp $"); #include "opt_sched.h" @@ -192,7 +192,7 @@ * sched_thread_exit() (local) * sched_switch() (local) * sched_thread_exit() (local) - * remrunqueue() (local) (commented out) + * remrunqueue() (local) */ static void slot_fill(struct ksegrp *kg) @@ -224,7 +224,7 @@ } } -#if 0 +#ifdef SCHED_4BSD /* * Remove a thread from its KSEGRP's run queue. * This in turn may remove it from a KSE if it was already assigned @@ -248,7 +248,7 @@ * If it is not a threaded process, take the shortcut. */ if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { - /* Bring its kse with it, leave the thread attached */ + /* remve from sys run queue and free up a slot */ sched_rem(td); kg->kg_avail_opennings++; ke->ke_state = KES_THREAD; @@ -259,7 +259,7 @@ kg->kg_runnable--; if (ke->ke_state == KES_ONRUNQ) { /* - * This thread has been assigned to a KSE. + * This thread has been assigned to the system run queue. * We need to dissociate it and try assign the * KSE to the next available thread. Then, we should * see if we need to move the KSE in the run queues. @@ -271,7 +271,7 @@ KASSERT((td2 != NULL), ("last assigned has wrong value")); if (td2 == td) kg->kg_last_assigned = td3; - slot_fill(kg); + /* slot_fill(kg); */ /* will replace it with another */ } } #endif ==== //depot/projects/smpng/sys/kern/kern_synch.c#80 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_synch.c,v 1.259 2004/09/05 02:09:53 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_synch.c,v 1.260 2004/09/10 21:04:38 julian Exp $"); #include "opt_ktrace.h" @@ -337,7 +337,7 @@ (void *)td, td->td_sched, (long)p->p_pid, p->p_comm); if (td->td_proc->p_flag & P_SA) newtd = thread_switchout(td, flags, newtd); - sched_switch(td, newtd); + sched_switch(td, newtd, flags); CTR4(KTR_PROC, "mi_switch: new thread %p (kse %p, pid %ld, %s)", (void *)td, td->td_sched, (long)p->p_pid, p->p_comm); ==== //depot/projects/smpng/sys/kern/sched_4bsd.c#37 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.60 2004/09/06 07:23:14 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.61 2004/09/10 21:04:38 julian Exp $"); #define kse td_sched @@ -247,8 +247,23 @@ SYSCTL_INT(_kern_sched_ipiwakeup, OID_AUTO, htt2, CTLFLAG_RW, &forward_wakeup_use_htt, 0, "account for htt"); + #endif +static int sched_followon = 0; +SYSCTL_INT(_kern_sched, OID_AUTO, followon, CTLFLAG_RW, + &sched_followon, 0, + "allow threads to share a quantum"); +static int sched_pfollowons = 0; +SYSCTL_INT(_kern_sched, OID_AUTO, pfollowons, CTLFLAG_RD, + &sched_pfollowons, 0, + "number of followons done to a different ksegrp"); + +static int sched_kgfollowons = 0; +SYSCTL_INT(_kern_sched, OID_AUTO, kgfollowons, CTLFLAG_RD, + &sched_kgfollowons, 0, + "number of followons done in a ksegrp"); + /* * Arrange to reschedule if necessary, taking the priorities and * schedulers into account. @@ -733,10 +748,13 @@ td->td_base_pri = td->td_priority; } +static void remrunqueue(struct thread *td); + void -sched_switch(struct thread *td, struct thread *newtd) +sched_switch(struct thread *td, struct thread *newtd, int flags) { struct kse *ke; + struct ksegrp *kg; struct proc *p; ke = td->td_kse; @@ -746,6 +764,33 @@ if ((p->p_flag & P_NOLOAD) == 0) sched_tdcnt--; + + /* + * We are volunteering to switch out so we get to nominate + * a successor for the rest of our quantum + * First try another thread in our ksegrp, and then look for + * other ksegrps in our process. + */ + if (sched_followon && + (p->p_flag & P_HADTHREADS) && + (flags & SW_VOL) && + newtd == NULL) { + /* lets schedule another thread from this process */ + kg = td->td_ksegrp; + if ((newtd = TAILQ_FIRST(&kg->kg_runq))) { + remrunqueue(newtd); + sched_kgfollowons++; + } else { + FOREACH_KSEGRP_IN_PROC(p, kg) { + if ((newtd = TAILQ_FIRST(&kg->kg_runq))) { + sched_pfollowons++; + remrunqueue(newtd); + break; + } + } + } + } + /* * The thread we are about to run needs to be counted as if it had been * added to the run queue and selected. @@ -757,6 +802,7 @@ if ((newtd->td_proc->p_flag & P_NOLOAD) == 0) sched_tdcnt++; } + td->td_lastcpu = td->td_oncpu; td->td_flags &= ~TDF_NEEDRESCHED; td->td_pflags &= ~TDP_OWEPREEMPT; ==== //depot/projects/smpng/sys/kern/sched_ule.c#41 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.125 2004/09/05 02:09:53 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.126 2004/09/10 21:04:38 julian Exp $"); #include @@ -1225,7 +1225,7 @@ } void -sched_switch(struct thread *td, struct thread *newtd) +sched_switch(struct thread *td, struct thread *newtd, int flags) { struct kse *ke; ==== //depot/projects/smpng/sys/sys/sched.h#15 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/sched.h,v 1.16 2004/09/05 02:09:54 julian Exp $ + * $FreeBSD: src/sys/sys/sched.h,v 1.17 2004/09/10 21:04:37 julian Exp $ */ #ifndef _SYS_SCHED_H_ @@ -66,7 +66,7 @@ fixpt_t sched_pctcpu(struct thread *td); void sched_prio(struct thread *td, u_char prio); void sched_sleep(struct thread *td); -void sched_switch(struct thread *td, struct thread *newtd); +void sched_switch(struct thread *td, struct thread *newtd, int flags); void sched_userret(struct thread *td); void sched_wakeup(struct thread *td); From owner-p4-projects@FreeBSD.ORG Fri Sep 10 21:34:14 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 986F616A4D0; Fri, 10 Sep 2004 21:34:14 +0000 (GMT) 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 5D5B816A4CE for ; Fri, 10 Sep 2004 21:34:14 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4111E43D45 for ; Fri, 10 Sep 2004 21:34:14 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8ALYEje069705 for ; Fri, 10 Sep 2004 21:34:14 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8ALYDYC069702 for perforce@freebsd.org; Fri, 10 Sep 2004 21:34:13 GMT (envelope-from julian@freebsd.org) Date: Fri, 10 Sep 2004 21:34:13 GMT Message-Id: <200409102134.i8ALYDYC069702@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61313 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2004 21:34:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=61313 Change 61313 by julian@julian_ref on 2004/09/10 21:33:12 Stop being schitzophrenic about where cpu pinning happens. Affected files ... .. //depot/projects/nsched/sys/i386/i386/pmap.c#19 edit .. //depot/projects/nsched/sys/kern/sched_4bsd.c#42 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#25 edit .. //depot/projects/nsched/sys/sys/proc.h#27 edit .. //depot/projects/nsched/sys/sys/sched.h#15 edit Differences ... ==== //depot/projects/nsched/sys/i386/i386/pmap.c#19 (text+ko) ==== @@ -807,7 +807,7 @@ if (pmap_is_current(pmap)) return (vtopte(va)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); - KASSERT(curthread->td_pinned > 0, ("curthread not pinned")); + KASSERT(sched_ispinned(), ("curthread not pinned")); newpf = *pde & PG_FRAME; if ((*PMAP1 & PG_FRAME) != newpf) { *PMAP1 = newpf | PG_RW | PG_V | PG_A | PG_M; @@ -1622,7 +1622,7 @@ pt_entry_t *pte; mtx_assert(&vm_page_queue_mtx, MA_OWNED); - KASSERT(curthread->td_pinned > 0, ("curthread not pinned")); + KASSERT(sched_ispinned(), ("curthread not pinned")); PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((pte = pmap_pte_quick(pmap, va)) == NULL || *pte == 0) return; ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#42 (text+ko) ==== @@ -87,7 +87,7 @@ } ke_state; /* (j) KSE status. */ int ke_cpticks; /* (j) Ticks of cpu time. */ struct runq *ke_runq; /* runq the kse is currently on */ - int ke_pinned; /* nested count of pinned to a cpu */ + int ke_pinned; /* (k) nested count, pinned to a cpu */ }; #define ke_proc ke_thread->td_proc @@ -1173,5 +1173,26 @@ return (0); } + +void +sched_pin(void) +{ + curthread->td_sched->ke_pinned++ +} + + void +sched_unpin(void) +{ + curthread->td_sched->ke_pinned--; +} + +#ifdef INVARIANTS +int +sched_ispinned(void) +{ + return (curthread->td_sched->ke_pinned) +} +#endif + #define KERN_SWITCH_INCLUDE 1 #include "kern/kern_switch.c" ==== //depot/projects/nsched/sys/kern/sched_ule.c#25 (text+ko) ==== @@ -112,7 +112,7 @@ KES_ONRUNQ } ke_state; /* (j) thread sched specific status. */ int ke_slptime; - int ke_pinned; + int ke_pinned; /* (k) nested coult.. pinned to a cpu */ int ke_slice; struct runq *ke_runq; u_char ke_cpu; /* CPU that we have affinity for. */ @@ -1902,5 +1902,26 @@ { return (sizeof(struct thread) + sizeof(struct td_sched)); } + +void +sched_pin(void) +{ + curthread->td_sched->ke_pinned++ +} + + void +sched_unpin(void) +{ + curthread->td_sched->td_pinned--; +} + +#ifdef INVARIANTS +int +sched_ispinned(void) +{ + return (curthread->td_sched->ke_pinned) +} +#endif + #define KERN_SWITCH_INCLUDE 1 #include "kern/kern_switch.c" ==== //depot/projects/nsched/sys/sys/proc.h#27 (text+ko) ==== @@ -268,7 +268,6 @@ LIST_HEAD(, turnstile) td_contested; /* (q) Contested locks. */ struct lock_list_entry *td_sleeplocks; /* (k) Held sleep locks. */ int td_intr_nesting_level; /* (k) Interrupt recursion. */ - int td_pinned; /* (k) Temporary cpu pin count. */ struct kse_thr_mailbox *td_mailbox; /* (*) Userland mailbox address. */ struct ucred *td_ucred; /* (k) Reference to credentials. */ struct thread *td_standin; /* (*) Use this for an upcall. */ ==== //depot/projects/nsched/sys/sys/sched.h#15 (text+ko) ==== @@ -82,11 +82,16 @@ * hold a thread on a particular CPU. */ void sched_bind(struct thread *td, int cpu); -static __inline void sched_pin(void); void sched_unbind(struct thread *td); -static __inline void sched_unpin(void); +/* these only work for curthread */ +void sched_pin(void); +void sched_unpin(void); +#ifdef INVARIANTS +int sched_ispinned(void); +#endif + /* * These procedures tell the process data structure allocation code how * many bytes to actually allocate. @@ -95,18 +100,6 @@ int sched_sizeof_proc(void); int sched_sizeof_thread(void); -static __inline void -sched_pin(void) -{ - curthread->td_pinned++; -} - -static __inline void -sched_unpin(void) -{ - curthread->td_pinned--; -} - /* temporarily here */ void schedinit(void); void sched_destroyproc(struct proc *p); From owner-p4-projects@FreeBSD.ORG Fri Sep 10 21:35:16 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31BA716A4D0; Fri, 10 Sep 2004 21:35:16 +0000 (GMT) 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 0B24616A4CE for ; Fri, 10 Sep 2004 21:35:16 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 01ED543D5E for ; Fri, 10 Sep 2004 21:35:16 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8ALZFGk069762 for ; Fri, 10 Sep 2004 21:35:15 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8ALZF6I069759 for perforce@freebsd.org; Fri, 10 Sep 2004 21:35:15 GMT (envelope-from julian@freebsd.org) Date: Fri, 10 Sep 2004 21:35:15 GMT Message-Id: <200409102135.i8ALZF6I069759@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61314 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2004 21:35:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=61314 Change 61314 by julian@julian_ref on 2004/09/10 21:34:44 Compile dammit Affected files ... .. //depot/projects/nsched/sys/kern/sched_4bsd.c#43 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#26 edit Differences ... ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#43 (text+ko) ==== @@ -1177,7 +1177,7 @@ void sched_pin(void) { - curthread->td_sched->ke_pinned++ + curthread->td_sched->ke_pinned++; } void ==== //depot/projects/nsched/sys/kern/sched_ule.c#26 (text+ko) ==== @@ -1906,7 +1906,7 @@ void sched_pin(void) { - curthread->td_sched->ke_pinned++ + curthread->td_sched->ke_pinned++; } void From owner-p4-projects@FreeBSD.ORG Fri Sep 10 21:41:29 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8983616A4D0; Fri, 10 Sep 2004 21:41:29 +0000 (GMT) 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 4D27116A4CE for ; Fri, 10 Sep 2004 21:41:29 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2809F43D4C for ; Fri, 10 Sep 2004 21:41:29 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8ALfTNH070072 for ; Fri, 10 Sep 2004 21:41:29 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8ALfS1A070069 for perforce@freebsd.org; Fri, 10 Sep 2004 21:41:28 GMT (envelope-from julian@freebsd.org) Date: Fri, 10 Sep 2004 21:41:28 GMT Message-Id: <200409102141.i8ALfS1A070069@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61319 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2004 21:41:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=61319 Change 61319 by julian@julian_ref on 2004/09/10 21:40:41 IFC@61307 Affected files ... .. //depot/projects/nsched/sys/amd64/conf/GENERIC#10 integrate .. //depot/projects/nsched/sys/conf/files#24 integrate .. //depot/projects/nsched/sys/dev/mii/ciphy.c#1 branch .. //depot/projects/nsched/sys/dev/mii/ciphyreg.h#1 branch .. //depot/projects/nsched/sys/dev/mii/miidevs#2 integrate .. //depot/projects/nsched/sys/dev/vge/if_vge.c#1 branch .. //depot/projects/nsched/sys/dev/vge/if_vgereg.h#1 branch .. //depot/projects/nsched/sys/dev/vge/if_vgevar.h#1 branch .. //depot/projects/nsched/sys/i386/conf/GENERIC#8 integrate .. //depot/projects/nsched/sys/kern/kern_switch.c#14 integrate .. //depot/projects/nsched/sys/kern/kern_synch.c#13 integrate .. //depot/projects/nsched/sys/kern/sched_4bsd.c#44 integrate .. //depot/projects/nsched/sys/kern/sched_ule.c#27 integrate .. //depot/projects/nsched/sys/modules/Makefile#12 integrate .. //depot/projects/nsched/sys/modules/vge/Makefile#1 branch .. //depot/projects/nsched/sys/pc98/conf/GENERIC#9 integrate .. //depot/projects/nsched/sys/sys/conf.h#7 integrate .. //depot/projects/nsched/sys/sys/sched.h#16 integrate Differences ... ==== //depot/projects/nsched/sys/amd64/conf/GENERIC#10 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.423 2004/09/07 22:37:43 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.424 2004/09/10 20:57:46 wpaul Exp $ machine amd64 cpu HAMMER @@ -184,6 +184,8 @@ device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device lge # Level 1 LXT1001 gigabit ethernet +device nge # NatSemi DP83820 gigabit ethernet device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 @@ -194,6 +196,7 @@ device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') +device vge # VIA VT612x gigabit ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') ==== //depot/projects/nsched/sys/conf/files#24 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.951 2004/09/05 09:43:47 des Exp $ +# $FreeBSD: src/sys/conf/files,v 1.952 2004/09/10 20:57:45 wpaul Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -549,6 +549,7 @@ dev/mii/amphy.c optional miibus dev/mii/bmtphy.c optional miibus dev/mii/brgphy.c optional miibus +dev/mii/ciphy.c optional miibus dev/mii/dcphy.c optional miibus pci dev/mii/e1000phy.c optional miibus dev/mii/exphy.c optional miibus @@ -842,6 +843,7 @@ dev/vinum/vinumrevive.c optional vinum dev/vinum/vinumstate.c optional vinum dev/vinum/vinumutil.c optional vinum +dev/vge/if_vge.c optional vge dev/vx/if_vx.c optional vx dev/vx/if_vx_eisa.c optional vx eisa dev/vx/if_vx_pci.c optional vx pci ==== //depot/projects/nsched/sys/dev/mii/miidevs#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/mii/miidevs,v 1.27 2003/09/20 10:53:08 wilko Exp $ +$FreeBSD: src/sys/dev/mii/miidevs,v 1.28 2004/09/10 20:57:45 wpaul Exp $ /*$NetBSD: miidevs,v 1.6 1999/05/14 11:37:30 drochner Exp $*/ /*- @@ -52,6 +52,7 @@ oui ALTIMA 0x0010a9 Altima Communications oui AMD 0x00001a Advanced Micro Devices oui BROADCOM 0x001018 Broadcom Corporation +oui CICADA 0x0003F1 Cicada Semiconductor oui DAVICOM 0x00606e Davicom Semiconductor oui ICS 0x00a0be Integrated Circuit Systems oui INTEL 0x00aa00 Intel @@ -121,6 +122,11 @@ model xxBROADCOM BCM5704 0x0019 BCM5704 10/100/1000baseTX PHY model xxBROADCOM BCM5705 0x001a BCM5705 10/100/1000baseTX PHY +/* Cicada Semiconductor PHYs (now owned by Vitesse?) */ +model CICADA CS8201 0x0001 Cicada CS8201 10/100/1000TX PHY +model CICADA CS8201A 0x0020 Cicada CS8201 10/100/1000TX PHY +model CICADA CS8201B 0x0021 Cicada CS8201 10/100/1000TX PHY + /* Davicom Semiconductor PHYs */ model xxDAVICOM DM9101 0x0000 DM9101 10/100 media interface ==== //depot/projects/nsched/sys/i386/conf/GENERIC#8 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.416 2004/09/07 22:44:55 scottl Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.417 2004/09/10 20:57:46 wpaul Exp $ machine i386 cpu I486_CPU @@ -203,6 +203,8 @@ device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device lge # Level 1 LXT1001 gigabit ethernet +device nge # NatSemi DP83820 gigabit ethernet device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 @@ -213,6 +215,7 @@ device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') +device vge # VIA VT612x gigabit ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') ==== //depot/projects/nsched/sys/kern/kern_switch.c#14 (text+ko) ==== @@ -86,7 +86,7 @@ ***/ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.88 2004/09/07 06:38:22 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.89 2004/09/10 21:04:38 julian Exp $"); #include "opt_sched.h" ==== //depot/projects/nsched/sys/kern/kern_synch.c#13 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_synch.c,v 1.259 2004/09/05 02:09:53 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_synch.c,v 1.260 2004/09/10 21:04:38 julian Exp $"); #include "opt_ktrace.h" ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#44 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.60 2004/09/06 07:23:14 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.61 2004/09/10 21:04:38 julian Exp $"); #define kse td_sched @@ -764,7 +764,6 @@ if ((p->p_flag & P_NOLOAD) == 0) sched_tdcnt--; - /* * We are volunteering to switch out so we get to nominate * a successor for the rest of our quantum ==== //depot/projects/nsched/sys/kern/sched_ule.c#27 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.125 2004/09/05 02:09:53 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.126 2004/09/10 21:04:38 julian Exp $"); #include ==== //depot/projects/nsched/sys/modules/Makefile#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/Makefile,v 1.399 2004/09/05 09:43:47 des Exp $ +# $FreeBSD: src/sys/modules/Makefile,v 1.400 2004/09/10 20:57:45 wpaul Exp $ # pcic -- currently broken and being worked on out of tree. # oldcard -- specialized use for debugging only. @@ -240,6 +240,7 @@ uvisor \ uvscom \ ${_vesa} \ + vge \ vinum \ vpo \ vr \ ==== //depot/projects/nsched/sys/pc98/conf/GENERIC#9 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/pc98/conf/GENERIC,v 1.258 2004/09/07 22:37:43 scottl Exp $ +# $FreeBSD: src/sys/pc98/conf/GENERIC,v 1.259 2004/09/10 20:57:46 wpaul Exp $ machine pc98 #cpu I386_CPU # Do not enable with other cpu types @@ -186,6 +186,8 @@ device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device lge # Level 1 LXT1001 gigabit ethernet +device nge # NatSemi DP83820 gigabit ethernet device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 @@ -196,6 +198,7 @@ device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') +device vge # VIA VT612x gigabit ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') ==== //depot/projects/nsched/sys/sys/conf.h#7 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)conf.h 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/sys/conf.h,v 1.190 2004/07/11 23:03:37 phk Exp $ + * $FreeBSD: src/sys/sys/conf.h,v 1.191 2004/09/10 20:49:30 phk Exp $ */ #ifndef _SYS_CONF_H_ @@ -153,6 +153,9 @@ typedef int d_mmap_t(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int nprot); +typedef int d_spare1_t(struct cdev *dev); +typedef int d_spare2_t(struct cdev *dev); + typedef int dumper_t( void *priv, /* Private to the driver. */ void *virtual, /* Virtual (mapped) address. */ @@ -216,6 +219,8 @@ d_strategy_t *d_strategy; dumper_t *d_dump; d_kqfilter_t *d_kqfilter; + d_spare1_t *d_spare1; + d_spare2_t *d_spare2; /* These fields should not be messed with by drivers */ LIST_ENTRY(cdevsw) d_list; ==== //depot/projects/nsched/sys/sys/sched.h#16 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/sched.h,v 1.16 2004/09/05 02:09:54 julian Exp $ + * $FreeBSD: src/sys/sys/sched.h,v 1.17 2004/09/10 21:04:37 julian Exp $ */ #ifndef _SYS_SCHED_H_ From owner-p4-projects@FreeBSD.ORG Fri Sep 10 21:45:35 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A935D16A4D0; Fri, 10 Sep 2004 21:45:34 +0000 (GMT) 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 84B1016A4CE for ; Fri, 10 Sep 2004 21:45:34 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B23943D39 for ; Fri, 10 Sep 2004 21:45:34 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8ALjYIR070188 for ; Fri, 10 Sep 2004 21:45:34 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8ALjY9X070185 for perforce@freebsd.org; Fri, 10 Sep 2004 21:45:34 GMT (envelope-from julian@freebsd.org) Date: Fri, 10 Sep 2004 21:45:34 GMT Message-Id: <200409102145.i8ALjY9X070185@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61320 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Sep 2004 21:45:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=61320 Change 61320 by julian@julian_ref on 2004/09/10 21:44:33 Dammit I said compile! Affected files ... .. //depot/projects/nsched/sys/kern/sched_4bsd.c#45 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#28 edit Differences ... ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#45 (text+ko) ==== @@ -1189,7 +1189,7 @@ int sched_ispinned(void) { - return (curthread->td_sched->ke_pinned) + return (curthread->td_sched->ke_pinned); } #endif ==== //depot/projects/nsched/sys/kern/sched_ule.c#28 (text+ko) ==== @@ -1919,7 +1919,7 @@ int sched_ispinned(void) { - return (curthread->td_sched->ke_pinned) + return (curthread->td_sched->ke_pinned); } #endif From owner-p4-projects@FreeBSD.ORG Sat Sep 11 00:26:53 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8894116A4E3; Sat, 11 Sep 2004 00:26:52 +0000 (GMT) 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 44F4E16A4CE for ; Sat, 11 Sep 2004 00:26:52 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 19EAE43D39 for ; Sat, 11 Sep 2004 00:26:52 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8B0QpG8074576 for ; Sat, 11 Sep 2004 00:26:51 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8B0Qpka074573 for perforce@freebsd.org; Sat, 11 Sep 2004 00:26:51 GMT (envelope-from julian@freebsd.org) Date: Sat, 11 Sep 2004 00:26:51 GMT Message-Id: <200409110026.i8B0Qpka074573@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61328 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Sep 2004 00:26:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=61328 Change 61328 by julian@julian_ref on 2004/09/11 00:26:45 recycle fixes from -current Affected files ... .. //depot/projects/nsched/sys/i386/i386/pmap.c#20 integrate .. //depot/projects/nsched/sys/kern/sched_4bsd.c#46 integrate .. //depot/projects/nsched/sys/kern/sched_ule.c#29 integrate .. //depot/projects/nsched/sys/sys/proc.h#28 integrate .. //depot/projects/nsched/sys/sys/sched.h#17 integrate Differences ... ==== //depot/projects/nsched/sys/i386/i386/pmap.c#20 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.501 2004/09/08 18:58:29 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.502 2004/09/10 22:28:33 julian Exp $"); /* * Manages physical address maps. ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#46 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.61 2004/09/10 21:04:38 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.62 2004/09/10 22:28:32 julian Exp $"); #define kse td_sched ==== //depot/projects/nsched/sys/kern/sched_ule.c#29 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.126 2004/09/10 21:04:38 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.128 2004/09/11 00:11:09 julian Exp $"); #include @@ -344,10 +344,10 @@ */ #ifdef __i386__ #define KSE_CAN_MIGRATE(ke, class) \ - ((ke)->ke_thread->td_pinned == 0 && ((ke)->ke_flags & KEF_BOUND) == 0) + ((ke)->ke_pinned == 0 && ((ke)->ke_flags & KEF_BOUND) == 0) #else /* !__i386__ */ #define KSE_CAN_MIGRATE(ke, class) \ - ((class) != PRI_ITHD && (ke)->ke_thread->td_pinned == 0 && \ + ((class) != PRI_ITHD && (ke)->ke_pinned == 0 && \ ((ke)->ke_flags & KEF_BOUND) == 0) #endif /* !__i386__ */ #endif @@ -1912,7 +1912,7 @@ void sched_unpin(void) { - curthread->td_sched->td_pinned--; + curthread->td_sched->ke_pinned--; } #ifdef INVARIANTS ==== //depot/projects/nsched/sys/sys/proc.h#28 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $FreeBSD: src/sys/sys/proc.h,v 1.399 2004/09/05 02:09:54 julian Exp $ + * $FreeBSD: src/sys/sys/proc.h,v 1.400 2004/09/10 22:28:33 julian Exp $ */ #ifndef _SYS_PROC_H_ ==== //depot/projects/nsched/sys/sys/sched.h#17 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/sched.h,v 1.17 2004/09/10 21:04:37 julian Exp $ + * $FreeBSD: src/sys/sys/sched.h,v 1.18 2004/09/10 22:28:33 julian Exp $ */ #ifndef _SYS_SCHED_H_ @@ -92,6 +92,13 @@ int sched_ispinned(void); #endif +/* these only work for curthread */ +void sched_pin(void); +void sched_unpin(void); +#ifdef INVARIANTS +int sched_ispinned(void); +#endif + /* * These procedures tell the process data structure allocation code how * many bytes to actually allocate. From owner-p4-projects@FreeBSD.ORG Sat Sep 11 00:30:58 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF25316A4D0; Sat, 11 Sep 2004 00:30:57 +0000 (GMT) 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 99EF416A4CE for ; Sat, 11 Sep 2004 00:30:57 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 78ED843D1D for ; Sat, 11 Sep 2004 00:30:57 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8B0Uv5G074690 for ; Sat, 11 Sep 2004 00:30:57 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8B0Uv6b074687 for perforce@freebsd.org; Sat, 11 Sep 2004 00:30:57 GMT (envelope-from julian@freebsd.org) Date: Sat, 11 Sep 2004 00:30:57 GMT Message-Id: <200409110030.i8B0Uv6b074687@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61329 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Sep 2004 00:30:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=61329 Change 61329 by julian@julian_ref on 2004/09/11 00:30:12 fix mismerge Affected files ... .. //depot/projects/nsched/sys/sys/sched.h#18 edit Differences ... ==== //depot/projects/nsched/sys/sys/sched.h#18 (text+ko) ==== @@ -84,14 +84,6 @@ void sched_bind(struct thread *td, int cpu); void sched_unbind(struct thread *td); - -/* these only work for curthread */ -void sched_pin(void); -void sched_unpin(void); -#ifdef INVARIANTS -int sched_ispinned(void); -#endif - /* these only work for curthread */ void sched_pin(void); void sched_unpin(void); From owner-p4-projects@FreeBSD.ORG Sat Sep 11 10:59:54 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF1E716A4D0; Sat, 11 Sep 2004 10:59:53 +0000 (GMT) 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 6A3B216A4CF for ; Sat, 11 Sep 2004 10:59:53 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B9DD43D2F for ; Sat, 11 Sep 2004 10:59:53 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8BAxrrH091997 for ; Sat, 11 Sep 2004 10:59:53 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8BAxqmP091994 for perforce@freebsd.org; Sat, 11 Sep 2004 10:59:52 GMT (envelope-from julian@freebsd.org) Date: Sat, 11 Sep 2004 10:59:52 GMT Message-Id: <200409111059.i8BAxqmP091994@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61349 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Sep 2004 10:59:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=61349 Change 61349 by julian@julian_ref on 2004/09/11 10:59:22 IFC@61347 Affected files ... .. //depot/projects/nsched/sys/alpha/conf/GENERIC#9 integrate .. //depot/projects/nsched/sys/amd64/include/pmap.h#11 integrate .. //depot/projects/nsched/sys/dev/bktr/msp34xx.c#2 integrate .. //depot/projects/nsched/sys/dev/vge/if_vge.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/pmap.c#21 integrate .. //depot/projects/nsched/sys/i386/include/pmap.h#7 integrate .. //depot/projects/nsched/sys/kern/sched_4bsd.c#47 integrate .. //depot/projects/nsched/sys/kern/sched_ule.c#30 integrate .. //depot/projects/nsched/sys/netgraph/ng_eiface.c#7 integrate .. //depot/projects/nsched/sys/sys/conf.h#8 integrate .. //depot/projects/nsched/sys/sys/proc.h#29 integrate .. //depot/projects/nsched/sys/sys/rman.h#4 integrate .. //depot/projects/nsched/sys/sys/sched.h#19 integrate Differences ... ==== //depot/projects/nsched/sys/alpha/conf/GENERIC#9 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.178 2004/09/07 22:37:43 scottl Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.179 2004/09/11 07:26:50 alc Exp $ machine alpha cpu EV4 @@ -163,6 +163,7 @@ device miibus # MII bus support device dc # DEC/Intel 21143 and workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device nge # NatSemi DP83820 gigabit ethernet device pcn # AMD Am79C97x PCI 10/100 NICs device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (``Starfire'') ==== //depot/projects/nsched/sys/amd64/include/pmap.h#11 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.122 2004/07/20 02:40:56 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.123 2004/09/11 01:31:26 scottl Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -97,8 +97,9 @@ ((unsigned long)(l2) << PDRSHIFT) | \ ((unsigned long)(l1) << PAGE_SHIFT)) +/* Initial number of kernel page tables */ #ifndef NKPT -#define NKPT 120 /* initial number of kernel page tables */ +#define NKPT 240 /* Enough for 16GB (2MB page tables) */ #endif #define NKPML4E 1 /* number of kernel PML4 slots */ ==== //depot/projects/nsched/sys/dev/bktr/msp34xx.c#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/dev/bktr/msp34xx.c,v 1.3 2003/12/12 21:18:04 rwatson Exp $ + * $FreeBSD: src/sys/dev/bktr/msp34xx.c,v 1.4 2004/09/11 04:32:55 dwhite Exp $ */ /* @@ -85,6 +85,10 @@ #include #include +#ifdef BKTR_USE_FREEBSD_SMBUS +#include /* required by bktr_reg.h */ +#endif + #include /* required by bktr_reg.h */ #include ==== //depot/projects/nsched/sys/dev/vge/if_vge.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/vge/if_vge.c,v 1.1 2004/09/10 20:57:45 wpaul Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/vge/if_vge.c,v 1.2 2004/09/11 01:07:39 wpaul Exp $"); /* * VIA Networking Technologies VT612x PCI gigabit ethernet NIC driver. @@ -1158,7 +1158,6 @@ if (sc->vge_parent_tag) bus_dma_tag_destroy(sc->vge_parent_tag); - VGE_UNLOCK(sc); mtx_destroy(&sc->vge_mtx); return (0); ==== //depot/projects/nsched/sys/i386/i386/pmap.c#21 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.502 2004/09/10 22:28:33 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.503 2004/09/11 10:07:21 scottl Exp $"); /* * Manages physical address maps. @@ -807,7 +807,7 @@ if (pmap_is_current(pmap)) return (vtopte(va)); mtx_assert(&vm_page_queue_mtx, MA_OWNED); - KASSERT(sched_ispinned(), ("curthread not pinned")); + KASSERT(curthread->td_pinned > 0, ("curthread not pinned")); newpf = *pde & PG_FRAME; if ((*PMAP1 & PG_FRAME) != newpf) { *PMAP1 = newpf | PG_RW | PG_V | PG_A | PG_M; @@ -1622,7 +1622,7 @@ pt_entry_t *pte; mtx_assert(&vm_page_queue_mtx, MA_OWNED); - KASSERT(sched_ispinned(), ("curthread not pinned")); + KASSERT(curthread->td_pinned > 0, ("curthread not pinned")); PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((pte = pmap_pte_quick(pmap, va)) == NULL || *pte == 0) return; ==== //depot/projects/nsched/sys/i386/include/pmap.h#7 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/i386/include/pmap.h,v 1.112 2004/06/29 15:57:05 peter Exp $ + * $FreeBSD: src/sys/i386/include/pmap.h,v 1.113 2004/09/11 01:31:26 scottl Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -96,11 +96,12 @@ */ #define VADDR(pdi, pti) ((vm_offset_t)(((pdi)< -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.62 2004/09/10 22:28:32 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.63 2004/09/11 10:07:22 scottl Exp $"); #define kse td_sched @@ -87,7 +87,6 @@ } ke_state; /* (j) KSE status. */ int ke_cpticks; /* (j) Ticks of cpu time. */ struct runq *ke_runq; /* runq the kse is currently on */ - int ke_pinned; /* (k) nested count, pinned to a cpu */ }; #define ke_proc ke_thread->td_proc @@ -125,7 +124,7 @@ * cpus. */ #define KSE_CAN_MIGRATE(ke) \ - ((ke)->ke_pinned == 0 && ((ke)->ke_flags & KEF_BOUND) == 0) + ((ke)->ke_thread->td_pinned == 0 && ((ke)->ke_flags & KEF_BOUND) == 0) static struct kse kse0; static struct kg_sched kg_sched0; @@ -1172,26 +1171,5 @@ return (0); } - -void -sched_pin(void) -{ - curthread->td_sched->ke_pinned++; -} - - void -sched_unpin(void) -{ - curthread->td_sched->ke_pinned--; -} - -#ifdef INVARIANTS -int -sched_ispinned(void) -{ - return (curthread->td_sched->ke_pinned); -} -#endif - #define KERN_SWITCH_INCLUDE 1 #include "kern/kern_switch.c" ==== //depot/projects/nsched/sys/kern/sched_ule.c#30 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.128 2004/09/11 00:11:09 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.129 2004/09/11 10:07:22 scottl Exp $"); #include @@ -112,7 +112,6 @@ KES_ONRUNQ } ke_state; /* (j) thread sched specific status. */ int ke_slptime; - int ke_pinned; /* (k) nested coult.. pinned to a cpu */ int ke_slice; struct runq *ke_runq; u_char ke_cpu; /* CPU that we have affinity for. */ @@ -344,10 +343,10 @@ */ #ifdef __i386__ #define KSE_CAN_MIGRATE(ke, class) \ - ((ke)->ke_pinned == 0 && ((ke)->ke_flags & KEF_BOUND) == 0) + ((ke)->ke_thread->td_pinned == 0 && ((ke)->ke_flags & KEF_BOUND) == 0) #else /* !__i386__ */ #define KSE_CAN_MIGRATE(ke, class) \ - ((class) != PRI_ITHD && (ke)->ke_pinned == 0 && \ + ((class) != PRI_ITHD && (ke)->ke_thread->td_pinned == 0 && \ ((ke)->ke_flags & KEF_BOUND) == 0) #endif /* !__i386__ */ #endif @@ -1902,26 +1901,5 @@ { return (sizeof(struct thread) + sizeof(struct td_sched)); } - -void -sched_pin(void) -{ - curthread->td_sched->ke_pinned++; -} - - void -sched_unpin(void) -{ - curthread->td_sched->ke_pinned--; -} - -#ifdef INVARIANTS -int -sched_ispinned(void) -{ - return (curthread->td_sched->ke_pinned); -} -#endif - #define KERN_SWITCH_INCLUDE 1 #include "kern/kern_switch.c" ==== //depot/projects/nsched/sys/netgraph/ng_eiface.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netgraph/ng_eiface.c,v 1.17 2004/07/14 20:26:29 rwatson Exp $ + * $FreeBSD: src/sys/netgraph/ng_eiface.c,v 1.18 2004/09/11 08:59:06 glebius Exp $ */ @@ -594,7 +594,6 @@ struct mbuf *m; NGI_GET_M(item, m); - /* Meta-data ends its life here... */ NG_FREE_ITEM(item); if ((ifp->if_flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING)) { ==== //depot/projects/nsched/sys/sys/conf.h#8 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)conf.h 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/sys/conf.h,v 1.191 2004/09/10 20:49:30 phk Exp $ + * $FreeBSD: src/sys/sys/conf.h,v 1.192 2004/09/11 07:09:48 phk Exp $ */ #ifndef _SYS_CONF_H_ @@ -84,6 +84,7 @@ gid_t si_gid; mode_t si_mode; u_long si_usecount; + u_long si_threadcount; union { struct { struct tty *__sit_tty; ==== //depot/projects/nsched/sys/sys/proc.h#29 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $FreeBSD: src/sys/sys/proc.h,v 1.400 2004/09/10 22:28:33 julian Exp $ + * $FreeBSD: src/sys/sys/proc.h,v 1.401 2004/09/11 10:07:22 scottl Exp $ */ #ifndef _SYS_PROC_H_ @@ -268,6 +268,7 @@ LIST_HEAD(, turnstile) td_contested; /* (q) Contested locks. */ struct lock_list_entry *td_sleeplocks; /* (k) Held sleep locks. */ int td_intr_nesting_level; /* (k) Interrupt recursion. */ + int td_pinned; /* (k) Temporary cpu pin count. */ struct kse_thr_mailbox *td_mailbox; /* (*) Userland mailbox address. */ struct ucred *td_ucred; /* (k) Reference to credentials. */ struct thread *td_standin; /* (*) Use this for an upcall. */ ==== //depot/projects/nsched/sys/sys/rman.h#4 (text+ko) ==== @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/rman.h,v 1.22 2004/07/01 16:20:58 imp Exp $ + * $FreeBSD: src/sys/sys/rman.h,v 1.23 2004/09/11 04:28:46 imp Exp $ */ #ifndef _SYS_RMAN_H_ @@ -107,6 +107,8 @@ bus_space_handle_t r_bushandle; /* bus_space handle */ struct device *r_dev; /* device which has allocated this resource */ struct rman *r_rm; /* resource manager from whence this came */ + void *r_spare1; /* Spare pointer 1 */ + void *r_spare2; /* Spare pointer 2 */ int r_rid; /* optional rid for this resource. */ }; #else ==== //depot/projects/nsched/sys/sys/sched.h#19 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/sched.h,v 1.18 2004/09/10 22:28:33 julian Exp $ + * $FreeBSD: src/sys/sys/sched.h,v 1.20 2004/09/11 10:07:22 scottl Exp $ */ #ifndef _SYS_SCHED_H_ @@ -82,14 +82,9 @@ * hold a thread on a particular CPU. */ void sched_bind(struct thread *td, int cpu); +static __inline void sched_pin(void); void sched_unbind(struct thread *td); - -/* these only work for curthread */ -void sched_pin(void); -void sched_unpin(void); -#ifdef INVARIANTS -int sched_ispinned(void); -#endif +static __inline void sched_unpin(void); /* * These procedures tell the process data structure allocation code how @@ -99,6 +94,18 @@ int sched_sizeof_proc(void); int sched_sizeof_thread(void); +static __inline void +sched_pin(void) +{ + curthread->td_pinned++; +} + +static __inline void +sched_unpin(void) +{ + curthread->td_pinned--; +} + /* temporarily here */ void schedinit(void); void sched_destroyproc(struct proc *p); From owner-p4-projects@FreeBSD.ORG Sat Sep 11 12:34:48 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84B7A16A4D0; Sat, 11 Sep 2004 12:34:48 +0000 (GMT) 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 4306116A4CE for ; Sat, 11 Sep 2004 12:34:48 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 26C2F43D1F for ; Sat, 11 Sep 2004 12:34:48 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8BCYmqZ094322 for ; Sat, 11 Sep 2004 12:34:48 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8BCYl29094319 for perforce@freebsd.org; Sat, 11 Sep 2004 12:34:47 GMT (envelope-from julian@freebsd.org) Date: Sat, 11 Sep 2004 12:34:47 GMT Message-Id: <200409111234.i8BCYl29094319@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61351 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Sep 2004 12:34:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=61351 Change 61351 by julian@julian_ref on 2004/09/11 12:33:50 Add debugging to try find the runq corruption problem Affected files ... .. //depot/projects/nsched/sys/kern/kern_fork.c#13 edit .. //depot/projects/nsched/sys/kern/kern_switch.c#15 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_fork.c#13 (text+ko) ==== @@ -256,7 +256,7 @@ * other side with the expectation that the process is about to * exec. */ - if (p1->p_flag & P_SA) { + if (p1->p_flag & P_HADTHREADS) { /* * Idle the other threads for a second. * Since the user space is copied, it must remain stable. @@ -727,7 +727,7 @@ /* * If other threads are waiting, let them continue now. */ - if (p1->p_flag & P_SA) { + if (p1->p_flag & P_HADTHREADS) { PROC_LOCK(p1); thread_single_end(); PROC_UNLOCK(p1); @@ -748,7 +748,7 @@ mac_destroy_proc(newproc); #endif uma_zfree(proc_zone, newproc); - if (p1->p_flag & P_SA) { + if (p1->p_flag & P_HADTHREADS) { PROC_LOCK(p1); thread_single_end(); PROC_UNLOCK(p1); ==== //depot/projects/nsched/sys/kern/kern_switch.c#15 (text+ko) ==== @@ -118,6 +118,35 @@ CTASSERT((RQB_BPW * RQB_LEN) == RQ_NQS); +#ifdef INVARIANTS +#define CHECKRUNQ(kg, td) checkrunq((kg), (td)); + +static void +checkrunq(struct ksegrp *kg, struct thread *td) +{ + struct thread *td2; + int count = 0; + TAILQ_FOREACH(td2, &kg->kg_runq, td_runq) { + /* XXX Debugging hack */ + if (!TD_ON_RUNQ(td2)) { + printf("thread in wrong state, td2= %p\n", td2); + panic("corruption in runqueue"); + } + if (td == td2) { + printf("thread alreadyin runq, td2= %p\n", td); + panic("confusion in runqueue"); + } + if (++count > 10000) { + printf("corrupt kg_runq, td= %p\n", td); + panic("deadlock in runqueue"); + } + } +} + +#else +#define CHECKRUNQ(kg, td) +#endif + #define td_kse td_sched /************************************************************************ @@ -153,6 +182,7 @@ td = ke->ke_thread; KASSERT((td->td_kse == ke), ("kse/thread mismatch")); kg = ke->ke_ksegrp; + CHECKRUNQ(kg, NULL) if (td->td_proc->p_flag & P_HADTHREADS) { if (kg->kg_last_assigned == td) { kg->kg_last_assigned = TAILQ_PREV(td, @@ -160,6 +190,7 @@ } TAILQ_REMOVE(&kg->kg_runq, td, td_runq); kg->kg_runnable--; + CHECKRUNQ(kg, td) } CTR2(KTR_RUNQ, "choosethread: td=%p pri=%d", td, td->td_priority); @@ -257,6 +288,7 @@ td3 = TAILQ_PREV(td, threadqueue, td_runq); TAILQ_REMOVE(&kg->kg_runq, td, td_runq); kg->kg_runnable--; + CHECKRUNQ(kg, td) if (ke->ke_state == KES_ONRUNQ) { /* * This thread has been assigned to the system run queue. @@ -273,6 +305,7 @@ kg->kg_last_assigned = td3; /* slot_fill(kg); */ /* will replace it with another */ } + CHECKRUNQ(kg, NULL) } #endif @@ -305,7 +338,7 @@ /* It is a threaded process */ kg = td->td_ksegrp; - TD_SET_CAN_RUN(td); + CHECKRUNQ(kg, NULL) if (ke->ke_state == KES_ONRUNQ) { if (kg->kg_last_assigned == td) { kg->kg_last_assigned = @@ -315,9 +348,11 @@ kg->kg_avail_opennings++; } TAILQ_REMOVE(&kg->kg_runq, td, td_runq); + CHECKRUNQ(kg, td) kg->kg_runnable--; td->td_priority = newpri; setrunqueue(td, SRQ_BORING); + CHECKRUNQ(kg, NULL) } int limitcount; void @@ -355,6 +390,7 @@ return; } + CHECKRUNQ(kg, td) tda = kg->kg_last_assigned; if ((kg->kg_avail_opennings <= 0) && (tda && (tda->td_priority > td->td_priority))) { @@ -380,18 +416,13 @@ TAILQ_INSERT_BEFORE(td2, td, td_runq); break; } - /* XXX Debugging hack */ - if (++count > 10000) { - printf("setrunqueue(): corrupt kq_runq, td= %p\n", td); - panic("deadlock in setrunqueue"); - } } if (td2 == NULL) { /* We ran off the end of the TAILQ or it was empty. */ kg->kg_runnable++; TAILQ_INSERT_TAIL(&kg->kg_runq, td, td_runq); } - + CHECKRUNQ(kg, NULL) /* * If we have a slot to use, then put the thread on the system * run queue and if needed, readjust the last_assigned pointer. From owner-p4-projects@FreeBSD.ORG Sat Sep 11 12:36:51 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6137616A4D0; Sat, 11 Sep 2004 12:36:51 +0000 (GMT) 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 3C3ED16A4CE for ; Sat, 11 Sep 2004 12:36:51 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1EBC643D55 for ; Sat, 11 Sep 2004 12:36:51 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8BCapq7094443 for ; Sat, 11 Sep 2004 12:36:51 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8BCaoh4094440 for perforce@freebsd.org; Sat, 11 Sep 2004 12:36:50 GMT (envelope-from julian@freebsd.org) Date: Sat, 11 Sep 2004 12:36:50 GMT Message-Id: <200409111236.i8BCaoh4094440@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61352 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Sep 2004 12:36:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=61352 Change 61352 by julian@julian_ref on 2004/09/11 12:36:15 oops, deleted aline by accident Affected files ... .. //depot/projects/nsched/sys/kern/kern_switch.c#16 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_switch.c#16 (text+ko) ==== @@ -348,8 +348,9 @@ kg->kg_avail_opennings++; } TAILQ_REMOVE(&kg->kg_runq, td, td_runq); + kg->kg_runnable--; + TD_SET_CAN_RUN(td); CHECKRUNQ(kg, td) - kg->kg_runnable--; td->td_priority = newpri; setrunqueue(td, SRQ_BORING); CHECKRUNQ(kg, NULL) From owner-p4-projects@FreeBSD.ORG Sat Sep 11 13:04:25 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E165D16A4D0; Sat, 11 Sep 2004 13:04:24 +0000 (GMT) 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 B6D6316A4CE for ; Sat, 11 Sep 2004 13:04:24 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AEE0643D31 for ; Sat, 11 Sep 2004 13:04:24 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8BD4ORW095074 for ; Sat, 11 Sep 2004 13:04:24 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8BD4ORR095071 for perforce@freebsd.org; Sat, 11 Sep 2004 13:04:24 GMT (envelope-from julian@freebsd.org) Date: Sat, 11 Sep 2004 13:04:24 GMT Message-Id: <200409111304.i8BD4ORR095071@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61353 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Sep 2004 13:04:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=61353 Change 61353 by julian@julian_ref on 2004/09/11 13:03:54 EEK! don't preempt us if we are on the sleepq but running? they both use the same linkage element. Affected files ... .. //depot/projects/nsched/sys/kern/kern_switch.c#17 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_switch.c#17 (text+ko) ==== @@ -539,7 +539,7 @@ pri = td->td_priority; cpri = ctd->td_priority; if (pri >= cpri || cold /* || dumping */ || TD_IS_INHIBITED(ctd) || - td->td_kse->ke_state != KES_THREAD) + td->td_kse->ke_state != KES_THREAD || TD_ON_SLEEPQ(ctd)) return (0); #ifndef FULL_PREEMPTION if (!(pri >= PRI_MIN_ITHD && pri <= PRI_MAX_ITHD) && From owner-p4-projects@FreeBSD.ORG Sat Sep 11 13:07:29 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A85916A4D0; Sat, 11 Sep 2004 13:07:29 +0000 (GMT) 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 E2C7916A4CE for ; Sat, 11 Sep 2004 13:07:28 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D8CAE43D5F for ; Sat, 11 Sep 2004 13:07:28 +0000 (GMT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i8BD7SxM095206 for ; Sat, 11 Sep 2004 13:07:28 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i8BD7S4t095203 for perforce@freebsd.org; Sat, 11 Sep 2004 13:07:28 GMT (envelope-from julian@freebsd.org) Date: Sat, 11 Sep 2004 13:07:28 GMT Message-Id: <200409111307.i8BD7S4t095203@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 61354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Sep 2004 13:07:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=61354 Change 61354 by julian@julian_ref on 2004/09/11 13:07:07 I was dreaming.. no teh sleep queue does not use the runq linkage elements! Affected files ... .. //depot/projects/nsched/sys/kern/kern_switch.c#18 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_switch.c#18 (text+ko) ==== @@ -539,7 +539,7 @@ pri = td->td_priority; cpri = ctd->td_priority; if (pri >= cpri || cold /* || dumping */ || TD_IS_INHIBITED(ctd) || - td->td_kse->ke_state != KES_THREAD || TD_ON_SLEEPQ(ctd)) + td->td_kse->ke_state != KES_THREAD) return (0); #ifndef FULL_PREEMPTION if (!(pri >= PRI_MIN_ITHD && pri <= PRI_MAX_ITHD) &&