PERFORCE change 138634 for review
Peter Wemm
peter at FreeBSD.org
Wed Mar 26 17:58:25 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=138634
Change 138634 by peter at 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) <<<
More information about the p4-projects
mailing list