Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jun 2007 09:38:09 GMT
From:      Paolo Pisati <piso@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 121049 for review
Message-ID:  <200706060938.l569c94C050085@repoman.freebsd.org>

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

Change 121049 by piso@piso_skytech on 2007/06/06 09:37:21

	IFC@121044

Affected files ...

.. //depot/projects/soc2006/intr_filter/amd64/amd64/cpu_switch.S#4 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/genassym.c#6 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#31 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/io_apic.c#7 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/machdep.c#12 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/mp_machdep.c#9 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/mp_watchdog.c#2 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/trap.c#11 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/tsc.c#3 integrate
.. //depot/projects/soc2006/intr_filter/amd64/amd64/vm_machdep.c#5 integrate
.. //depot/projects/soc2006/intr_filter/amd64/ia32/ia32_syscall.c#4 integrate
.. //depot/projects/soc2006/intr_filter/amd64/include/pcpu.h#4 integrate
.. //depot/projects/soc2006/intr_filter/amd64/include/vmparam.h#4 integrate
.. //depot/projects/soc2006/intr_filter/amd64/isa/clock.c#10 integrate
.. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_machdep.c#13 integrate
.. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#25 integrate
.. //depot/projects/soc2006/intr_filter/arm/arm/trap.c#5 integrate
.. //depot/projects/soc2006/intr_filter/arm/arm/undefined.c#3 integrate
.. //depot/projects/soc2006/intr_filter/arm/arm/vm_machdep.c#8 integrate
.. //depot/projects/soc2006/intr_filter/arm/at91/uart_cpu_at91rm9200usart.c#3 integrate
.. //depot/projects/soc2006/intr_filter/arm/include/pcpu.h#3 integrate
.. //depot/projects/soc2006/intr_filter/arm/include/vmparam.h#6 integrate
.. //depot/projects/soc2006/intr_filter/cam/cam_xpt.c#12 integrate
.. //depot/projects/soc2006/intr_filter/cam/scsi/scsi_all.c#4 integrate
.. //depot/projects/soc2006/intr_filter/compat/linprocfs/linprocfs.c#14 integrate
.. //depot/projects/soc2006/intr_filter/compat/ndis/subr_ntoskrnl.c#3 integrate
.. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_kstat.c#2 integrate
.. //depot/projects/soc2006/intr_filter/compat/opensolaris/kern/opensolaris_vfs.c#3 integrate
.. //depot/projects/soc2006/intr_filter/compat/opensolaris/sys/vfs.h#2 integrate
.. //depot/projects/soc2006/intr_filter/compat/svr4/svr4_misc.c#6 integrate
.. //depot/projects/soc2006/intr_filter/conf/Makefile.ia64#3 integrate
.. //depot/projects/soc2006/intr_filter/conf/NOTES#19 integrate
.. //depot/projects/soc2006/intr_filter/conf/files#21 integrate
.. //depot/projects/soc2006/intr_filter/conf/options#19 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/fil.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_auth.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_auth.h#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_compat.h#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_fil.h#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_fil_freebsd.c#4 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_frag.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_frag.h#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_ftp_pxy.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_htable.c#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_htable.h#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_ipsec_pxy.c#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_irc_pxy.c#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_log.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_lookup.c#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_lookup.h#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_nat.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_nat.h#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_pool.c#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_pool.h#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_pptp_pxy.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_proxy.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_proxy.h#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_raudio_pxy.c#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_rcmd_pxy.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_rpcb_pxy.c#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_scan.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_scan.h#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_state.c#4 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_state.h#2 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_sync.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_sync.h#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ipl.h#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/mlfk_ipl.c#3 integrate
.. //depot/projects/soc2006/intr_filter/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate
.. //depot/projects/soc2006/intr_filter/dev/acpi_support/acpi_asus.c#3 integrate
.. //depot/projects/soc2006/intr_filter/dev/acpi_support/acpi_panasonic.c#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/acpica/acpi_cpu.c#6 integrate
.. //depot/projects/soc2006/intr_filter/dev/acpica/acpi_ec.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/acpica/acpi_timer.c#3 integrate
.. //depot/projects/soc2006/intr_filter/dev/ath/if_ath.c#16 integrate
.. //depot/projects/soc2006/intr_filter/dev/bge/if_bge.c#19 integrate
.. //depot/projects/soc2006/intr_filter/dev/ciss/ciss.c#9 integrate
.. //depot/projects/soc2006/intr_filter/dev/cxgb/cxgb_main.c#4 integrate
.. //depot/projects/soc2006/intr_filter/dev/gem/if_gem.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/gem/if_gemreg.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/gem/if_gemvar.h#4 integrate
.. //depot/projects/soc2006/intr_filter/dev/hwpmc/hwpmc_mod.c#6 integrate
.. //depot/projects/soc2006/intr_filter/dev/md/md.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/mfi/mfi.c#14 integrate
.. //depot/projects/soc2006/intr_filter/dev/mfi/mfivar.h#6 integrate
.. //depot/projects/soc2006/intr_filter/dev/mii/ciphy.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/mii/ciphyreg.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/mii/miidevs#9 integrate
.. //depot/projects/soc2006/intr_filter/dev/mii/rlphy.c#7 integrate
.. //depot/projects/soc2006/intr_filter/dev/mmc/mmc.c#3 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi_cnfg.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi_init.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi_ioc.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi_log_fc.h#2 delete
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi_log_sas.h#2 delete
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi_raid.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi_sas.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpilib/mpi_targ.h#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpt.c#9 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpt.h#11 integrate
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpt_cam.c#15 integrate
.. //depot/projects/soc2006/intr_filter/dev/mxge/if_mxge.c#11 integrate
.. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbb.c#16 integrate
.. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbb_pci.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbbvar.h#10 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/clone.c#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pci/atiixp.c#7 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pci/emu10kx.c#8 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pci/envy24ht.c#7 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pci/es137x.c#7 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pci/hda/hdac.c#13 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pci/via8233.c#8 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/ac97.c#8 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/ac97_patch.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/channel.c#8 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/dsp.c#8 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/feeder.c#6 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/feeder_fmt.c#4 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/feeder_rate.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/feeder_volume.c#4 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/mixer.c#6 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/sndstat.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/sound.c#10 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/vchan.c#7 integrate
.. //depot/projects/soc2006/intr_filter/dev/sound/usb/uaudio_pcm.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/speaker/spkr.c#2 integrate
.. //depot/projects/soc2006/intr_filter/dev/syscons/syscons.c#5 integrate
.. //depot/projects/soc2006/intr_filter/dev/usb/uftdi.c#4 integrate
.. //depot/projects/soc2006/intr_filter/dev/usb/uplcom.c#8 integrate
.. //depot/projects/soc2006/intr_filter/dev/usb/usbdevs#16 integrate
.. //depot/projects/soc2006/intr_filter/dev/usb/uvscom.c#4 integrate
.. //depot/projects/soc2006/intr_filter/fs/msdosfs/msdosfs_vfsops.c#8 integrate
.. //depot/projects/soc2006/intr_filter/fs/nwfs/nwfs_io.c#3 integrate
.. //depot/projects/soc2006/intr_filter/fs/procfs/procfs_ctl.c#2 integrate
.. //depot/projects/soc2006/intr_filter/fs/procfs/procfs_ioctl.c#7 integrate
.. //depot/projects/soc2006/intr_filter/fs/procfs/procfs_status.c#4 integrate
.. //depot/projects/soc2006/intr_filter/fs/smbfs/smbfs_io.c#4 integrate
.. //depot/projects/soc2006/intr_filter/geom/cache/g_cache.c#2 integrate
.. //depot/projects/soc2006/intr_filter/geom/eli/g_eli.c#10 integrate
.. //depot/projects/soc2006/intr_filter/geom/geom_kern.c#2 integrate
.. //depot/projects/soc2006/intr_filter/geom/journal/g_journal.c#5 integrate
.. //depot/projects/soc2006/intr_filter/geom/mirror/g_mirror.c#7 integrate
.. //depot/projects/soc2006/intr_filter/geom/part/g_part.c#4 integrate
.. //depot/projects/soc2006/intr_filter/geom/part/g_part_apm.c#3 integrate
.. //depot/projects/soc2006/intr_filter/geom/part/g_part_gpt.c#3 integrate
.. //depot/projects/soc2006/intr_filter/geom/raid3/g_raid3.c#7 integrate
.. //depot/projects/soc2006/intr_filter/geom/stripe/g_stripe.c#3 integrate
.. //depot/projects/soc2006/intr_filter/gnu/fs/reiserfs/reiserfs_vfsops.c#5 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/elan-mmcr.c#4 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/genassym.c#5 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#38 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/io_apic.c#7 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/machdep.c#14 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/mp_clock.c#2 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/mp_machdep.c#10 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/mp_watchdog.c#2 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/swtch.s#3 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/trap.c#10 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/tsc.c#4 integrate
.. //depot/projects/soc2006/intr_filter/i386/i386/vm_machdep.c#6 integrate
.. //depot/projects/soc2006/intr_filter/i386/include/pcpu.h#4 integrate
.. //depot/projects/soc2006/intr_filter/i386/include/vmparam.h#5 integrate
.. //depot/projects/soc2006/intr_filter/i386/isa/clock.c#13 integrate
.. //depot/projects/soc2006/intr_filter/i386/isa/npx.c#6 integrate
.. //depot/projects/soc2006/intr_filter/i386/linux/linux_machdep.c#11 integrate
.. //depot/projects/soc2006/intr_filter/ia64/ia32/ia32_trap.c#4 integrate
.. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#28 integrate
.. //depot/projects/soc2006/intr_filter/ia64/ia64/machdep.c#9 integrate
.. //depot/projects/soc2006/intr_filter/ia64/ia64/mp_machdep.c#3 integrate
.. //depot/projects/soc2006/intr_filter/ia64/ia64/pmap.c#9 integrate
.. //depot/projects/soc2006/intr_filter/ia64/ia64/trap.c#8 integrate
.. //depot/projects/soc2006/intr_filter/ia64/ia64/vm_machdep.c#2 integrate
.. //depot/projects/soc2006/intr_filter/ia64/include/pcpu.h#4 integrate
.. //depot/projects/soc2006/intr_filter/kern/init_main.c#10 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_acct.c#8 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_alq.c#5 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_clock.c#8 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_condvar.c#6 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_cpu.c#3 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_exit.c#8 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_fork.c#12 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_idle.c#6 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#43 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_kse.c#7 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_kthread.c#3 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_lockf.c#2 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_mbuf.c#7 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_mutex.c#11 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_poll.c#4 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_proc.c#7 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_resource.c#12 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_rwlock.c#10 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_shutdown.c#4 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_sig.c#12 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_subr.c#6 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_switch.c#7 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_synch.c#12 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_sysctl.c#6 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_tc.c#4 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_thr.c#8 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_thread.c#10 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_time.c#10 integrate
.. //depot/projects/soc2006/intr_filter/kern/kern_umtx.c#7 integrate
.. //depot/projects/soc2006/intr_filter/kern/ksched.c#3 integrate
.. //depot/projects/soc2006/intr_filter/kern/sched_4bsd.c#11 integrate
.. //depot/projects/soc2006/intr_filter/kern/sched_core.c#7 delete
.. //depot/projects/soc2006/intr_filter/kern/sched_ule.c#14 integrate
.. //depot/projects/soc2006/intr_filter/kern/subr_lock.c#7 integrate
.. //depot/projects/soc2006/intr_filter/kern/subr_prof.c#4 integrate
.. //depot/projects/soc2006/intr_filter/kern/subr_sleepqueue.c#5 integrate
.. //depot/projects/soc2006/intr_filter/kern/subr_smp.c#3 integrate
.. //depot/projects/soc2006/intr_filter/kern/subr_taskqueue.c#3 integrate
.. //depot/projects/soc2006/intr_filter/kern/subr_trap.c#6 integrate
.. //depot/projects/soc2006/intr_filter/kern/subr_turnstile.c#8 integrate
.. //depot/projects/soc2006/intr_filter/kern/subr_witness.c#10 integrate
.. //depot/projects/soc2006/intr_filter/kern/sys_generic.c#10 integrate
.. //depot/projects/soc2006/intr_filter/kern/sys_process.c#5 integrate
.. //depot/projects/soc2006/intr_filter/kern/tty.c#6 integrate
.. //depot/projects/soc2006/intr_filter/kern/uipc_socket.c#16 integrate
.. //depot/projects/soc2006/intr_filter/net/if_fwsubr.c#4 integrate
.. //depot/projects/soc2006/intr_filter/net/if_media.h#3 integrate
.. //depot/projects/soc2006/intr_filter/net80211/_ieee80211.h#6 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211.c#8 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211.h#4 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_acl.c#2 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_crypto.c#3 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_crypto.h#3 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_crypto_ccmp.c#2 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_crypto_none.c#2 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_crypto_tkip.c#2 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_crypto_wep.c#2 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_freebsd.c#5 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_freebsd.h#5 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_input.c#11 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_ioctl.c#8 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_ioctl.h#4 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_node.c#7 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_node.h#3 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_output.c#9 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_proto.c#7 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_proto.h#6 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_var.h#8 integrate
.. //depot/projects/soc2006/intr_filter/net80211/ieee80211_xauth.c#2 integrate
.. //depot/projects/soc2006/intr_filter/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate
.. //depot/projects/soc2006/intr_filter/netgraph/ng_base.c#6 integrate
.. //depot/projects/soc2006/intr_filter/netgraph/ng_ppp.c#6 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_constants.h#10 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_indata.c#11 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_input.c#12 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_input.h#4 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_os_bsd.h#10 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_output.c#11 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_output.h#7 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_pcb.c#11 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_pcb.h#9 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_structs.h#10 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_sysctl.c#4 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_timer.c#9 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctp_usrreq.c#11 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctputil.c#12 integrate
.. //depot/projects/soc2006/intr_filter/netinet/sctputil.h#10 integrate
.. //depot/projects/soc2006/intr_filter/netinet/tcp_timewait.c#2 integrate
.. //depot/projects/soc2006/intr_filter/netinet6/frag6.c#4 integrate
.. //depot/projects/soc2006/intr_filter/netinet6/in6.c#10 integrate
.. //depot/projects/soc2006/intr_filter/netinet6/in6_ifattach.c#5 integrate
.. //depot/projects/soc2006/intr_filter/netinet6/in6_var.h#4 integrate
.. //depot/projects/soc2006/intr_filter/netinet6/ip6_var.h#3 integrate
.. //depot/projects/soc2006/intr_filter/netinet6/sctp6_usrreq.c#11 integrate
.. //depot/projects/soc2006/intr_filter/netncp/ncp_sock.c#4 integrate
.. //depot/projects/soc2006/intr_filter/netsmb/smb_trantcp.c#3 integrate
.. //depot/projects/soc2006/intr_filter/nfsclient/nfs_bio.c#5 integrate
.. //depot/projects/soc2006/intr_filter/pc98/cbus/clock.c#9 integrate
.. //depot/projects/soc2006/intr_filter/pc98/pc98/machdep.c#11 integrate
.. //depot/projects/soc2006/intr_filter/powerpc/include/pcpu.h#3 integrate
.. //depot/projects/soc2006/intr_filter/powerpc/powerpc/trap.c#6 integrate
.. //depot/projects/soc2006/intr_filter/powerpc/powerpc/vm_machdep.c#4 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit.c#8 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit.h#6 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit_arg.c#9 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit_bsm.c#5 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit_bsm_klib.c#4 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit_pipe.c#4 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit_private.h#6 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit_syscalls.c#8 integrate
.. //depot/projects/soc2006/intr_filter/security/audit/audit_worker.c#5 integrate
.. //depot/projects/soc2006/intr_filter/security/mac_lomac/mac_lomac.c#8 integrate
.. //depot/projects/soc2006/intr_filter/sparc64/include/pcpu.h#3 integrate
.. //depot/projects/soc2006/intr_filter/sparc64/include/vmparam.h#4 integrate
.. //depot/projects/soc2006/intr_filter/sparc64/sparc64/mp_machdep.c#4 integrate
.. //depot/projects/soc2006/intr_filter/sparc64/sparc64/pmap.c#8 integrate
.. //depot/projects/soc2006/intr_filter/sparc64/sparc64/trap.c#5 integrate
.. //depot/projects/soc2006/intr_filter/sparc64/sparc64/tsb.c#3 integrate
.. //depot/projects/soc2006/intr_filter/sparc64/sparc64/vm_machdep.c#2 integrate
.. //depot/projects/soc2006/intr_filter/sun4v/include/pcpu.h#6 integrate
.. //depot/projects/soc2006/intr_filter/sun4v/include/vmparam.h#4 integrate
.. //depot/projects/soc2006/intr_filter/sun4v/sun4v/mp_machdep.c#6 integrate
.. //depot/projects/soc2006/intr_filter/sun4v/sun4v/trap.c#7 integrate
.. //depot/projects/soc2006/intr_filter/sun4v/sun4v/vm_machdep.c#5 integrate
.. //depot/projects/soc2006/intr_filter/sys/mutex.h#10 integrate
.. //depot/projects/soc2006/intr_filter/sys/pcpu.h#6 integrate
.. //depot/projects/soc2006/intr_filter/sys/proc.h#13 integrate
.. //depot/projects/soc2006/intr_filter/sys/resourcevar.h#3 integrate
.. //depot/projects/soc2006/intr_filter/sys/sched.h#8 integrate
.. //depot/projects/soc2006/intr_filter/sys/sysctl.h#8 integrate
.. //depot/projects/soc2006/intr_filter/sys/turnstile.h#2 integrate
.. //depot/projects/soc2006/intr_filter/sys/umtx.h#7 integrate
.. //depot/projects/soc2006/intr_filter/ufs/ffs/ffs_snapshot.c#7 integrate
.. //depot/projects/soc2006/intr_filter/ufs/ufs/ufs_extattr.c#3 integrate
.. //depot/projects/soc2006/intr_filter/vm/swap_pager.c#10 integrate
.. //depot/projects/soc2006/intr_filter/vm/vm_fault.c#11 integrate
.. //depot/projects/soc2006/intr_filter/vm/vm_glue.c#6 integrate
.. //depot/projects/soc2006/intr_filter/vm/vm_meter.c#7 integrate
.. //depot/projects/soc2006/intr_filter/vm/vm_object.c#12 integrate
.. //depot/projects/soc2006/intr_filter/vm/vm_page.c#12 integrate
.. //depot/projects/soc2006/intr_filter/vm/vm_pageout.c#7 integrate
.. //depot/projects/soc2006/intr_filter/vm/vm_zeroidle.c#7 integrate
.. //depot/projects/soc2006/intr_filter/vm/vnode_pager.c#6 integrate

Differences ...

==== //depot/projects/soc2006/intr_filter/amd64/amd64/cpu_switch.S#4 (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.156 2007/03/30 00:06:20 jkim Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.158 2007/06/06 07:35:07 davidxu Exp $
  */
 
 #include <machine/asmacros.h>
@@ -73,19 +73,16 @@
 	movq	TD_PCB(%rsi),%rdx		/* newtd->td_proc */
 	movq	PCB_CR3(%rdx),%rdx
 	movq	%rdx,%cr3			/* new address space */
-	/* set bit in new pm_active */
-	movq	TD_PROC(%rsi),%rdx
-	movq	P_VMSPACE(%rdx), %rdx
-	LK btsl	%eax, VM_PMAP+PM_ACTIVE(%rdx)	/* set new */
-	jmp	sw1
+	jmp	swact
 
 /*
- * cpu_switch(old, new)
+ * cpu_switch(old, new, mtx)
  *
  * Save the current thread state, then select the next thread to run
  * and load its state.
  * %rdi = oldtd
  * %rsi = newtd
+ * %rdx = mtx
  */
 ENTRY(cpu_switch)
 	/* Switch to new thread.  First, save context. */
@@ -147,17 +144,33 @@
 	movq	TD_PCB(%rsi),%r8
 
 	/* switch address space */
-	movq	PCB_CR3(%r8),%rdx
+	movq	PCB_CR3(%r8),%rcx
 	movq	%cr3,%rax
-	cmpq	%rdx,%rax			/* Same address space? */
-	je	sw1
-	movq	%rdx,%cr3			/* new address space */
-
+	cmpq	%rcx,%rax			/* Same address space? */
+	jne	swinact
+	movq	%rdx, TD_LOCK(%rdi)		/* Release the old thread */
+	/* Wait for the new thread to become unblocked */
+	movq	$blocked_lock, %rdx
+1:
+	movq	TD_LOCK(%rsi),%rcx
+	cmpq	%rcx, %rdx
+	je	1b
+	jmp	sw1
+swinact:
+	movq	%rcx,%cr3			/* new address space */
 	movl	PCPU(CPUID), %eax
 	/* Release bit from old pmap->pm_active */
-	movq	TD_PROC(%rdi), %rdx		/* oldproc */
-	movq	P_VMSPACE(%rdx), %rdx
-	LK btrl	%eax, VM_PMAP+PM_ACTIVE(%rdx)	/* clear old */
+	movq	TD_PROC(%rdi), %rcx		/* oldproc */
+	movq	P_VMSPACE(%rcx), %rcx
+	LK btrl	%eax, VM_PMAP+PM_ACTIVE(%rcx)	/* clear old */
+	movq	%rdx, TD_LOCK(%rdi)		/* Release the old thread */
+swact:
+	/* Wait for the new thread to become unblocked */
+	movq	$blocked_lock, %rdx
+1:
+	movq	TD_LOCK(%rsi),%rcx
+	cmpq	%rcx, %rdx
+	je	1b
 
 	/* Set bit in new pmap->pm_active */
 	movq	TD_PROC(%rsi),%rdx		/* newproc */
@@ -190,9 +203,7 @@
 	movq	%rbx, (%rax)
 	movq	%rbx, PCPU(RSP0)
 
-	movl	TD_TID(%rsi), %eax
 	movq	%r8, PCPU(CURPCB)
-	movl	%eax, PCPU(CURTID)
 	movq	%rsi, PCPU(CURTHREAD)		/* into next thread */
 
 	testl	$PCB_32BIT,PCB_FLAGS(%r8)

==== //depot/projects/soc2006/intr_filter/amd64/amd64/genassym.c#6 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.161 2007/03/30 00:06:20 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.163 2007/06/06 07:35:07 davidxu Exp $");
 
 #include "opt_compat.h"
 #include "opt_kstack_pages.h"
@@ -76,6 +76,7 @@
 ASSYM(PM_ACTIVE, offsetof(struct pmap, pm_active));
 ASSYM(P_SFLAG, offsetof(struct proc, p_sflag));
 
+ASSYM(TD_LOCK, offsetof(struct thread, td_lock));
 ASSYM(TD_FLAGS, offsetof(struct thread, td_flags));
 ASSYM(TD_PCB, offsetof(struct thread, td_pcb));
 ASSYM(TD_PROC, offsetof(struct thread, td_proc));
@@ -193,7 +194,6 @@
 ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap));
 ASSYM(PC_TSSP, offsetof(struct pcpu, pc_tssp));
 ASSYM(PC_RSP0, offsetof(struct pcpu, pc_rsp0));
-ASSYM(PC_CURTID, offsetof(struct pcpu, pc_curtid));
  
 ASSYM(LA_VER, offsetof(struct LAPIC, version));
 ASSYM(LA_TPR, offsetof(struct LAPIC, tpr));

==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#31 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.33 2007/05/31 19:25:34 piso Exp $
+ * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.34 2007/06/04 21:38:44 attilio Exp $
  */
 
 /*
@@ -250,7 +250,7 @@
 	 * processed too.
 	 */
 	(*isrc->is_count)++;
-	PCPU_LAZY_INC(cnt.v_intr);
+	PCPU_INC(cnt.v_intr);
 
 	ie = isrc->is_event;
 
@@ -321,7 +321,7 @@
 	 * processed too.
 	 */
 	(*isrc->is_count)++;
-	PCPU_LAZY_INC(cnt.v_intr);
+	PCPU_INC(cnt.v_intr);
 
 	ie = isrc->is_event;
 

==== //depot/projects/soc2006/intr_filter/amd64/amd64/io_apic.c#7 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.30 2007/05/08 21:29:12 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.31 2007/06/05 18:57:48 jhb Exp $");
 
 #include "opt_isa.h"
 
@@ -492,7 +492,7 @@
 		intbase = next_ioapic_base;
 		printf("ioapic%u: Assuming intbase of %d\n", io->io_id,
 		    intbase);
-	} else if (intbase != next_ioapic_base)
+	} else if (intbase != next_ioapic_base && bootverbose)
 		printf("ioapic%u: WARNING: intbase %d != expected base %d\n",
 		    io->io_id, intbase, next_ioapic_base);
 	io->io_intbase = intbase;

==== //depot/projects/soc2006/intr_filter/amd64/amd64/machdep.c#12 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.672 2007/05/31 22:52:10 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.675 2007/06/06 07:35:07 davidxu Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -163,7 +163,13 @@
 long Maxmem = 0;
 long realmem = 0;
 
-#define PHYSMAP_SIZE	(2 * 30)
+/*
+ * The number of PHYSMAP entries must be one less than the number of
+ * PHYSSEG entries because the PHYSMAP entry that spans the largest
+ * physical address that is accessible by ISA DMA is split into two
+ * PHYSSEG entries.
+ */
+#define	PHYSMAP_SIZE	(2 * (VM_PHYSSEG_MAX - 1))
 
 vm_paddr_t phys_avail[PHYSMAP_SIZE + 2];
 vm_paddr_t dump_avail[PHYSMAP_SIZE + 2];
@@ -460,9 +466,9 @@
 
 #ifdef SMP
 	/* Schedule ourselves on the indicated cpu. */
-	mtx_lock_spin(&sched_lock);
+	thread_lock(curthread);
 	sched_bind(curthread, cpu_id);
-	mtx_unlock_spin(&sched_lock);
+	thread_unlock(curthread);
 #endif
 
 	/* Calibrate by measuring a short delay. */
@@ -473,9 +479,9 @@
 	intr_restore(reg);
 
 #ifdef SMP
-	mtx_lock_spin(&sched_lock);
+	thread_lock(curthread);
 	sched_unbind(curthread);
-	mtx_unlock_spin(&sched_lock);
+	thread_unlock(curthread);
 #endif
 
 	/*
@@ -1173,7 +1179,6 @@
 	PCPU_SET(prvspace, pc);
 	PCPU_SET(curthread, &thread0);
 	PCPU_SET(curpcb, thread0.td_pcb);
-	PCPU_SET(curtid, thread0.td_tid);
 	PCPU_SET(tssp, &common_tss[0]);
 
 	/*

==== //depot/projects/soc2006/intr_filter/amd64/amd64/mp_machdep.c#9 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.285 2007/05/19 05:03:59 kan Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.286 2007/06/04 23:56:07 jeff Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -46,6 +46,7 @@
 #include <sys/mutex.h>
 #include <sys/pcpu.h>
 #include <sys/proc.h>
+#include <sys/sched.h>
 #include <sys/smp.h>
 #include <sys/sysctl.h>
 
@@ -590,26 +591,8 @@
 	while (smp_started == 0)
 		ia32_pause();
 
-	/* ok, now grab sched_lock and enter the scheduler */
-	mtx_lock_spin(&sched_lock);
+	sched_throw(NULL);
 
-	/*
-	 * Correct spinlock nesting.  The idle thread context that we are
-	 * borrowing was created so that it would start out with a single
-	 * spin lock (sched_lock) held in fork_trampoline().  Since we've
-	 * explicitly acquired locks in this function, the nesting count
-	 * is now 2 rather than 1.  Since we are nested, calling
-	 * spinlock_exit() will simply adjust the counts without allowing
-	 * spin lock using code to interrupt us.
-	 */
-	spinlock_exit();
-	KASSERT(curthread->td_md.md_spinlock_count == 1, ("invalid count"));
-
-	PCPU_SET(switchtime, cpu_ticks());
-	PCPU_SET(switchticks, ticks);
-
-	cpu_throw(NULL, choosethread());	/* doesn't return */
-
 	panic("scheduler returned us to %s", __func__);
 	/* NOTREACHED */
 }
@@ -988,12 +971,12 @@
 
 	if (ipi_bitmap & (1 << IPI_PREEMPT)) {
 		struct thread *running_thread = curthread;
-		mtx_lock_spin(&sched_lock);
+		thread_lock(running_thread);
 		if (running_thread->td_critnest > 1) 
 			running_thread->td_owepreempt = 1;
 		else 		
 			mi_switch(SW_INVOL | SW_PREEMPT, NULL);
-		mtx_unlock_spin(&sched_lock);
+		thread_unlock(running_thread);
 	}
 
 	/* Nothing to do for AST */
@@ -1177,11 +1160,9 @@
 
 	if (mp_ncpus == 1) 
 		return;
-	mtx_lock_spin(&sched_lock);
 	atomic_store_rel_int(&aps_ready, 1);
 	while (smp_started == 0)
 		ia32_pause();
-	mtx_unlock_spin(&sched_lock);
 }
 SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL);
 

==== //depot/projects/soc2006/intr_filter/amd64/amd64/mp_watchdog.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/mp_watchdog.c,v 1.4 2005/02/28 08:55:53 pjd Exp $
+ * $FreeBSD: src/sys/amd64/amd64/mp_watchdog.c,v 1.5 2007/06/04 23:56:33 jeff Exp $
  */
 
 #include "opt_mp_watchdog.h"
@@ -105,9 +105,7 @@
 	 * locks to make sure.  Then reset the timer.
 	 */
 	mtx_lock(&Giant);
-	mtx_lock_spin(&sched_lock);
 	watchdog_timer = WATCHDOG_THRESHOLD;
-	mtx_unlock_spin(&sched_lock);
 	mtx_unlock(&Giant);
 	callout_reset(&watchdog_callout, 1 * hz, watchdog_function, NULL);
 }
@@ -156,34 +154,6 @@
     sysctl_watchdog, "I", "");
 
 /*
- * A badly behaved sysctl that leaks the sched lock when written to.  Then
- * spin holding it just to make matters worse.  This can be used to test the
- * effectiveness of the watchdog by generating a fairly hard and nast hang.
- * Note that Giant is also held in the current world order when we get here.
- */
-static int
-sysctl_leak_schedlock(SYSCTL_HANDLER_ARGS)
-{
-	int error, temp;
-
-	temp = 0;
-	error = sysctl_handle_int(oidp, &temp, 0, req);
-	if (error)
-		return (error);
-
-	if (req->newptr != NULL) {
-		if (temp) {
-			printf("Leaking the sched lock...\n");
-			mtx_lock_spin(&sched_lock);
-			while (1);
-		}
-	}
-	return (0);
-}
-SYSCTL_PROC(_debug, OID_AUTO, leak_schedlock, CTLTYPE_INT|CTLFLAG_RW, 0, 0,
-    sysctl_leak_schedlock, "IU", "");
-
-/*
  * Drop into the debugger by sending an IPI NMI to the boot processor.
  */
 static void

==== //depot/projects/soc2006/intr_filter/amd64/amd64/trap.c#11 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.316 2007/05/27 19:16:45 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.317 2007/06/04 21:38:44 attilio Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -163,7 +163,7 @@
 	register_t addr = 0;
 	ksiginfo_t ksi;
 
-	PCPU_LAZY_INC(cnt.v_trap);
+	PCPU_INC(cnt.v_trap);
 	type = frame->tf_trapno;
 
 #ifdef SMP
@@ -737,10 +737,10 @@
 	ksiginfo_t ksi;
 
 	/*
-	 * note: PCPU_LAZY_INC() can only be used if we can afford
+	 * note: PCPU_INC() can only be used if we can afford
 	 * occassional inaccuracy in the count.
 	 */
-	PCPU_LAZY_INC(cnt.v_syscall);
+	PCPU_INC(cnt.v_syscall);
 
 #ifdef DIAGNOSTIC
 	if (ISPL(frame->tf_cs) != SEL_UPL) {

==== //depot/projects/soc2006/intr_filter/amd64/amd64/tsc.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/tsc.c,v 1.207 2007/03/26 18:03:29 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/tsc.c,v 1.208 2007/06/04 18:25:01 dwmalone Exp $");
 
 #include "opt_clock.h"
 
@@ -204,7 +204,7 @@
 	if (tsc_timecounter.tc_frequency == 0)
 		return (EOPNOTSUPP);
 	freq = tsc_freq;
-	error = sysctl_handle_int(oidp, &freq, sizeof(freq), req);
+	error = sysctl_handle_quad(oidp, &freq, 0, req);
 	if (error == 0 && req->newptr != NULL) {
 		tsc_freq = freq;
 		tsc_timecounter.tc_frequency = tsc_freq;
@@ -212,8 +212,8 @@
 	return (error);
 }
 
-SYSCTL_PROC(_machdep, OID_AUTO, tsc_freq, CTLTYPE_LONG | CTLFLAG_RW,
-    0, sizeof(u_int), sysctl_machdep_tsc_freq, "IU", "");
+SYSCTL_PROC(_machdep, OID_AUTO, tsc_freq, CTLTYPE_QUAD | CTLFLAG_RW,
+    0, sizeof(u_int), sysctl_machdep_tsc_freq, "QU", "");
 
 static unsigned
 tsc_get_timecount(struct timecounter *tc)

==== //depot/projects/soc2006/intr_filter/amd64/amd64/vm_machdep.c#5 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.254 2007/04/24 21:17:45 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.255 2007/06/04 23:57:29 jeff Exp $");
 
 #include "opt_isa.h"
 #include "opt_cpu.h"
@@ -170,7 +170,7 @@
 	 * pcb2->pcb_[fg]sbase:	cloned above
 	 */
 
-	/* Setup to release sched_lock in fork_exit(). */
+	/* Setup to release spin count in fork_exit(). */
 	td2->td_md.md_spinlock_count = 1;
 	td2->td_md.md_saved_flags = PSL_KERNEL | PSL_I;
 
@@ -304,7 +304,7 @@
 	 * pcb2->pcb_[fg]sbase: cloned above
 	 */
 
-	/* Setup to release sched_lock in fork_exit(). */
+	/* Setup to release spin count in fork_exit(). */
 	td->td_md.md_spinlock_count = 1;
 	td->td_md.md_saved_flags = PSL_KERNEL | PSL_I;
 }

==== //depot/projects/soc2006/intr_filter/amd64/ia32/ia32_syscall.c#4 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.17 2006/12/17 06:48:39 kmacy Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.18 2007/06/04 21:38:45 attilio Exp $");
 
 /*
  * 386 Trap and System call handling
@@ -105,10 +105,10 @@
 	ksiginfo_t ksi;
 
 	/*
-	 * note: PCPU_LAZY_INC() can only be used if we can afford
+	 * note: PCPU_INC() can only be used if we can afford
 	 * occassional inaccuracy in the count.
 	 */
-	PCPU_LAZY_INC(cnt.v_syscall);
+	PCPU_INC(cnt.v_syscall);
 
 	td->td_pticks = 0;
 	td->td_frame = frame;

==== //depot/projects/soc2006/intr_filter/amd64/include/pcpu.h#4 (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/amd64/include/pcpu.h,v 1.47 2007/03/11 05:54:28 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.48 2007/06/04 21:38:45 attilio Exp $
  */
 
 #ifndef _MACHINE_PCPU_H_
@@ -56,7 +56,8 @@
 extern struct pcpu *pcpup;
 
 #define	PCPU_GET(member)	(pcpup->pc_ ## member)
-#define	PCPU_LAZY_INC(member)	(++pcpup->pc_ ## member)
+#define	PCPU_ADD(member, val)	(pcpup->pc_ ## member += (val))
+#define	PCPU_INC(member)	PCPU_ADD(member, 1)
 #define	PCPU_PTR(member)	(&pcpup->pc_ ## member)
 #define	PCPU_SET(member, val)	(pcpup->pc_ ## member = (val))
 
@@ -110,10 +111,31 @@
 })
 
 /*
+ * Adds the value to the per-cpu counter name.  The implementation
+ * must be atomic with respect to interrupts.
+ */
+#define	__PCPU_ADD(name, val) do {					\
+	__pcpu_type(name) __val;					\
+	struct __s {							\
+		u_char	__b[MIN(sizeof(__pcpu_type(name)), 8)];		\
+	} __s;								\
+									\
+	__val = (val);							\
+	if (sizeof(__val) == 1 || sizeof(__val) == 2 ||			\
+	    sizeof(__val) == 4 || sizeof(__val) == 8) {			\
+		__s = *(struct __s *)(void *)&__val;			\
+		__asm __volatile("add %1,%%gs:%0"			\
+		    : "=m" (*(struct __s *)(__pcpu_offset(name)))	\
+		    : "r" (__s));					\
+	} else								\
+		*__PCPU_PTR(name) += __val;				\
+} while (0)
+
+/*
  * Increments the value of the per-cpu counter name.  The implementation
  * must be atomic with respect to interrupts.
  */
-#define	__PCPU_LAZY_INC(name) do {					\
+#define	__PCPU_INC(name) do {						\
 	CTASSERT(sizeof(__pcpu_type(name)) == 1 ||			\
 	    sizeof(__pcpu_type(name)) == 2 ||				\
 	    sizeof(__pcpu_type(name)) == 4 ||				\
@@ -159,7 +181,8 @@
 }
 
 #define	PCPU_GET(member)	__PCPU_GET(pc_ ## member)
-#define	PCPU_LAZY_INC(member)	__PCPU_LAZY_INC(pc_ ## member)
+#define	PCPU_ADD(member, val)	__PCPU_ADD(pc_ ## member, val)
+#define	PCPU_INC(member)	__PCPU_INC(pc_ ## member)
 #define	PCPU_PTR(member)	__PCPU_PTR(pc_ ## member)
 #define	PCPU_SET(member, val)	__PCPU_SET(pc_ ## member, val)
 

==== //depot/projects/soc2006/intr_filter/amd64/include/vmparam.h#4 (text+ko) ====

@@ -38,7 +38,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)vmparam.h	5.9 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.47 2007/05/05 19:50:26 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.48 2007/06/03 23:18:29 alc Exp $
  */
 
 
@@ -93,6 +93,44 @@
 #define	VM_PHYSSEG_DENSE
 
 /*
+ * The number of PHYSSEG entries must be one greater than the number
+ * of phys_avail entries because the phys_avail entry that spans the
+ * largest physical address that is accessible by ISA DMA is split
+ * into two PHYSSEG entries. 
+ */
+#define	VM_PHYSSEG_MAX		31
+
+/*
+ * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool
+ * from which physical pages are allocated and VM_FREEPOOL_DIRECT is
+ * the pool from which physical pages for page tables and small UMA
+ * objects are allocated.
+ */
+#define	VM_NFREEPOOL		2
+#define	VM_FREEPOOL_DEFAULT	0
+#define	VM_FREEPOOL_DIRECT	1
+
+/*
+ * Create two free page lists: VM_FREELIST_DEFAULT is for physical
+ * pages that are above the largest physical address that is
+ * accessible by ISA DMA and VM_FREELIST_ISADMA is for physical pages
+ * that are below that address.
+ */
+#define	VM_NFREELIST		2
+#define	VM_FREELIST_DEFAULT	0
+#define	VM_FREELIST_ISADMA	1
+
+/*
+ * An allocation size of 16MB is supported in order to optimize the
+ * use of the direct map by UMA.  Specifically, a cache line contains
+ * at most 8 PDEs, collectively mapping 16MB of physical memory.  By
+ * reducing the number of distinct 16MB "pages" that are used by UMA,
+ * the physical memory allocator reduces the likelihood of both 2MB
+ * page TLB misses and cache misses caused by 2MB page TLB misses.
+ */
+#define	VM_NFREEORDER		13
+
+/*
  * Virtual addresses of things.  Derived from the page directory and
  * page table indexes from pmap.h for precision.
  * Because of the page that is both a PD and PT, it looks a little

==== //depot/projects/soc2006/intr_filter/amd64/isa/clock.c#10 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.230 2007/02/23 12:18:26 piso Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.231 2007/06/04 18:25:02 dwmalone Exp $");
 
 /*
  * Routines to handle clock hardware.
@@ -839,7 +839,7 @@
 	 * is is too generic.  Should use it everywhere.
 	 */
 	freq = timer_freq;
-	error = sysctl_handle_int(oidp, &freq, sizeof(freq), req);
+	error = sysctl_handle_int(oidp, &freq, 0, req);
 	if (error == 0 && req->newptr != NULL)
 		set_timer_freq(freq, hz);
 	return (error);

==== //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_machdep.c#13 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.43 2007/05/11 01:25:50 kan Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.44 2007/06/05 00:00:50 jeff Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -486,10 +486,10 @@
 	/*
 	 * Make this runnable after we are finished with it.
 	 */
-	mtx_lock_spin(&sched_lock);
+	thread_lock(td2);
 	TD_SET_CAN_RUN(td2);
 	sched_add(td2, SRQ_BORING);
-	mtx_unlock_spin(&sched_lock);
+	thread_unlock(td2);
 
 	return (0);
 }
@@ -529,10 +529,10 @@
 	/*
 	 * Make this runnable after we are finished with it.
 	 */
-	mtx_lock_spin(&sched_lock);
+	thread_lock(td2);
 	TD_SET_CAN_RUN(td2);
 	sched_add(td2, SRQ_BORING);
-	mtx_unlock_spin(&sched_lock);
+	thread_unlock(td2);
 
 	/* wait for the children to exit, ie. emulate vfork */
 	PROC_LOCK(p2);
@@ -715,10 +715,10 @@
 	/*
 	 * Make this runnable after we are finished with it.
 	 */
-	mtx_lock_spin(&sched_lock);
+	thread_lock(td2);
 	TD_SET_CAN_RUN(td2);
 	sched_add(td2, SRQ_BORING);
-	mtx_unlock_spin(&sched_lock);
+	thread_unlock(td2);
 
 	td->td_retval[0] = p2->p_pid;
 	td->td_retval[1] = 0;

==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#25 (text+ko) ====

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



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