Date: Fri, 12 Jul 2002 13:28:56 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 14156 for review Message-ID: <200207122028.g6CKSuPv097710@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=14156 Change 14156 by peter@peter_daintree on 2002/07/12 13:28:19 IFC @14154 Affected files ... .. //depot/projects/pmap/sys/alpha/alpha/genassym.c#4 integrate .. //depot/projects/pmap/sys/alpha/alpha/swtch.s#3 integrate .. //depot/projects/pmap/sys/i386/i386/genassym.c#6 integrate .. //depot/projects/pmap/sys/i386/i386/pmap.c#26 integrate .. //depot/projects/pmap/sys/i386/i386/swtch.s#6 integrate .. //depot/projects/pmap/sys/ia64/ia64/genassym.c#5 integrate .. //depot/projects/pmap/sys/ia64/ia64/swtch.s#3 integrate .. //depot/projects/pmap/sys/kern/kern_switch.c#7 integrate .. //depot/projects/pmap/sys/kern/kern_synch.c#6 integrate .. //depot/projects/pmap/sys/kern/sys_process.c#8 integrate .. //depot/projects/pmap/sys/netinet/udp_usrreq.c#6 integrate .. //depot/projects/pmap/sys/powerpc/powerpc/genassym.c#5 integrate .. //depot/projects/pmap/sys/powerpc/powerpc/swtch.s#5 integrate .. //depot/projects/pmap/sys/sparc64/include/smp.h#7 integrate .. //depot/projects/pmap/sys/sparc64/sparc64/genassym.c#8 integrate .. //depot/projects/pmap/sys/sparc64/sparc64/swtch.s#7 integrate .. //depot/projects/pmap/sys/sys/proc.h#7 integrate .. //depot/projects/pmap/sys/ufs/ffs/README.snapshot#2 integrate .. //depot/projects/pmap/sys/vm/vm_zeroidle.c#4 integrate Differences ... ==== //depot/projects/pmap/sys/alpha/alpha/genassym.c#4 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 - * $FreeBSD: src/sys/alpha/alpha/genassym.c,v 1.38 2002/06/29 17:26:10 julian Exp $ + * $FreeBSD: src/sys/alpha/alpha/genassym.c,v 1.39 2002/07/12 18:34:21 jhb Exp $ */ #include <sys/param.h> @@ -80,8 +80,6 @@ ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_KSE, offsetof(struct thread, td_kse)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); -ASSYM(TD_STATE, offsetof(struct thread, td_state)); -ASSYM(TDS_RUNNING, TDS_RUNNING); ASSYM(KE_FLAGS, offsetof(struct kse, ke_flags)); ==== //depot/projects/pmap/sys/alpha/alpha/swtch.s#3 (text+ko) ==== @@ -25,7 +25,7 @@ * rights to redistribute these changes. * * $NetBSD: locore.s,v 1.47 1998/03/22 07:26:32 thorpej Exp $ - * $FreeBSD: src/sys/alpha/alpha/swtch.s,v 1.32 2002/06/29 17:26:11 julian Exp $ + * $FreeBSD: src/sys/alpha/alpha/swtch.s,v 1.33 2002/07/12 18:34:21 jhb Exp $ */ #define _LOCORE @@ -127,9 +127,6 @@ mov v0, s2 /* s2 = new thread */ ldq s3, TD_MD_PCBPADDR(s2) /* s3 = new pcbpaddr */ - ldiq t0, TDS_RUNNING - stl t0, TD_STATE(s2) - /* * Check to see if we're switching to ourself. If we are, * don't bother loading the new context. ==== //depot/projects/pmap/sys/i386/i386/genassym.c#6 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 - * $FreeBSD: src/sys/i386/i386/genassym.c,v 1.126 2002/07/10 20:15:57 dillon Exp $ + * $FreeBSD: src/sys/i386/i386/genassym.c,v 1.128 2002/07/12 20:17:06 dillon Exp $ */ #include "opt_kstack_pages.h" @@ -82,7 +82,6 @@ ASSYM(P_STATE, offsetof(struct proc, p_state)); ASSYM(P_UAREA, offsetof(struct proc, p_uarea)); -ASSYM(TD_STATE, offsetof(struct thread, td_state)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); ASSYM(TD_WCHAN, offsetof(struct thread, td_wchan)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); @@ -90,6 +89,7 @@ ASSYM(TD_PROC, offsetof(struct thread, td_proc)); ASSYM(TD_INTR_NESTING_LEVEL, offsetof(struct thread, td_intr_nesting_level)); ASSYM(TD_CRITNEST, offsetof(struct thread, td_critnest)); +ASSYM(TD_SWITCHIN, offsetof(struct thread, td_switchin)); ASSYM(TD_MD, offsetof(struct thread, td_md)); ASSYM(P_MD, offsetof(struct proc, p_md)); @@ -100,9 +100,6 @@ ASSYM(KEF_ASTPENDING, KEF_ASTPENDING); ASSYM(KEF_NEEDRESCHED, KEF_NEEDRESCHED); -ASSYM(TDS_SLP, TDS_SLP); -ASSYM(TDS_RUNQ, TDS_RUNQ); -ASSYM(TDS_RUNNING, TDS_RUNNING); ASSYM(V_TRAP, offsetof(struct vmmeter, v_trap)); ASSYM(V_SYSCALL, offsetof(struct vmmeter, v_syscall)); ASSYM(V_INTR, offsetof(struct vmmeter, v_intr)); ==== //depot/projects/pmap/sys/i386/i386/pmap.c#26 (text+ko) ==== @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/i386/i386/pmap.c,v 1.337 2002/07/12 07:56:09 peter Exp $ + * $FreeBSD: src/sys/i386/i386/pmap.c,v 1.338 2002/07/12 20:17:06 dillon Exp $ */ /* @@ -2675,7 +2675,39 @@ } } +#ifdef SMP + /* + * pmap_zpi_switchin*() + * + * These functions allow us to avoid doing IPIs alltogether in certain + * temporary page-mapping situations (page zeroing). Instead to deal + * with being preempted and moved onto a different cpu we invalidate + * the page when the scheduler switches us in. This does not occur + * very often so we remain relatively optimal with very little effort. + */ +static void +pmap_zpi_switchin12(void) +{ + invlpg((u_int)CADDR1); + invlpg((u_int)CADDR2); +} + +static void +pmap_zpi_switchin2(void) +{ + invlpg((u_int)CADDR2); +} + +static void +pmap_zpi_switchin3(void) +{ + invlpg((u_int)CADDR3); +} + +#endif + +/* * pmap_zero_page zeros the specified hardware page by mapping * the page into KVM and using bzero to clear its contents. */ @@ -2695,13 +2727,19 @@ if (*CMAP2) panic("pmap_zero_page: CMAP2 busy"); *CMAP2 = PG_V | PG_RW | phys | PG_A | PG_M; - pmap_invalidate_page(kernel_pmap, (vm_offset_t)CADDR2); +#ifdef SMP + curthread->td_switchin = pmap_zpi_switchin2; +#endif + invlpg((u_int)CADDR2); #if defined(I686_CPU) if (cpu_class == CPUCLASS_686) i686_pagezero(CADDR2); else #endif bzero(CADDR2, PAGE_SIZE); +#ifdef SMP + curthread->td_switchin = NULL; +#endif *CMAP2 = 0; } @@ -2727,13 +2765,19 @@ if (*CMAP2) panic("pmap_zero_page: CMAP2 busy"); *CMAP2 = PG_V | PG_RW | phys | PG_A | PG_M; - pmap_invalidate_page(kernel_pmap, (vm_offset_t)CADDR2); +#ifdef SMP + curthread->td_switchin = pmap_zpi_switchin2; +#endif + invlpg((u_int)CADDR2); #if defined(I686_CPU) if (cpu_class == CPUCLASS_686 && off == 0 && size == PAGE_SIZE) i686_pagezero(CADDR2); else #endif bzero((char *)CADDR2 + off, size); +#ifdef SMP + curthread->td_switchin = NULL; +#endif *CMAP2 = 0; } @@ -2759,13 +2803,19 @@ if (*CMAP3) panic("pmap_zero_page: CMAP3 busy"); *CMAP3 = PG_V | PG_RW | phys | PG_A | PG_M; - invlpg((vm_offset_t)CADDR3); /* SMP: local cpu only */ +#ifdef SMP + curthread->td_switchin = pmap_zpi_switchin3; +#endif + invlpg((u_int)CADDR3); #if defined(I686_CPU) if (cpu_class == CPUCLASS_686) i686_pagezero(CADDR3); else #endif bzero(CADDR3, PAGE_SIZE); +#ifdef SMP + curthread->td_switchin = NULL; +#endif *CMAP3 = 0; } @@ -2785,13 +2835,20 @@ panic("pmap_copy_page: CMAP2 busy"); *CMAP1 = PG_V | VM_PAGE_TO_PHYS(src) | PG_A; *CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(dst) | PG_A | PG_M; - /* - * XXX we "know" that CADDR2 immediately follows CADDR1 and use - * that to save an IPI on SMP systems. - */ - pmap_invalidate_range(kernel_pmap, (vm_offset_t)CADDR1, - (vm_offset_t)CADDR2 + PAGE_SIZE); +#ifdef I386_CPU + invltlb(); +#else +#ifdef SMP + curthread->td_switchin = pmap_zpi_switchin12; +#endif + invlpg((u_int)CADDR1); + invlpg((u_int)CADDR2); +#endif bcopy(CADDR1, CADDR2, PAGE_SIZE); + +#ifdef SMP + curthread->td_switchin = NULL; +#endif *CMAP1 = 0; *CMAP2 = 0; } ==== //depot/projects/pmap/sys/i386/i386/swtch.s#6 (text+ko) ==== @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/swtch.s,v 1.132 2002/06/29 17:26:16 julian Exp $ + * $FreeBSD: src/sys/i386/i386/swtch.s,v 1.133 2002/07/12 18:34:21 jhb Exp $ */ #include "opt_npx.h" @@ -171,13 +171,6 @@ sw1b: movl %eax,%ecx - -#ifdef INVARIANTS - cmpb $TDS_RUNQ,TD_STATE(%ecx) - jne badsw2 -#endif - - movl $TDS_RUNNING,TD_STATE(%ecx) movl TD_PCB(%ecx),%edx #if defined(SWTCH_OPTIM_STATS) @@ -316,13 +309,6 @@ ret #ifdef INVARIANTS -badsw2: - pushal - pushl $sw0_2 - call panic - -sw0_2: .asciz "cpu_switch: not TDS_RUNQ" - badsw3: pushal pushl $sw0_3 ==== //depot/projects/pmap/sys/ia64/ia64/genassym.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 - * $FreeBSD: src/sys/ia64/ia64/genassym.c,v 1.29 2002/06/29 18:26:18 julian Exp $ + * $FreeBSD: src/sys/ia64/ia64/genassym.c,v 1.30 2002/07/12 18:34:22 jhb Exp $ */ #include <sys/param.h> @@ -76,11 +76,9 @@ ASSYM(TD_PROC, offsetof(struct thread, td_proc)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); -ASSYM(TD_STATE, offsetof(struct thread, td_state)); ASSYM(TD_KSE, offsetof(struct thread, td_kse)); ASSYM(TD_KSTACK, offsetof(struct thread, td_kstack)); ASSYM(TD_MD_FLAGS, offsetof(struct thread, td_md.md_flags)); -ASSYM(TDS_RUNNING, TDS_RUNNING); ASSYM(KE_FLAGS, offsetof(struct kse, ke_flags)); ==== //depot/projects/pmap/sys/ia64/ia64/swtch.s#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/ia64/ia64/swtch.s,v 1.22 2002/06/29 18:26:18 julian Exp $ + * $FreeBSD: src/sys/ia64/ia64/swtch.s,v 1.23 2002/07/12 18:34:22 jhb Exp $ */ #include <machine/asm.h> @@ -283,12 +283,6 @@ st8 [r14]=r4 // set r13->pc_curthread mov ar.k7=r4 ;; -// Julian's guess at settinghte thread state - add r15=TD_STATE,r4 - ;; - mov [r15]=TDS_RUNNING - ;; -// end of julian's guess add r15=TD_PCB,r4 ;; ld8 r15=[r15] ==== //depot/projects/pmap/sys/kern/kern_switch.c#7 (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/kern/kern_switch.c,v 1.30 2002/07/11 22:47:58 julian Exp $ + * $FreeBSD: src/sys/kern/kern_switch.c,v 1.32 2002/07/12 20:16:46 julian Exp $ */ /*** @@ -153,13 +153,12 @@ CTR2(KTR_RUNQ, "choosethread: td=%p pri=%d", td, td->td_priority); } else { - /* Pretend the idle thread was on the run queue. */ + /* Simulate runq_choose() having returned the idle thread */ td = PCPU_GET(idlethread); - /* Simulate that it was on the run queue */ - td->td_state = TDS_RUNQ; - td->td_kse->ke_state = KES_UNQUEUED; + td->td_kse->ke_state = KES_RUNNING; CTR1(KTR_RUNQ, "choosethread: td=%p (idle)", td); } + td->td_state = TDS_RUNNING; return (td); } ==== //depot/projects/pmap/sys/kern/kern_synch.c#6 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_synch.c 8.9 (Berkeley) 5/19/95 - * $FreeBSD: src/sys/kern/kern_synch.c,v 1.182 2002/07/06 08:47:24 julian Exp $ + * $FreeBSD: src/sys/kern/kern_synch.c,v 1.183 2002/07/12 20:17:06 dillon Exp $ */ #include "opt_ddb.h" @@ -892,6 +892,13 @@ if (PCPU_GET(switchtime.sec) == 0) binuptime(PCPU_PTR(switchtime)); PCPU_SET(switchticks, ticks); + + /* + * Call the switchin function while still holding the scheduler lock + * (used by the idlezero code and the general page-zeroing code) + */ + if (td->td_switchin) + td->td_switchin(); } /* ==== //depot/projects/pmap/sys/kern/sys_process.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/kern/sys_process.c,v 1.95 2002/06/29 17:26:18 julian Exp $ + * $FreeBSD: src/sys/kern/sys_process.c,v 1.97 2002/07/12 17:21:22 alc Exp $ */ #include <sys/param.h> @@ -268,7 +268,9 @@ /* * Wire the page into memory */ + vm_page_lock_queues(); vm_page_wire(m); + vm_page_unlock_queues(); /* * We're done with tmap now. @@ -290,7 +292,9 @@ /* * release the page and the object */ + vm_page_lock_queues(); vm_page_unwire(m, 1); + vm_page_unlock_queues(); vm_object_deallocate(object); object = NULL; @@ -334,7 +338,7 @@ } r; struct proc *curp, *p, *pp; struct thread *td2; - int error, write; + int error, write, tmp; int proctree_locked = 0; curp = td->td_proc; @@ -586,9 +590,9 @@ case PT_READ_I: case PT_READ_D: PROC_UNLOCK(p); + tmp = 0; /* write = 0 set above */ - iov.iov_base = write ? (caddr_t)&uap->data : - (caddr_t)td->td_retval; + iov.iov_base = write ? (caddr_t)&uap->data : (caddr_t)&tmp; iov.iov_len = sizeof(int); uio.uio_iov = &iov; uio.uio_iovcnt = 1; @@ -611,6 +615,8 @@ if (error == 0 || error == ENOSPC || error == EPERM) error = EINVAL; /* EOF */ } + if (!write) + td->td_retval[0] = tmp; return (error); case PT_IO: ==== //depot/projects/pmap/sys/netinet/udp_usrreq.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)udp_usrreq.c 8.6 (Berkeley) 5/23/95 - * $FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.116 2002/07/12 08:05:22 truckman Exp $ + * $FreeBSD: src/sys/netinet/udp_usrreq.c,v 1.117 2002/07/12 09:55:48 truckman Exp $ */ #include "opt_ipsec.h" @@ -681,13 +681,8 @@ INP_INFO_RLOCK(&udbinfo); inp = in_pcblookup_hash(&udbinfo, addrs[1].sin_addr, addrs[1].sin_port, addrs[0].sin_addr, addrs[0].sin_port, 1, NULL); - if (inp == NULL) { + if (inp == NULL || inp->inp_socket == NULL) { error = ENOENT; - goto outunlocked; - } - INP_LOCK(inp); - if (inp->inp_socket == NULL) { - error = ENOENT; goto out; } error = cr_canseesocket(req->td->td_ucred, inp->inp_socket); @@ -695,8 +690,6 @@ goto out; cru2x(inp->inp_socket->so_cred, &xuc); out: - INP_UNLOCK(inp); -outunlocked: INP_INFO_RUNLOCK(&udbinfo); splx(s); if (error == 0) ==== //depot/projects/pmap/sys/powerpc/powerpc/genassym.c#5 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 - * $FreeBSD: src/sys/powerpc/powerpc/genassym.c,v 1.44 2002/07/09 12:57:23 benno Exp $ + * $FreeBSD: src/sys/powerpc/powerpc/genassym.c,v 1.45 2002/07/12 18:34:22 jhb Exp $ */ #include <sys/param.h> @@ -140,8 +140,6 @@ ASSYM(TD_PROC, offsetof(struct thread, td_proc)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_KSE, offsetof(struct thread, td_kse)); -ASSYM(TD_STATE, offsetof(struct thread, td_state)); -ASSYM(TDS_RUNNING, TDS_RUNNING); ASSYM(P_VMSPACE, offsetof(struct proc, p_vmspace)); ==== //depot/projects/pmap/sys/powerpc/powerpc/swtch.s#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/powerpc/powerpc/swtch.s,v 1.15 2002/07/09 12:57:23 benno Exp $ */ +/* $FreeBSD: src/sys/powerpc/powerpc/swtch.s,v 1.16 2002/07/12 18:34:22 jhb Exp $ */ /* $NetBSD: locore.S,v 1.24 2000/05/31 05:09:17 thorpej Exp $ */ /* @@ -121,8 +121,6 @@ /* thread to restore is in r3 */ .L2: - li %r15,TDS_RUNNING - stw %r15,TD_STATE(%r3) /* Set KSE state */ lwz %r3, TD_PCB(%r3) lmw %r12,PCB_CONTEXT(%r3) /* Load the non-volatile GP regs */ mr %r2,%r12 ==== //depot/projects/pmap/sys/sparc64/include/smp.h#7 (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/sparc64/include/smp.h,v 1.11 2002/06/08 07:21:52 jake Exp $ + * $FreeBSD: src/sys/sparc64/include/smp.h,v 1.12 2002/07/12 16:26:49 tmm Exp $ */ #ifndef _MACHINE_SMP_H_ @@ -116,8 +116,8 @@ ica = &ipi_cache_args; ica->ica_mask = all_cpus; ica->ica_pa = pa; - cpu_ipi_selected(all_cpus, 0, (u_long)tl_ipi_dcache_page_inval, - (u_long)ica); + cpu_ipi_selected(PCPU_GET(other_cpus), 0, + (u_long)tl_ipi_dcache_page_inval, (u_long)ica); return (&ica->ica_mask); } @@ -131,8 +131,8 @@ ica = &ipi_cache_args; ica->ica_mask = all_cpus; ica->ica_pa = pa; - cpu_ipi_selected(all_cpus, 0, (u_long)tl_ipi_icache_page_inval, - (u_long)ica); + cpu_ipi_selected(PCPU_GET(other_cpus), 0, + (u_long)tl_ipi_icache_page_inval, (u_long)ica); return (&ica->ica_mask); } ==== //depot/projects/pmap/sys/sparc64/sparc64/genassym.c#8 (text+ko) ==== @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * from: @(#)genassym.c 5.11 (Berkeley) 5/10/91 - * $FreeBSD: src/sys/sparc64/sparc64/genassym.c,v 1.35 2002/06/29 17:26:21 julian Exp $ + * $FreeBSD: src/sys/sparc64/sparc64/genassym.c,v 1.36 2002/07/12 18:34:22 jhb Exp $ */ #include <sys/param.h> @@ -232,8 +232,6 @@ ASSYM(TD_KSTACK, offsetof(struct thread, td_kstack)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); -ASSYM(TD_STATE, offsetof(struct thread, td_state)); -ASSYM(TDS_RUNNING, TDS_RUNNING); ASSYM(PCB_SIZEOF, sizeof(struct pcb)); ASSYM(PCB_FPSTATE, offsetof(struct pcb, pcb_fpstate)); ==== //depot/projects/pmap/sys/sparc64/sparc64/swtch.s#7 (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/sparc64/sparc64/swtch.s,v 1.19 2002/06/29 17:26:21 julian Exp $ + * $FreeBSD: src/sys/sparc64/sparc64/swtch.s,v 1.20 2002/07/12 18:34:22 jhb Exp $ */ #include <machine/asmacros.h> @@ -109,9 +109,6 @@ stx %o0, [PCPU(CURTHREAD)] stx %o1, [PCPU(CURPCB)] - mov TDS_RUNNING, %o2 - stw %o2, [%o0 + TD_STATE] - SET(sched_lock, %o3, %o2) stx %o0, [%o2 + MTX_LOCK] ==== //depot/projects/pmap/sys/sys/proc.h#7 (text+ko) ==== @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $FreeBSD: src/sys/sys/proc.h,v 1.227 2002/07/08 01:49:49 peter Exp $ + * $FreeBSD: src/sys/sys/proc.h,v 1.228 2002/07/12 20:17:06 dillon Exp $ */ #ifndef _SYS_PROC_H_ @@ -285,6 +285,7 @@ int td_intr_nesting_level; /* (k) Interrupt recursion. */ void *td_mailbox; /* the userland mailbox address */ struct ucred *td_ucred; /* (k) Reference to credentials. */ + void (*td_switchin)(void); /* (k) switchin special func */ #define td_endzero td_md #define td_startcopy td_endzero ==== //depot/projects/pmap/sys/ufs/ffs/README.snapshot#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/ufs/ffs/README.snapshot,v 1.2 2001/04/14 18:32:09 mckusick Exp $ +$FreeBSD: src/sys/ufs/ffs/README.snapshot,v 1.3 2002/07/12 19:56:31 trhodes Exp $ Soft Updates Status @@ -30,7 +30,7 @@ root of each filesystem into which I can place snapshots. You may create up to 20 snapshots per filesystem. Active snapshots are recorded in the superblock, so they persist across unmount -and remount operations and across system reboots. When your +and remount operations and across system reboots. When you are done with a snapshot, it can be removed with the `rm' command. Snapshots may be removed in any order, however you may not get back all the space contained in the snapshot as ==== //depot/projects/pmap/sys/vm/vm_zeroidle.c#4 (text+ko) ==== @@ -7,7 +7,7 @@ * * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ - * $FreeBSD: src/sys/vm/vm_zeroidle.c,v 1.13 2002/07/08 23:12:37 peter Exp $ + * $FreeBSD: src/sys/vm/vm_zeroidle.c,v 1.14 2002/07/12 20:17:06 dillon Exp $ */ #include <sys/param.h> @@ -30,11 +30,7 @@ SYSCTL_INT(_vm_stats_misc, OID_AUTO, cnt_prezero, CTLFLAG_RD, &cnt_prezero, 0, ""); -#ifdef SMP -static int idlezero_enable = 0; -#else static int idlezero_enable = 1; -#endif SYSCTL_INT(_vm, OID_AUTO, idlezero_enable, CTLFLAG_RW, &idlezero_enable, 0, ""); TUNABLE_INT("vm.idlezero_enable", &idlezero_enable); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207122028.g6CKSuPv097710>