Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Mar 2008 17:58:23 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 138634 for review
Message-ID:  <200803261758.m2QHwNB5072448@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=138634

Change 138634 by peter@peter_overcee on 2008/03/26 17:57:29

	IFC @138629  (minus sched_ule and sched_4bsd)

Affected files ...

.. //depot/projects/bike_sched/sys/amd64/amd64/cpu_switch.S#3 integrate
.. //depot/projects/bike_sched/sys/amd64/amd64/genassym.c#3 integrate
.. //depot/projects/bike_sched/sys/amd64/amd64/nexus.c#4 integrate
.. //depot/projects/bike_sched/sys/amd64/amd64/pmap.c#8 integrate
.. //depot/projects/bike_sched/sys/amd64/amd64/prof_machdep.c#3 integrate
.. //depot/projects/bike_sched/sys/amd64/conf/NOTES#5 integrate
.. //depot/projects/bike_sched/sys/amd64/ia32/ia32_signal.c#4 integrate
.. //depot/projects/bike_sched/sys/amd64/include/clock.h#3 integrate
.. //depot/projects/bike_sched/sys/amd64/include/pcb.h#3 integrate
.. //depot/projects/bike_sched/sys/amd64/isa/atpic.c#4 integrate
.. //depot/projects/bike_sched/sys/amd64/isa/clock.c#4 integrate
.. //depot/projects/bike_sched/sys/arm/arm/elf_trampoline.c#4 integrate
.. //depot/projects/bike_sched/sys/arm/conf/AVILA#4 integrate
.. //depot/projects/bike_sched/sys/arm/conf/AVILA.hints#2 integrate
.. //depot/projects/bike_sched/sys/arm/xscale/ixp425/if_npe.c#3 integrate
.. //depot/projects/bike_sched/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate
.. //depot/projects/bike_sched/sys/boot/i386/cdboot/cdboot.s#3 integrate
.. //depot/projects/bike_sched/sys/boot/pc98/cdboot/cdboot.s#3 integrate
.. //depot/projects/bike_sched/sys/compat/freebsd32/freebsd32_proto.h#5 integrate
.. //depot/projects/bike_sched/sys/compat/freebsd32/freebsd32_syscall.h#6 integrate
.. //depot/projects/bike_sched/sys/compat/freebsd32/freebsd32_syscalls.c#6 integrate
.. //depot/projects/bike_sched/sys/compat/freebsd32/freebsd32_sysent.c#6 integrate
.. //depot/projects/bike_sched/sys/compat/freebsd32/syscalls.master#7 integrate
.. //depot/projects/bike_sched/sys/compat/linux/linux_file.c#5 integrate
.. //depot/projects/bike_sched/sys/compat/linux/linux_futex.c#3 integrate
.. //depot/projects/bike_sched/sys/compat/linux/linux_futex.h#2 integrate
.. //depot/projects/bike_sched/sys/compat/linux/linux_misc.c#6 integrate
.. //depot/projects/bike_sched/sys/compat/svr4/svr4_fcntl.c#5 integrate
.. //depot/projects/bike_sched/sys/conf/NOTES#6 integrate
.. //depot/projects/bike_sched/sys/conf/files#9 integrate
.. //depot/projects/bike_sched/sys/conf/options#6 integrate
.. //depot/projects/bike_sched/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate
.. //depot/projects/bike_sched/sys/ddb/db_command.c#5 integrate
.. //depot/projects/bike_sched/sys/ddb/db_ps.c#5 integrate
.. //depot/projects/bike_sched/sys/ddb/ddb.h#4 integrate
.. //depot/projects/bike_sched/sys/dev/aac/aac.c#5 integrate
.. //depot/projects/bike_sched/sys/dev/aac/aac_cam.c#5 integrate
.. //depot/projects/bike_sched/sys/dev/aac/aac_debug.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/aac/aac_disk.c#2 integrate
.. //depot/projects/bike_sched/sys/dev/aac/aac_pci.c#5 integrate
.. //depot/projects/bike_sched/sys/dev/aac/aacreg.h#3 integrate
.. //depot/projects/bike_sched/sys/dev/aac/aacvar.h#4 integrate
.. //depot/projects/bike_sched/sys/dev/ata/ata-raid.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/ath/if_ath.c#5 integrate
.. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_main.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_offload.h#3 integrate
.. //depot/projects/bike_sched/sys/dev/cxgb/cxgb_sge.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/dc/if_dc.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/dc/if_dcreg.h#4 integrate
.. //depot/projects/bike_sched/sys/dev/drm/drm_pciids.h#4 integrate
.. //depot/projects/bike_sched/sys/dev/drm/i915_dma.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/en/midway.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/fatm/if_fatm.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/firewire/if_fwe.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/firewire/if_fwip.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/fxp/if_fxp.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/gem/if_gem.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/gem/if_gem_pci.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/gem/if_gemreg.h#4 integrate
.. //depot/projects/bike_sched/sys/dev/gem/if_gemvar.h#4 integrate
.. //depot/projects/bike_sched/sys/dev/hwpmc/hwpmc_amd.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/iscsi/initiator/isc_soc.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/malo/if_malo.c#1 branch
.. //depot/projects/bike_sched/sys/dev/malo/if_malo.h#1 branch
.. //depot/projects/bike_sched/sys/dev/malo/if_malo_pci.c#1 branch
.. //depot/projects/bike_sched/sys/dev/malo/if_malohal.c#1 branch
.. //depot/projects/bike_sched/sys/dev/malo/if_malohal.h#1 branch
.. //depot/projects/bike_sched/sys/dev/malo/if_maloioctl.h#1 branch
.. //depot/projects/bike_sched/sys/dev/mfi/mfi.c#5 integrate
.. //depot/projects/bike_sched/sys/dev/re/if_re.c#5 integrate
.. //depot/projects/bike_sched/sys/dev/speaker/spkr.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/syscons/syscons.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/ti/if_ti.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/usb/ehci.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/usb/if_rum.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/usb/ohci.c#3 integrate
.. //depot/projects/bike_sched/sys/dev/usb/ucom.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/usb/ucomvar.h#3 integrate
.. //depot/projects/bike_sched/sys/dev/usb/usbdevs#6 integrate
.. //depot/projects/bike_sched/sys/dev/usb/usbdi.c#4 integrate
.. //depot/projects/bike_sched/sys/dev/usb/usbdi.h#3 integrate
.. //depot/projects/bike_sched/sys/dev/usb/usbdivar.h#3 integrate
.. //depot/projects/bike_sched/sys/fs/devfs/devfs_rule.c#3 integrate
.. //depot/projects/bike_sched/sys/fs/msdosfs/msdosfs_vfsops.c#4 integrate
.. //depot/projects/bike_sched/sys/fs/msdosfs/msdosfs_vnops.c#4 integrate
.. //depot/projects/bike_sched/sys/fs/tmpfs/tmpfs_vnops.c#3 integrate
.. //depot/projects/bike_sched/sys/geom/geom.h#5 integrate
.. //depot/projects/bike_sched/sys/geom/geom_subr.c#3 integrate
.. //depot/projects/bike_sched/sys/geom/part/g_part.c#3 integrate
.. //depot/projects/bike_sched/sys/geom/part/g_part.h#3 integrate
.. //depot/projects/bike_sched/sys/geom/part/g_part_apm.c#2 integrate
.. //depot/projects/bike_sched/sys/geom/part/g_part_bsd.c#2 integrate
.. //depot/projects/bike_sched/sys/geom/part/g_part_gpt.c#2 integrate
.. //depot/projects/bike_sched/sys/geom/part/g_part_mbr.c#3 integrate
.. //depot/projects/bike_sched/sys/geom/part/g_part_vtoc8.c#2 integrate
.. //depot/projects/bike_sched/sys/geom/vinum/geom_vinum_drive.c#3 integrate
.. //depot/projects/bike_sched/sys/i386/conf/NOTES#5 integrate
.. //depot/projects/bike_sched/sys/i386/i386/nexus.c#4 integrate
.. //depot/projects/bike_sched/sys/i386/i386/pmap.c#6 integrate
.. //depot/projects/bike_sched/sys/i386/ibcs2/ibcs2_fcntl.c#2 integrate
.. //depot/projects/bike_sched/sys/i386/include/clock.h#3 integrate
.. //depot/projects/bike_sched/sys/i386/include/vmparam.h#4 integrate
.. //depot/projects/bike_sched/sys/i386/isa/atpic.c#5 integrate
.. //depot/projects/bike_sched/sys/i386/isa/clock.c#4 integrate
.. //depot/projects/bike_sched/sys/i386/isa/prof_machdep.c#3 integrate
.. //depot/projects/bike_sched/sys/i386/isa/vesa.c#2 integrate
.. //depot/projects/bike_sched/sys/isa/syscons_isa.c#3 integrate
.. //depot/projects/bike_sched/sys/kern/bus_if.m#4 integrate
.. //depot/projects/bike_sched/sys/kern/init_sysent.c#8 integrate
.. //depot/projects/bike_sched/sys/kern/kern_cpuset.c#2 integrate
.. //depot/projects/bike_sched/sys/kern/kern_descrip.c#7 integrate
.. //depot/projects/bike_sched/sys/kern/kern_exit.c#4 integrate
.. //depot/projects/bike_sched/sys/kern/kern_fork.c#10 integrate
.. //depot/projects/bike_sched/sys/kern/kern_kthread.c#4 integrate
.. //depot/projects/bike_sched/sys/kern/kern_lockf.c#3 integrate
.. //depot/projects/bike_sched/sys/kern/kern_proc.c#6 integrate
.. //depot/projects/bike_sched/sys/kern/kern_resource.c#7 integrate
.. //depot/projects/bike_sched/sys/kern/kern_sig.c#7 integrate
.. //depot/projects/bike_sched/sys/kern/kern_switch.c#14 integrate
.. //depot/projects/bike_sched/sys/kern/kern_thr.c#7 integrate
.. //depot/projects/bike_sched/sys/kern/kern_thread.c#14 integrate
.. //depot/projects/bike_sched/sys/kern/kern_timeout.c#4 integrate
.. //depot/projects/bike_sched/sys/kern/makesyscalls.sh#3 integrate
.. //depot/projects/bike_sched/sys/kern/subr_bus.c#6 integrate
.. //depot/projects/bike_sched/sys/kern/subr_mchain.c#2 integrate
.. //depot/projects/bike_sched/sys/kern/subr_sleepqueue.c#5 integrate
.. //depot/projects/bike_sched/sys/kern/subr_taskqueue.c#3 integrate
.. //depot/projects/bike_sched/sys/kern/subr_trap.c#9 integrate
.. //depot/projects/bike_sched/sys/kern/sys_generic.c#5 integrate
.. //depot/projects/bike_sched/sys/kern/sys_process.c#5 integrate
.. //depot/projects/bike_sched/sys/kern/syscalls.c#7 integrate
.. //depot/projects/bike_sched/sys/kern/syscalls.master#9 integrate
.. //depot/projects/bike_sched/sys/kern/systrace_args.c#4 integrate
.. //depot/projects/bike_sched/sys/kern/tty.c#5 integrate
.. //depot/projects/bike_sched/sys/kern/uipc_mbuf.c#5 integrate
.. //depot/projects/bike_sched/sys/kern/uipc_socket.c#7 integrate
.. //depot/projects/bike_sched/sys/kern/uipc_syscalls.c#6 integrate
.. //depot/projects/bike_sched/sys/kern/vfs_bio.c#5 integrate
.. //depot/projects/bike_sched/sys/kern/vfs_cluster.c#3 integrate
.. //depot/projects/bike_sched/sys/kern/vfs_default.c#4 integrate
.. //depot/projects/bike_sched/sys/kern/vfs_mount.c#5 integrate
.. //depot/projects/bike_sched/sys/kern/vfs_subr.c#7 integrate
.. //depot/projects/bike_sched/sys/kern/vfs_vnops.c#5 integrate
.. //depot/projects/bike_sched/sys/kern/vnode_if.src#4 integrate
.. //depot/projects/bike_sched/sys/modules/geom/geom_part/Makefile#2 integrate
.. //depot/projects/bike_sched/sys/modules/geom/geom_part/geom_part_apm/Makefile#1 branch
.. //depot/projects/bike_sched/sys/modules/geom/geom_part/geom_part_bsd/Makefile#1 branch
.. //depot/projects/bike_sched/sys/modules/geom/geom_part/geom_part_gpt/Makefile#1 branch
.. //depot/projects/bike_sched/sys/modules/geom/geom_part/geom_part_mbr/Makefile#1 branch
.. //depot/projects/bike_sched/sys/modules/geom/geom_part/geom_part_vtoc8/Makefile#1 branch
.. //depot/projects/bike_sched/sys/modules/malo/Makefile#1 branch
.. //depot/projects/bike_sched/sys/net/bpf.c#7 integrate
.. //depot/projects/bike_sched/sys/net/bpf.h#5 integrate
.. //depot/projects/bike_sched/sys/net/bpf_buffer.c#1 branch
.. //depot/projects/bike_sched/sys/net/bpf_buffer.h#1 branch
.. //depot/projects/bike_sched/sys/net/bpf_zerocopy.c#1 branch
.. //depot/projects/bike_sched/sys/net/bpf_zerocopy.h#1 branch
.. //depot/projects/bike_sched/sys/net/bpfdesc.h#3 integrate
.. //depot/projects/bike_sched/sys/net/if.c#7 integrate
.. //depot/projects/bike_sched/sys/net/if_ef.c#2 integrate
.. //depot/projects/bike_sched/sys/net/if_enc.c#6 integrate
.. //depot/projects/bike_sched/sys/net/if_ethersubr.c#4 integrate
.. //depot/projects/bike_sched/sys/net/if_fddisubr.c#3 integrate
.. //depot/projects/bike_sched/sys/net/if_gre.c#4 integrate
.. //depot/projects/bike_sched/sys/net/if_iso88025subr.c#3 integrate
.. //depot/projects/bike_sched/sys/net/if_loop.c#4 integrate
.. //depot/projects/bike_sched/sys/net/if_media.h#3 integrate
.. //depot/projects/bike_sched/sys/net/if_sl.c#3 integrate
.. //depot/projects/bike_sched/sys/net/if_var.h#5 integrate
.. //depot/projects/bike_sched/sys/net/raw_cb.c#2 integrate
.. //depot/projects/bike_sched/sys/netatalk/aarp.c#3 integrate
.. //depot/projects/bike_sched/sys/netatm/port.h#2 integrate
.. //depot/projects/bike_sched/sys/netgraph/ng_pptpgre.c#3 integrate
.. //depot/projects/bike_sched/sys/netgraph/ng_pptpgre.h#2 integrate
.. //depot/projects/bike_sched/sys/netgraph/ng_tee.c#3 integrate
.. //depot/projects/bike_sched/sys/netinet/in_pcb.c#6 integrate
.. //depot/projects/bike_sched/sys/netinet/in_pcb.h#4 integrate
.. //depot/projects/bike_sched/sys/netinet/ip_output.c#5 integrate
.. //depot/projects/bike_sched/sys/netinet/libalias/alias_irc.c#5 integrate
.. //depot/projects/bike_sched/sys/netinet6/ip6_output.c#5 integrate
.. //depot/projects/bike_sched/sys/netipsec/key.c#5 integrate
.. //depot/projects/bike_sched/sys/netipsec/xform_tcp.c#2 integrate
.. //depot/projects/bike_sched/sys/netncp/ncp_sock.c#4 integrate
.. //depot/projects/bike_sched/sys/netsmb/smb_iod.c#4 integrate
.. //depot/projects/bike_sched/sys/netsmb/smb_rq.c#3 integrate
.. //depot/projects/bike_sched/sys/netsmb/smb_trantcp.c#4 integrate
.. //depot/projects/bike_sched/sys/nfs/nfs_common.c#2 integrate
.. //depot/projects/bike_sched/sys/nfs4client/nfs4_vfsops.c#4 integrate
.. //depot/projects/bike_sched/sys/nfs4client/nfs4_vnops.c#5 integrate
.. //depot/projects/bike_sched/sys/nfsclient/krpc_subr.c#3 integrate
.. //depot/projects/bike_sched/sys/nfsclient/nfs_lock.c#3 integrate
.. //depot/projects/bike_sched/sys/nfsclient/nfs_socket.c#5 integrate
.. //depot/projects/bike_sched/sys/nfsclient/nfs_subs.c#4 integrate
.. //depot/projects/bike_sched/sys/nfsclient/nfs_vfsops.c#4 integrate
.. //depot/projects/bike_sched/sys/nfsclient/nfs_vnops.c#5 integrate
.. //depot/projects/bike_sched/sys/nfsserver/nfs_serv.c#5 integrate
.. //depot/projects/bike_sched/sys/nfsserver/nfs_srvcache.c#4 integrate
.. //depot/projects/bike_sched/sys/nfsserver/nfs_srvsock.c#3 integrate
.. //depot/projects/bike_sched/sys/nfsserver/nfs_srvsubs.c#5 integrate
.. //depot/projects/bike_sched/sys/nfsserver/nfs_syscalls.c#3 integrate
.. //depot/projects/bike_sched/sys/nlm/nlm.h#1 branch
.. //depot/projects/bike_sched/sys/nlm/nlm_prot.h#1 branch
.. //depot/projects/bike_sched/sys/nlm/nlm_prot_clnt.c#1 branch
.. //depot/projects/bike_sched/sys/nlm/nlm_prot_impl.c#1 branch
.. //depot/projects/bike_sched/sys/nlm/nlm_prot_server.c#1 branch
.. //depot/projects/bike_sched/sys/nlm/nlm_prot_svc.c#1 branch
.. //depot/projects/bike_sched/sys/nlm/nlm_prot_xdr.c#1 branch
.. //depot/projects/bike_sched/sys/nlm/sm_inter.h#1 branch
.. //depot/projects/bike_sched/sys/nlm/sm_inter_xdr.c#1 branch
.. //depot/projects/bike_sched/sys/pc98/cbus/clock.c#3 integrate
.. //depot/projects/bike_sched/sys/pc98/cbus/syscons_cbus.c#3 integrate
.. //depot/projects/bike_sched/sys/pc98/conf/NOTES#4 integrate
.. //depot/projects/bike_sched/sys/pci/if_mn.c#3 integrate
.. //depot/projects/bike_sched/sys/pci/if_rlreg.h#5 integrate
.. //depot/projects/bike_sched/sys/pci/if_xl.c#3 integrate
.. //depot/projects/bike_sched/sys/pci/if_xlreg.h#3 integrate
.. //depot/projects/bike_sched/sys/rpc/auth.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/auth_none.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/auth_unix.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/authunix_prot.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/clnt.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/clnt_dg.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/clnt_rc.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/clnt_stat.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/clnt_vc.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/getnetconfig.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/inet_ntop.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/inet_pton.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/netconfig.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/nettype.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/pmap_prot.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpc.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpc_callmsg.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpc_com.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpc_generic.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpc_msg.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpc_prot.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpcb_clnt.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpcb_clnt.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpcb_prot.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpcb_prot.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/rpcclnt.c#3 integrate
.. //depot/projects/bike_sched/sys/rpc/svc.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/svc.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/svc_auth.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/svc_auth.h#1 branch
.. //depot/projects/bike_sched/sys/rpc/svc_auth_unix.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/svc_dg.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/svc_generic.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/svc_vc.c#1 branch
.. //depot/projects/bike_sched/sys/rpc/types.h#2 integrate
.. //depot/projects/bike_sched/sys/rpc/xdr.h#1 branch
.. //depot/projects/bike_sched/sys/sparc64/include/atomic.h#3 integrate
.. //depot/projects/bike_sched/sys/sparc64/include/bus.h#4 integrate
.. //depot/projects/bike_sched/sys/sparc64/sparc64/bus_machdep.c#3 integrate
.. //depot/projects/bike_sched/sys/sun4v/include/atomic.h#3 integrate
.. //depot/projects/bike_sched/sys/sun4v/include/cpu.h#2 integrate
.. //depot/projects/bike_sched/sys/sun4v/sun4v/intr_machdep.c#3 integrate
.. //depot/projects/bike_sched/sys/sys/aac_ioctl.h#2 integrate
.. //depot/projects/bike_sched/sys/sys/buf.h#4 integrate
.. //depot/projects/bike_sched/sys/sys/bufobj.h#4 integrate
.. //depot/projects/bike_sched/sys/sys/bus.h#5 integrate
.. //depot/projects/bike_sched/sys/sys/cdefs.h#4 integrate
.. //depot/projects/bike_sched/sys/sys/cpuset.h#2 integrate
.. //depot/projects/bike_sched/sys/sys/eventhandler.h#4 integrate
.. //depot/projects/bike_sched/sys/sys/fcntl.h#3 integrate
.. //depot/projects/bike_sched/sys/sys/lockf.h#3 integrate
.. //depot/projects/bike_sched/sys/sys/mbuf.h#4 integrate
.. //depot/projects/bike_sched/sys/sys/param.h#4 integrate
.. //depot/projects/bike_sched/sys/sys/proc.h#13 integrate
.. //depot/projects/bike_sched/sys/sys/runq.h#4 integrate
.. //depot/projects/bike_sched/sys/sys/sched.h#10 integrate
.. //depot/projects/bike_sched/sys/sys/syscall.h#7 integrate
.. //depot/projects/bike_sched/sys/sys/syscall.mk#7 integrate
.. //depot/projects/bike_sched/sys/sys/sysctl.h#5 integrate
.. //depot/projects/bike_sched/sys/sys/sysproto.h#7 integrate
.. //depot/projects/bike_sched/sys/sys/taskqueue.h#3 integrate
.. //depot/projects/bike_sched/sys/sys/vnode.h#4 integrate
.. //depot/projects/bike_sched/sys/ufs/ffs/ffs_inode.c#3 integrate
.. //depot/projects/bike_sched/sys/ufs/ffs/ffs_rawread.c#4 integrate
.. //depot/projects/bike_sched/sys/ufs/ffs/ffs_snapshot.c#4 integrate
.. //depot/projects/bike_sched/sys/ufs/ffs/ffs_softdep.c#5 integrate
.. //depot/projects/bike_sched/sys/ufs/ffs/ffs_vfsops.c#5 integrate
.. //depot/projects/bike_sched/sys/ufs/ffs/ffs_vnops.c#4 integrate
.. //depot/projects/bike_sched/sys/ufs/ufs/ufs_vnops.c#4 integrate
.. //depot/projects/bike_sched/sys/vm/vm_glue.c#7 integrate
.. //depot/projects/bike_sched/sys/vm/vm_meter.c#6 integrate
.. //depot/projects/bike_sched/sys/vm/vm_mmap.c#6 integrate
.. //depot/projects/bike_sched/sys/vm/vm_page.c#6 integrate
.. //depot/projects/bike_sched/sys/vm/vm_page.h#4 integrate
.. //depot/projects/bike_sched/sys/vm/vm_pageout.c#4 integrate
.. //depot/projects/bike_sched/sys/xdr/xdr.c#1 branch
.. //depot/projects/bike_sched/sys/xdr/xdr_array.c#1 branch
.. //depot/projects/bike_sched/sys/xdr/xdr_mbuf.c#1 branch
.. //depot/projects/bike_sched/sys/xdr/xdr_mem.c#1 branch
.. //depot/projects/bike_sched/sys/xdr/xdr_reference.c#1 branch
.. //depot/projects/bike_sched/sys/xdr/xdr_sizeof.c#1 branch

Differences ...

==== //depot/projects/bike_sched/sys/amd64/amd64/cpu_switch.S#3 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.160 2007/08/22 05:06:14 jkoshy Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.161 2008/03/23 23:09:06 peter Exp $
  */
 
 #include <machine/asmacros.h>
@@ -69,16 +69,20 @@
  * %rsi = newtd
  */
 ENTRY(cpu_throw)
+	testq	%rdi,%rdi
+	jnz	1f
+	movq	PCPU(IDLETHREAD),%rdi
+1:
+	movq	TD_PCB(%rdi),%r8		/* Old pcb */
 	movl	PCPU(CPUID), %eax
-	testq	%rdi,%rdi			/* no thread? */
-	jz	1f
+	movq	PCB_FSBASE(%r8),%r9
+	movq	PCB_GSBASE(%r8),%r10
 	/* release bit from old pm_active */
 	movq	TD_PROC(%rdi), %rdx		/* oldtd->td_proc */
 	movq	P_VMSPACE(%rdx), %rdx		/* proc->p_vmspace */
 	LK btrl	%eax, VM_PMAP+PM_ACTIVE(%rdx)	/* clear old */
-1:
-	movq	TD_PCB(%rsi),%rdx		/* newtd->td_proc */
-	movq	PCB_CR3(%rdx),%rdx
+	movq	TD_PCB(%rsi),%r8		/* newtd->td_proc */
+	movq	PCB_CR3(%r8),%rdx
 	movq	%rdx,%cr3			/* new address space */
 	jmp	swact
 END(cpu_throw)
@@ -97,43 +101,24 @@
 	movq	TD_PCB(%rdi),%r8
 
 	movq	(%rsp),%rax			/* Hardware registers */
+	movq	%r15,PCB_R15(%r8)
+	movq	%r14,PCB_R14(%r8)
+	movq	%r13,PCB_R13(%r8)
+	movq	%r12,PCB_R12(%r8)
+	movq	%rbp,PCB_RBP(%r8)
+	movq	%rsp,PCB_RSP(%r8)
+	movq	%rbx,PCB_RBX(%r8)
 	movq	%rax,PCB_RIP(%r8)
-	movq	%rbx,PCB_RBX(%r8)
-	movq	%rsp,PCB_RSP(%r8)
-	movq	%rbp,PCB_RBP(%r8)
-	movq	%r12,PCB_R12(%r8)
-	movq	%r13,PCB_R13(%r8)
-	movq	%r14,PCB_R14(%r8)
-	movq	%r15,PCB_R15(%r8)
+	movq	PCB_FSBASE(%r8),%r9
+	movq	PCB_GSBASE(%r8),%r10
 
 	testl	$PCB_32BIT,PCB_FLAGS(%r8)
-	jz	1f				/* no, skip over */
-
-	/* Save userland %gs */
-	movl	%gs,PCB_GS(%r8)
-	movq	PCB_GS32P(%r8),%rax
-	movq	(%rax),%rax
-	movq	%rax,PCB_GS32SD(%r8)
+	jnz	store_gs			/* static predict not taken */
+done_store_gs:
 
-1:
-	/* Test if debug registers should be saved. */
 	testl	$PCB_DBREGS,PCB_FLAGS(%r8)
-	jz	1f				/* no, skip over */
-	movq	%dr7,%rax			/* yes, do the save */
-	movq	%rax,PCB_DR7(%r8)
-	andq	$0x0000fc00, %rax		/* disable all watchpoints */
-	movq	%rax,%dr7
-	movq	%dr6,%rax
-	movq	%rax,PCB_DR6(%r8)
-	movq	%dr3,%rax
-	movq	%rax,PCB_DR3(%r8)
-	movq	%dr2,%rax
-	movq	%rax,PCB_DR2(%r8)
-	movq	%dr1,%rax
-	movq	%rax,PCB_DR1(%r8)
-	movq	%dr0,%rax
-	movq	%rax,PCB_DR0(%r8)
-1:
+	jnz	store_dr			/* static predict not taken */
+done_store_dr:
 
 	/* have we used fp, and need a save? */
 	cmpq	%rdi,PCPU(FPCURTHREAD)
@@ -181,82 +166,138 @@
 	cmpq	%rcx, %rdx
 	pause
 	je	1b
-	lfence
 #endif
 	/*
 	 * At this point, we've switched address spaces and are ready
 	 * to load up the rest of the next context.
 	 */
-	movq	TD_PCB(%rsi),%r8
+
+	/* Skip loading user fsbase/gsbase for kthreads */
+	testl	$TDP_KTHREAD,TD_PFLAGS(%rsi)
+	jnz	do_kthread
 
+	cmpq	PCB_FSBASE(%r8),%r9
+	jz	1f
 	/* Restore userland %fs */
 	movl	$MSR_FSBASE,%ecx
 	movl	PCB_FSBASE(%r8),%eax
 	movl	PCB_FSBASE+4(%r8),%edx
 	wrmsr
+1:
 
+	cmpq	PCB_GSBASE(%r8),%r10
+	jz	2f
 	/* Restore userland %gs */
 	movl	$MSR_KGSBASE,%ecx
 	movl	PCB_GSBASE(%r8),%eax
 	movl	PCB_GSBASE+4(%r8),%edx
 	wrmsr
+2:
+do_tss:
 
 	/* Update the TSS_RSP0 pointer for the next interrupt */
 	movq	PCPU(TSSP), %rax
+	movq	%r8, PCPU(RSP0)
+	movq	%r8, PCPU(CURPCB)
 	addq	$COMMON_TSS_RSP0, %rax
-	leaq	-16(%r8), %rbx
-	movq	%rbx, (%rax)
-	movq	%rbx, PCPU(RSP0)
+	movq	%rsi, PCPU(CURTHREAD)		/* into next thread */
+	movq	%r8, (%rax)
 
-	movq	%r8, PCPU(CURPCB)
-	movq	%rsi, PCPU(CURTHREAD)		/* into next thread */
+	/* Test if debug registers should be restored. */
+	testl	$PCB_DBREGS,PCB_FLAGS(%r8)
+	jnz	load_dr				/* static predict not taken */
+done_load_dr:
 
 	testl	$PCB_32BIT,PCB_FLAGS(%r8)
-	jz	1f				/* no, skip over */
+	jnz	load_gs				/* static predict not taken */
+done_load_gs:
+
+	/* Restore context. */
+	movq	PCB_R15(%r8),%r15
+	movq	PCB_R14(%r8),%r14
+	movq	PCB_R13(%r8),%r13
+	movq	PCB_R12(%r8),%r12
+	movq	PCB_RBP(%r8),%rbp
+	movq	PCB_RSP(%r8),%rsp
+	movq	PCB_RBX(%r8),%rbx
+	movq	PCB_RIP(%r8),%rax
+	movq	%rax,(%rsp)
+	ret
+
+	/*
+	 * We order these strangely for several reasons.
+	 * 1: I wanted to use static branch prediction hints
+	 * 2: Most athlon64/opteron cpus don't have them.  They define
+	 *    a forward branch as 'predict not taken'.  Intel cores have
+	 *    the 'rep' prefix to invert this.
+	 * So, to make it work on both forms of cpu we do the detour.
+	 * We use jumps rather than call in order to avoid the stack.
+	 */
+
+do_kthread:
+	/*
+	 * Copy old fs/gsbase to new kthread pcb for future switches
+	 * This maintains curpcb->pcb_[fg]sbase as caches of the MSR
+	 */
+	movq	%r9,PCB_FSBASE(%r8)
+	movq	%r10,PCB_GSBASE(%r8)
+	jmp	do_tss
+
+store_gs:
+	movl	%gs,PCB_GS(%r8)
+	movq	PCB_GS32P(%r8),%rax
+	movq	(%rax),%rax
+	movq	%rax,PCB_GS32SD(%r8)
+	jmp	done_store_gs
 
+load_gs:
 	/* Restore userland %gs while preserving kernel gsbase */
 	movq	PCB_GS32P(%r8),%rax
-	movq	PCB_GS32SD(%r8),%rbx
-	movq	%rbx,(%rax)
+	movq	PCB_GS32SD(%r8),%rcx
+	movq	%rcx,(%rax)
 	movl	$MSR_GSBASE,%ecx
 	rdmsr
 	movl	PCB_GS(%r8),%gs
 	wrmsr
+	jmp	done_load_gs
 
-1:
-	/* Restore context. */
-	movq	PCB_RBX(%r8),%rbx
-	movq	PCB_RSP(%r8),%rsp
-	movq	PCB_RBP(%r8),%rbp
-	movq	PCB_R12(%r8),%r12
-	movq	PCB_R13(%r8),%r13
-	movq	PCB_R14(%r8),%r14
-	movq	PCB_R15(%r8),%r15
-	movq	PCB_RIP(%r8),%rax
-	movq	%rax,(%rsp)
+store_dr:
+	movq	%dr7,%rax			/* yes, do the save */
+	movq	%dr0,%r15
+	movq	%dr1,%r14
+	movq	%dr2,%r13
+	movq	%dr3,%r12
+	movq	%dr6,%r11
+	andq	$0x0000fc00, %rax		/* disable all watchpoints */
+	movq	%r15,PCB_DR0(%r8)
+	movq	%r14,PCB_DR1(%r8)
+	movq	%r13,PCB_DR2(%r8)
+	movq	%r12,PCB_DR3(%r8)
+	movq	%r11,PCB_DR6(%r8)
+	movq	%rax,PCB_DR7(%r8)
+	movq	%rax,%dr7
+	jmp	done_store_dr
 
-	/* Test if debug registers should be restored. */
-	testl	$PCB_DBREGS,PCB_FLAGS(%r8)
-	jz	1f
-	movq	PCB_DR6(%r8),%rax
-	movq	%rax,%dr6
-	movq	PCB_DR3(%r8),%rax
-	movq	%rax,%dr3
-	movq	PCB_DR2(%r8),%rax
-	movq	%rax,%dr2
-	movq	PCB_DR1(%r8),%rax
-	movq	%rax,%dr1
-	movq	PCB_DR0(%r8),%rax
-	movq	%rax,%dr0
-	/* But preserve reserved bits in %dr7 */
+load_dr:
 	movq	%dr7,%rax
+	movq	PCB_DR0(%r8),%r15
+	movq	PCB_DR1(%r8),%r14
+	movq	PCB_DR2(%r8),%r13
+	movq	PCB_DR3(%r8),%r12
+	movq	PCB_DR6(%r8),%r11
+	movq	PCB_DR7(%r8),%rcx
+	movq	%r15,%dr0
+	movq	%r14,%dr1
+	/* Preserve reserved bits in %dr7 */
 	andq	$0x0000fc00,%rax
-	movq	PCB_DR7(%r8),%rcx
 	andq	$~0x0000fc00,%rcx
+	movq	%r13,%dr2
+	movq	%r12,%dr3
 	orq	%rcx,%rax
+	movq	%r11,%dr6
 	movq	%rax,%dr7
-1:
-	ret
+	jmp	done_load_dr
+
 END(cpu_switch)
 	
 /*

==== //depot/projects/bike_sched/sys/amd64/amd64/genassym.c#3 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.166 2007/11/23 03:03:29 jkoshy Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.167 2008/03/23 22:46:37 peter Exp $");
 
 #include "opt_compat.h"
 #include "opt_kstack_pages.h"
@@ -86,6 +86,7 @@
 ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED);
 
 ASSYM(TDP_CALLCHAIN, TDP_CALLCHAIN);
+ASSYM(TDP_KTHREAD, TDP_KTHREAD);
 
 ASSYM(V_TRAP, offsetof(struct vmmeter, v_trap));
 ASSYM(V_SYSCALL, offsetof(struct vmmeter, v_syscall));

==== //depot/projects/bike_sched/sys/amd64/amd64/nexus.c#4 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.79 2008/03/13 20:39:03 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.80 2008/03/20 21:24:32 jhb Exp $");
 
 /*
  * This code implements a `root nexus' for Intel Architecture
@@ -87,6 +87,9 @@
 				int unit);
 static	struct resource *nexus_alloc_resource(device_t, device_t, int, int *,
 					      u_long, u_long, u_long, u_int);
+#ifdef SMP
+static	int nexus_bind_intr(device_t, device_t, struct resource *, int);
+#endif
 static	int nexus_config_intr(device_t, int, enum intr_trigger,
 			      enum intr_polarity);
 static	int nexus_activate_resource(device_t, device_t, int, int,
@@ -128,6 +131,9 @@
 	DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource),
 	DEVMETHOD(bus_setup_intr,	nexus_setup_intr),
 	DEVMETHOD(bus_teardown_intr,	nexus_teardown_intr),
+#ifdef SMP
+	DEVMETHOD(bus_bind_intr,	nexus_bind_intr),
+#endif
 	DEVMETHOD(bus_config_intr,	nexus_config_intr),
 	DEVMETHOD(bus_get_resource_list, nexus_get_reslist),
 	DEVMETHOD(bus_set_resource,	nexus_set_resource),
@@ -458,6 +464,14 @@
 	return (intr_remove_handler(ih));
 }
 
+#ifdef SMP
+static int
+nexus_bind_intr(device_t dev, device_t child, struct resource *irq, int cpu)
+{
+	return (intr_bind(rman_get_start(irq), cpu));
+}
+#endif
+
 static int
 nexus_config_intr(device_t dev, int irq, enum intr_trigger trig,
     enum intr_polarity pol)

==== //depot/projects/bike_sched/sys/amd64/amd64/pmap.c#8 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.606 2008/03/04 18:50:15 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.609 2008/03/23 23:04:09 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -1861,12 +1861,8 @@
 			    ("pmap_collect: wired pte %#lx", tpte));
 			if (tpte & PG_A)
 				vm_page_flag_set(m, PG_REFERENCED);
-			if (tpte & PG_M) {
-				KASSERT((tpte & PG_RW),
-	("pmap_collect: modified page not writable: va: %#lx, pte: %#lx",
-				    va, tpte));
+			if ((tpte & (PG_M | PG_RW)) == (PG_M | PG_RW))
 				vm_page_dirty(m);
-			}
 			free = NULL;
 			pmap_unuse_pt(pmap, va, *pde, &free);
 			pmap_invalidate_page(pmap, va);
@@ -2311,12 +2307,8 @@
 		eva = sva + NBPDR;
 		for (va = sva, m = PHYS_TO_VM_PAGE(oldpde & PG_FRAME);
 		    va < eva; va += PAGE_SIZE, m++) {
-			if (oldpde & PG_M) {
-				KASSERT((oldpde & PG_RW) != 0,
-	("pmap_remove_pde: modified 2mpage not writable: va: %#lx, pde: %#lx",
-				    va, oldpde));
+			if ((oldpde & (PG_M | PG_RW)) == (PG_M | PG_RW))
 				vm_page_dirty(m);
-			}
 			if (oldpde & PG_A)
 				vm_page_flag_set(m, PG_REFERENCED);
 			if (TAILQ_EMPTY(&m->md.pv_list) &&
@@ -2364,12 +2356,8 @@
 	pmap->pm_stats.resident_count -= 1;
 	if (oldpte & PG_MANAGED) {
 		m = PHYS_TO_VM_PAGE(oldpte & PG_FRAME);
-		if (oldpte & PG_M) {
-			KASSERT((oldpte & PG_RW),
-	("pmap_remove_pte: modified page not writable: va: %#lx, pte: %#lx",
-			    va, oldpte));
+		if ((oldpte & (PG_M | PG_RW)) == (PG_M | PG_RW))
 			vm_page_dirty(m);
-		}
 		if (oldpte & PG_A)
 			vm_page_flag_set(m, PG_REFERENCED);
 		pmap_remove_entry(pmap, m, va);
@@ -2444,12 +2432,16 @@
 		pml4e = pmap_pml4e(pmap, sva);
 		if ((*pml4e & PG_V) == 0) {
 			va_next = (sva + NBPML4) & ~PML4MASK;
+			if (va_next < sva)
+				va_next = eva;
 			continue;
 		}
 
 		pdpe = pmap_pml4e_to_pdpe(pml4e, sva);
 		if ((*pdpe & PG_V) == 0) {
 			va_next = (sva + NBPDP) & ~PDPMASK;
+			if (va_next < sva)
+				va_next = eva;
 			continue;
 		}
 
@@ -2457,6 +2449,8 @@
 		 * Calculate index for next page table.
 		 */
 		va_next = (sva + NBPDR) & ~PDRMASK;
+		if (va_next < sva)
+			va_next = eva;
 
 		pde = pmap_pdpe_to_pde(pdpe, sva);
 		ptpaddr = *pde;
@@ -2575,12 +2569,8 @@
 		/*
 		 * Update the vm_page_t clean and reference bits.
 		 */
-		if (tpte & PG_M) {
-			KASSERT((tpte & PG_RW),
-	("pmap_remove_all: modified page not writable: va: %#lx, pte: %#lx",
-			    pv->pv_va, tpte));
+		if ((tpte & (PG_M | PG_RW)) == (PG_M | PG_RW))
 			vm_page_dirty(m);
-		}
 		free = NULL;
 		pmap_unuse_pt(pmap, pv->pv_va, *pde, &free);
 		pmap_invalidate_page(pmap, pv->pv_va);
@@ -2621,7 +2611,7 @@
 			 * page mapping with a stored page table page has PG_A
 			 * set.
 			 */
-			if ((oldpde & PG_M) != 0)
+			if ((oldpde & (PG_M | PG_RW)) == (PG_M | PG_RW))
 				vm_page_dirty(m);
 		}
 	}
@@ -2672,16 +2662,22 @@
 		pml4e = pmap_pml4e(pmap, sva);
 		if ((*pml4e & PG_V) == 0) {
 			va_next = (sva + NBPML4) & ~PML4MASK;
+			if (va_next < sva)
+				va_next = eva;
 			continue;
 		}
 
 		pdpe = pmap_pml4e_to_pdpe(pml4e, sva);
 		if ((*pdpe & PG_V) == 0) {
 			va_next = (sva + NBPDP) & ~PDPMASK;
+			if (va_next < sva)
+				va_next = eva;
 			continue;
 		}
 
 		va_next = (sva + NBPDR) & ~PDRMASK;
+		if (va_next < sva)
+			va_next = eva;
 
 		pde = pmap_pdpe_to_pde(pdpe, sva);
 		ptpaddr = *pde;
@@ -2733,7 +2729,7 @@
 					vm_page_flag_set(m, PG_REFERENCED);
 					pbits &= ~PG_A;
 				}
-				if ((pbits & PG_M) != 0) {
+				if ((pbits & (PG_M | PG_RW)) == (PG_M | PG_RW)) {
 					if (m == NULL)
 						m = PHYS_TO_VM_PAGE(pbits &
 						    PG_FRAME);
@@ -2806,12 +2802,15 @@
 			return;
 		}
 		if ((oldpte & (PG_M | PG_RW)) == PG_RW) {
+			/*
+			 * When PG_M is already clear, PG_RW can be cleared
+			 * without a TLB invalidation.
+			 */
 			if (!atomic_cmpset_long(pte, oldpte, oldpte & ~PG_RW))
 				goto retry;
 			oldpte &= ~PG_RW;
 			oldpteva = (oldpte & PG_FRAME & PDRMASK) |
 			    (va & ~PDRMASK);
-			pmap_invalidate_page(pmap, oldpteva);
 			CTR2(KTR_PMAP, "pmap_promote_pde: protect for va %#lx"
 			    " in pmap %p", oldpteva, pmap);
 		}
@@ -3023,10 +3022,7 @@
 				    PG_NX) == 0 && (newpte & PG_NX)))
 					invlva = TRUE;
 			}
-			if (origpte & PG_M) {
-				KASSERT((origpte & PG_RW),
-	("pmap_enter: modified page not writable: va: %#lx, pte: %#lx",
-				    va, origpte));
+			if ((origpte & (PG_M | PG_RW)) == (PG_M | PG_RW)) {
 				if ((origpte & PG_MANAGED) != 0)
 					vm_page_dirty(om);
 				if ((newpte & PG_RW) == 0)
@@ -3084,7 +3080,7 @@
 		newpde |= PG_MANAGED;
 
 		/*
-		 * Create a PV entry for each of the managed pages.
+		 * Abort this mapping if its PV entry could not be created.
 		 */
 		if (!pmap_pv_insert_pde(pmap, va, m)) {
 			free = NULL;
@@ -3485,16 +3481,22 @@
 		pml4e = pmap_pml4e(src_pmap, addr);
 		if ((*pml4e & PG_V) == 0) {
 			va_next = (addr + NBPML4) & ~PML4MASK;
+			if (va_next < addr)
+				va_next = end_addr;
 			continue;
 		}
 
 		pdpe = pmap_pml4e_to_pdpe(pml4e, addr);
 		if ((*pdpe & PG_V) == 0) {
 			va_next = (addr + NBPDP) & ~PDPMASK;
+			if (va_next < addr)
+				va_next = end_addr;
 			continue;
 		}
 
 		va_next = (addr + NBPDR) & ~PDRMASK;
+		if (va_next < addr)
+			va_next = end_addr;
 
 		pde = pmap_pdpe_to_pde(pdpe, addr);
 		srcptepaddr = *pde;
@@ -3797,10 +3799,7 @@
 				/*
 				 * Update the vm_page_t clean/reference bits.
 				 */
-				if (tpte & PG_M) {
-					KASSERT((tpte & PG_RW) != 0,
-	("pmap_remove_pages: modified page not writable: va: %#lx, pte: %#lx",
-					    pv->pv_va, tpte));
+				if ((tpte & (PG_M | PG_RW)) == (PG_M | PG_RW)) {
 					if ((tpte & PG_PS) != 0) {
 						for (mt = m; mt < &m[NBPDR / PAGE_SIZE]; mt++)
 							vm_page_dirty(mt);
@@ -3898,7 +3897,7 @@
 		pmap = PV_PMAP(pv);
 		PMAP_LOCK(pmap);
 		pte = pmap_pte(pmap, pv->pv_va);
-		rv = (*pte & PG_M) != 0;
+		rv = (*pte & (PG_M | PG_RW)) == (PG_M | PG_RW);
 		PMAP_UNLOCK(pmap);
 		if (rv)
 			break;
@@ -4106,9 +4105,7 @@
 					}
 				}
 			}
-		} else
-			KASSERT((oldpde & PG_M) == 0,
-			    ("pmap_clear_modify: modified page not writable"));
+		}
 		PMAP_UNLOCK(pmap);
 	}
 	TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
@@ -4118,7 +4115,7 @@
 		KASSERT((*pde & PG_PS) == 0, ("pmap_clear_modify: found"
 		    " a 2mpage in page %p's pv list", m));
 		pte = pmap_pde_to_pte(pde, pv->pv_va);
-		if (*pte & PG_M) {
+		if ((*pte & (PG_M | PG_RW)) == (PG_M | PG_RW)) {
 			atomic_clear_long(pte, PG_M);
 			pmap_invalidate_page(pmap, pv->pv_va);
 		}
@@ -4373,10 +4370,10 @@
 	pdep = pmap_pde(pmap, addr);
 	if (pdep != NULL && (*pdep & PG_V)) {
 		if (*pdep & PG_PS) {
-			KASSERT((*pdep & PG_FRAME & PDRMASK) == 0,
-			    ("pmap_mincore: bad pde"));
 			pte = *pdep;
-			pa = (*pdep & PG_FRAME) | (addr & PDRMASK);
+			/* Compute the physical address of the 4KB page. */
+			pa = ((*pdep & PG_PS_FRAME) | (addr & PDRMASK)) &
+			    PG_FRAME;
 		} else {
 			pte = *pmap_pde_to_pte(pdep, addr);
 			pa = pte & PG_FRAME;
@@ -4397,7 +4394,7 @@
 		/*
 		 * Modified by us
 		 */
-		if (pte & PG_M)
+		if ((pte & (PG_M | PG_RW)) == (PG_M | PG_RW))
 			val |= MINCORE_MODIFIED|MINCORE_MODIFIED_OTHER;
 		else {
 			/*

==== //depot/projects/bike_sched/sys/amd64/amd64/prof_machdep.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.31 2007/11/29 02:01:21 bde Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.32 2008/03/26 15:03:23 phk Exp $");
 
 #ifdef GUPROF
 #if 0
@@ -258,7 +258,7 @@
 	delta = prev_count - count;
 	prev_count = count;
 	if ((int) delta <= 0)
-		return (delta + (timer0_max_count << CPUTIME_CLOCK_I8254_SHIFT));
+		return (delta + (i8254_max_count << CPUTIME_CLOCK_I8254_SHIFT));
 	return (delta);
 }
 
@@ -323,7 +323,7 @@
 			cputime_clock = CPUTIME_CLOCK_TSC;
 #endif
 	}
-	gp->profrate = timer_freq << CPUTIME_CLOCK_I8254_SHIFT;
+	gp->profrate = i8254_freq << CPUTIME_CLOCK_I8254_SHIFT;
 #if defined(I586_CPU) || defined(I686_CPU)
 	if (cputime_clock == CPUTIME_CLOCK_TSC) {
 		gp->profrate = tsc_freq >> 1;

==== //depot/projects/bike_sched/sys/amd64/conf/NOTES#5 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.75 2008/02/03 07:07:30 scottl Exp $
+# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.76 2008/03/24 22:23:21 jkim Exp $
 #
 
 #
@@ -80,6 +80,10 @@
 
 options 	DEVICE_POLLING
 
+# BPF_JITTER adds support for BPF just-in-time compiler.
+
+options		BPF_JITTER
+
 
 #####################################################################
 # CLOCK OPTIONS

==== //depot/projects/bike_sched/sys/amd64/ia32/ia32_signal.c#4 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.16 2008/03/13 10:54:37 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_signal.c,v 1.17 2008/03/23 22:44:56 peter Exp $");
 
 #include "opt_compat.h"
 
@@ -715,10 +715,12 @@
 	struct trapframe *regs = td->td_frame;
 	struct pcb *pcb = td->td_pcb;
 	
+	critical_enter();
 	wrmsr(MSR_FSBASE, 0);
 	wrmsr(MSR_KGSBASE, 0);	/* User value while we're in the kernel */
 	pcb->pcb_fsbase = 0;
 	pcb->pcb_gsbase = 0;
+	critical_exit();
 	load_ds(_udatasel);
 	load_es(_udatasel);
 	load_fs(_udatasel);

==== //depot/projects/bike_sched/sys/amd64/include/clock.h#3 (text+ko) ====

@@ -3,7 +3,7 @@
  * Garrett Wollman, September 1994.
  * This file is in the public domain.
  *
- * $FreeBSD: src/sys/amd64/include/clock.h,v 1.55 2007/10/26 03:23:53 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/clock.h,v 1.57 2008/03/26 15:03:23 phk Exp $
  */
 
 #ifndef _MACHINE_CLOCK_H_
@@ -15,11 +15,9 @@
  * XXX large parts of the driver and its interface are misplaced.
  */
 extern int	clkintr_pending;

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803261758.m2QHwNB5072448>