From owner-p4-projects@FreeBSD.ORG Thu Jun 21 18:43:10 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA5BE1065674; Thu, 21 Jun 2012 18:43:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 87B14106566B for ; Thu, 21 Jun 2012 18:43:09 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 6E8338FC1A for ; Thu, 21 Jun 2012 18:43:09 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q5LIh9w0065966 for ; Thu, 21 Jun 2012 18:43:09 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q5LIgwK0065959 for perforce@freebsd.org; Thu, 21 Jun 2012 18:42:58 GMT (envelope-from jhb@freebsd.org) Date: Thu, 21 Jun 2012 18:42:58 GMT Message-Id: <201206211842.q5LIgwK0065959@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 213248 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jun 2012 18:43:10 -0000 http://p4web.freebsd.org/@@213248?ac=10 Change 213248 by jhb@jhb_jhbbsd on 2012/06/21 18:42:37 IFC @213247 Affected files ... .. //depot/projects/smpng/share/man/man9/rmlock.9#6 integrate .. //depot/projects/smpng/share/man/man9/rwlock.9#3 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_switch.S#7 delete .. //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#10 integrate .. //depot/projects/smpng/sys/amd64/acpica/acpi_wakeup.c#23 delete .. //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#33 integrate .. //depot/projects/smpng/sys/amd64/amd64/genassym.c#37 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#82 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#122 integrate .. //depot/projects/smpng/sys/amd64/amd64/trap.c#87 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#101 integrate .. //depot/projects/smpng/sys/amd64/include/pcb.h#24 integrate .. //depot/projects/smpng/sys/amd64/include/pmap.h#42 integrate .. //depot/projects/smpng/sys/amd64/include/smp.h#28 integrate .. //depot/projects/smpng/sys/arm/arm/bcopyinout_xscale.S#7 integrate .. //depot/projects/smpng/sys/arm/arm/bootconfig.c#3 integrate .. //depot/projects/smpng/sys/arm/arm/busdma_machdep.c#37 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc.c#24 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm.S#5 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm10.S#3 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm11.S#2 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm7tdmi.S#4 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm8.S#4 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm9.S#6 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_armv4.S#4 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_armv5.S#2 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_sa1.S#4 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_xscale.S#5 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_xscale_c3.S#2 integrate .. //depot/projects/smpng/sys/arm/arm/db_disasm.c#3 integrate .. //depot/projects/smpng/sys/arm/arm/db_interface.c#9 integrate .. //depot/projects/smpng/sys/arm/arm/db_trace.c#20 integrate .. //depot/projects/smpng/sys/arm/arm/disassem.c#3 integrate .. //depot/projects/smpng/sys/arm/arm/dump_machdep.c#10 integrate .. //depot/projects/smpng/sys/arm/arm/elf_trampoline.c#27 integrate .. //depot/projects/smpng/sys/arm/arm/exception.S#7 integrate .. //depot/projects/smpng/sys/arm/arm/gdb_machdep.c#4 integrate .. //depot/projects/smpng/sys/arm/arm/in_cksum.c#8 integrate .. //depot/projects/smpng/sys/arm/arm/intr.c#23 integrate .. //depot/projects/smpng/sys/arm/arm/irq_dispatch.S#8 integrate .. //depot/projects/smpng/sys/arm/arm/machdep.c#39 integrate .. //depot/projects/smpng/sys/arm/arm/mem.c#9 integrate .. //depot/projects/smpng/sys/arm/arm/nexus.c#17 integrate .. //depot/projects/smpng/sys/arm/arm/pmap.c#68 integrate .. //depot/projects/smpng/sys/arm/arm/support.S#15 integrate .. //depot/projects/smpng/sys/arm/arm/swtch.S#20 integrate .. //depot/projects/smpng/sys/arm/arm/sys_machdep.c#9 integrate .. //depot/projects/smpng/sys/arm/arm/trap.c#34 integrate .. //depot/projects/smpng/sys/arm/arm/undefined.c#18 integrate .. //depot/projects/smpng/sys/arm/arm/vectors.S#3 integrate .. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#38 integrate .. //depot/projects/smpng/sys/arm/at91/at91.c#24 integrate .. //depot/projects/smpng/sys/arm/at91/at91_machdep.c#10 integrate .. //depot/projects/smpng/sys/arm/at91/at91_mci.c#17 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pio.c#11 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pio_rm9200.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pit.c#4 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pitreg.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pmc.c#13 integrate .. //depot/projects/smpng/sys/arm/at91/at91_pmcvar.h#4 integrate .. //depot/projects/smpng/sys/arm/at91/at91_reset.S#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_rst.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_spi.c#12 integrate .. //depot/projects/smpng/sys/arm/at91/at91_ssc.c#8 integrate .. //depot/projects/smpng/sys/arm/at91/at91_st.c#13 integrate .. //depot/projects/smpng/sys/arm/at91/at91_wdtreg.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91reg.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91rm9200.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91rm92reg.h#10 integrate .. //depot/projects/smpng/sys/arm/at91/at91sam9260.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91sam9260reg.h#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91sam9g20.c#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91sam9g20reg.h#4 integrate .. //depot/projects/smpng/sys/arm/at91/at91var.h#6 integrate .. //depot/projects/smpng/sys/arm/at91/board_qila9g20.c#2 integrate .. //depot/projects/smpng/sys/arm/at91/board_sam9g20ek.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/files.at91#11 integrate .. //depot/projects/smpng/sys/arm/at91/files.at91sam9#4 delete .. //depot/projects/smpng/sys/arm/at91/if_macb.c#4 integrate .. //depot/projects/smpng/sys/arm/at91/std.at91#6 integrate .. //depot/projects/smpng/sys/arm/at91/std.at91sam9#4 integrate .. //depot/projects/smpng/sys/arm/at91/uart_cpu_at91rm9200usart.c#9 integrate .. //depot/projects/smpng/sys/arm/conf/AVILA#26 integrate .. //depot/projects/smpng/sys/arm/conf/BWCT#13 integrate .. //depot/projects/smpng/sys/arm/conf/CAMBRIA#18 integrate .. //depot/projects/smpng/sys/arm/conf/CNS11XXNAS#4 integrate .. //depot/projects/smpng/sys/arm/conf/CRB#11 integrate .. //depot/projects/smpng/sys/arm/conf/EP80219#15 integrate .. //depot/projects/smpng/sys/arm/conf/GUMSTIX#9 integrate .. //depot/projects/smpng/sys/arm/conf/GUMSTIX-QEMU#2 integrate .. //depot/projects/smpng/sys/arm/conf/HL200#15 integrate .. //depot/projects/smpng/sys/arm/conf/HL201#4 integrate .. //depot/projects/smpng/sys/arm/conf/IQ31244#24 integrate .. //depot/projects/smpng/sys/arm/conf/KB920X#23 integrate .. //depot/projects/smpng/sys/arm/conf/LN2410SBC#5 integrate .. //depot/projects/smpng/sys/arm/conf/NSLU#11 integrate .. //depot/projects/smpng/sys/arm/conf/QILA9G20#4 integrate .. //depot/projects/smpng/sys/arm/conf/QILA9G20.hints#2 integrate .. //depot/projects/smpng/sys/arm/conf/SAM9G20EK#4 integrate .. //depot/projects/smpng/sys/arm/conf/SAM9G20EK.hints#2 integrate .. //depot/projects/smpng/sys/arm/conf/SIMICS#20 integrate .. //depot/projects/smpng/sys/arm/econa/econa_machdep.c#4 integrate .. //depot/projects/smpng/sys/arm/include/armreg.h#11 integrate .. //depot/projects/smpng/sys/arm/include/asmacros.h#9 integrate .. //depot/projects/smpng/sys/arm/include/atags.h#1 branch .. //depot/projects/smpng/sys/arm/include/atomic.h#33 integrate .. //depot/projects/smpng/sys/arm/include/blockio.h#2 integrate .. //depot/projects/smpng/sys/arm/include/cpufunc.h#18 integrate .. //depot/projects/smpng/sys/arm/include/elf.h#12 integrate .. //depot/projects/smpng/sys/arm/include/endian.h#16 integrate .. //depot/projects/smpng/sys/arm/include/fdt.h#5 integrate .. //depot/projects/smpng/sys/arm/include/fp.h#3 integrate .. //depot/projects/smpng/sys/arm/include/frame.h#5 integrate .. //depot/projects/smpng/sys/arm/include/ieee.h#4 integrate .. //depot/projects/smpng/sys/arm/include/in_cksum.h#6 integrate .. //depot/projects/smpng/sys/arm/include/intr.h#13 integrate .. //depot/projects/smpng/sys/arm/include/katelib.h#3 integrate .. //depot/projects/smpng/sys/arm/include/machdep.h#4 integrate .. //depot/projects/smpng/sys/arm/include/param.h#17 integrate .. //depot/projects/smpng/sys/arm/include/pmap.h#36 integrate .. //depot/projects/smpng/sys/arm/include/pmc_mdep.h#6 integrate .. //depot/projects/smpng/sys/arm/include/profile.h#8 integrate .. //depot/projects/smpng/sys/arm/include/pte.h#5 integrate .. //depot/projects/smpng/sys/arm/include/resource.h#4 integrate .. //depot/projects/smpng/sys/arm/include/stack.h#2 integrate .. //depot/projects/smpng/sys/arm/include/vmparam.h#17 integrate .. //depot/projects/smpng/sys/arm/mv/mv_machdep.c#17 integrate .. //depot/projects/smpng/sys/arm/mv/mvwin.h#5 integrate .. //depot/projects/smpng/sys/arm/mv/std.mv#2 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c2410reg.h#2 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c2440reg.h#2 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0.c#3 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0_machdep.c#5 integrate .. //depot/projects/smpng/sys/arm/s3c2xx0/s3c24x0reg.h#3 integrate .. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#26 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0.c#12 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_gpioreg.h#3 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_io_asm.S#3 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_irq.S#7 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_ost.c#10 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_ostreg.h#3 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_var.h#5 integrate .. //depot/projects/smpng/sys/arm/sa11x0/uart_dev_sa1110.c#8 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/ep80219_machdep.c#13 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321.c#9 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_aau.c#5 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_dma.c#4 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_intr.h#4 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_pci.c#14 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_space.c#7 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_timer.c#14 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321reg.h#4 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq31244_7seg.c#4 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq31244_machdep.c#32 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq80321.c#16 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/obio.c#6 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/crb_machdep.c#11 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/i81342.c#4 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/i81342_mcu.c#3 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/i81342_pci.c#4 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/i81342_space.c#2 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/i81342reg.h#2 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/iq81342_7seg.c#3 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/obio.c#2 integrate .. //depot/projects/smpng/sys/arm/xscale/i8134x/uart_cpu_i81342.c#2 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_ata.c#9 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_gpio.c#4 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_machdep.c#17 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/cambria_exp_space.c#2 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#19 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/if_npereg.h#3 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425.c#17 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_iic.c#7 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_npe.c#9 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_npereg.h#3 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_pci.c#10 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_pci_space.c#2 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_qmgr.c#8 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_qmgr.h#3 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425reg.h#9 integrate .. //depot/projects/smpng/sys/arm/xscale/pxa/if_smc_smi.c#2 integrate .. //depot/projects/smpng/sys/arm/xscale/pxa/pxa_machdep.c#6 integrate .. //depot/projects/smpng/sys/arm/xscale/pxa/pxareg.h#2 integrate .. //depot/projects/smpng/sys/boot/common/load_elf.c#22 integrate .. //depot/projects/smpng/sys/boot/common/load_elf_obj.c#6 integrate .. //depot/projects/smpng/sys/boot/ofw/libofw/ofw_disk.c#14 integrate .. //depot/projects/smpng/sys/boot/sparc64/loader/main.c#36 integrate .. //depot/projects/smpng/sys/boot/zfs/zfsimpl.c#16 integrate .. //depot/projects/smpng/sys/cam/ata/ata_da.c#18 integrate .. //depot/projects/smpng/sys/cam/ata/ata_pmp.c#8 integrate .. //depot/projects/smpng/sys/cam/ata/ata_xpt.c#17 integrate .. //depot/projects/smpng/sys/cam/cam.h#9 integrate .. //depot/projects/smpng/sys/cam/cam_debug.h#5 integrate .. //depot/projects/smpng/sys/cam/cam_periph.c#47 integrate .. //depot/projects/smpng/sys/cam/cam_periph.h#13 integrate .. //depot/projects/smpng/sys/cam/cam_xpt.c#81 integrate .. //depot/projects/smpng/sys/cam/cam_xpt.h#12 integrate .. //depot/projects/smpng/sys/cam/cam_xpt_periph.h#7 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_all.c#37 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_all.h#23 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#52 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#104 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_enc.c#2 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_pass.c#30 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_pt.c#21 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_sa.c#41 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_target.c#33 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_xpt.c#12 integrate .. //depot/projects/smpng/sys/cddl/boot/zfs/zfsimpl.h#11 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/common/nvpair/fnvpair.c#1 branch .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c#1 branch .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h#1 branch .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/common/zfs/zpool_prop.c#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/Makefile.files#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#21 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c#1 branch .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#10 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c#2 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#13 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#12 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c#6 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c#7 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#11 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#6 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#11 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#8 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c#3 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c#11 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#7 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c#9 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bptree.h#1 branch .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#11 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_traverse.h#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h#8 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#8 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_scan.h#2 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h#9 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h#9 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h#8 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h#8 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h#1 branch .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h#11 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c#11 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c#6 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c#5 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c#7 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c#1 branch .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#22 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#21 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#16 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h#9 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/sys/nvpair.h#4 integrate .. //depot/projects/smpng/sys/conf/NOTES#198 integrate .. //depot/projects/smpng/sys/conf/files#278 integrate .. //depot/projects/smpng/sys/conf/files.amd64#90 integrate .. //depot/projects/smpng/sys/conf/files.i386#149 integrate .. //depot/projects/smpng/sys/conf/kern.post.mk#72 integrate .. //depot/projects/smpng/sys/conf/options#195 integrate .. //depot/projects/smpng/sys/conf/options.arm#28 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf.c#48 integrate .. //depot/projects/smpng/sys/contrib/rdma/krping/krping.c#3 integrate .. //depot/projects/smpng/sys/contrib/rdma/krping/krping.h#2 integrate .. //depot/projects/smpng/sys/contrib/rdma/krping/krping_dev.c#2 integrate .. //depot/projects/smpng/sys/contrib/rdma/rdma_addr.c#4 integrate .. //depot/projects/smpng/sys/contrib/rdma/rdma_cache.c#2 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_video.c#19 integrate .. //depot/projects/smpng/sys/dev/acpica/acpivar.h#85 integrate .. //depot/projects/smpng/sys/dev/ae/if_ae.c#15 integrate .. //depot/projects/smpng/sys/dev/ahci/ahci.c#24 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aicasm/Makefile#19 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#114 integrate .. //depot/projects/smpng/sys/dev/ata/chipsets/ata-ite.c#7 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_desc.h#8 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_internal.h#19 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c#7 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar9002/ar9287_reset.c#2 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#101 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_debug.c#5 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_misc.h#4 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_rx.c#2 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_sysctl.c#8 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_tx.c#6 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_tx.h#4 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath_tx_ht.c#7 integrate .. //depot/projects/smpng/sys/dev/ath/if_athioctl.h#27 integrate .. //depot/projects/smpng/sys/dev/ath/if_athvar.h#59 integrate .. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#71 integrate .. //depot/projects/smpng/sys/dev/cxgb/common/cxgb_ctl_defs.h#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#26 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#41 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_offload.c#6 delete .. //depot/projects/smpng/sys/dev/cxgb/cxgb_offload.h#7 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_osdep.h#14 integrate .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#35 integrate .. //depot/projects/smpng/sys/dev/cxgb/sys/mvec.h#10 integrate .. //depot/projects/smpng/sys/dev/cxgb/t3cdev.h#4 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#12 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.h#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#7 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.h#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.h#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ib_intfc.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.h#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_user.h#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_wr.h#2 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/toecore/cxgb_toedev.h#4 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/toecore/toedev.c#4 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#21 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#12 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#9 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_defs.h#6 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#5 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_l2t.h#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_listen.c#6 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#5 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_tcp.h#3 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.c#4 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#3 delete .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#5 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_tom.c#9 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_tom.h#4 integrate .. //depot/projects/smpng/sys/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#8 delete .. //depot/projects/smpng/sys/dev/cxgbe/adapter.h#6 integrate .. //depot/projects/smpng/sys/dev/cxgbe/common/t4_hw.c#4 integrate .. //depot/projects/smpng/sys/dev/cxgbe/offload.h#5 integrate .. //depot/projects/smpng/sys/dev/cxgbe/t4_l2t.c#3 integrate .. //depot/projects/smpng/sys/dev/cxgbe/t4_l2t.h#3 integrate .. //depot/projects/smpng/sys/dev/cxgbe/t4_main.c#7 integrate .. //depot/projects/smpng/sys/dev/cxgbe/t4_sge.c#6 integrate .. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_connect.c#1 branch .. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_cpl_io.c#1 branch .. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_listen.c#1 branch .. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_tom.c#1 branch .. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_tom.h#1 branch .. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_tom_l2t.c#1 branch .. //depot/projects/smpng/sys/dev/cxgbe/tom/t4_tom_l2t.h#1 branch .. //depot/projects/smpng/sys/dev/drm2/i915/i915_gem.c#2 integrate .. //depot/projects/smpng/sys/dev/fb/fbreg.h#19 integrate .. //depot/projects/smpng/sys/dev/filemon/filemon.c#1 branch .. //depot/projects/smpng/sys/dev/filemon/filemon.h#1 branch .. //depot/projects/smpng/sys/dev/filemon/filemon_lock.c#1 branch .. //depot/projects/smpng/sys/dev/filemon/filemon_wrapper.c#1 branch .. //depot/projects/smpng/sys/dev/flash/at45d.c#5 integrate .. //depot/projects/smpng/sys/dev/hptrr/hptrr_osm_bsd.c#9 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_arm.c#6 integrate .. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_intel.c#10 integrate .. //depot/projects/smpng/sys/dev/isp/isp.c#69 integrate .. //depot/projects/smpng/sys/dev/isp/isp_freebsd.h#52 integrate .. //depot/projects/smpng/sys/dev/isp/isp_pci.c#68 integrate .. //depot/projects/smpng/sys/dev/isp/ispmbox.h#31 integrate .. //depot/projects/smpng/sys/dev/isp/ispreg.h#14 integrate .. //depot/projects/smpng/sys/dev/isp/ispvar.h#46 integrate .. //depot/projects/smpng/sys/dev/ispfw/asm_2400.h#4 integrate .. //depot/projects/smpng/sys/dev/ispfw/asm_2500.h#3 integrate .. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#30 integrate .. //depot/projects/smpng/sys/dev/jme/if_jme.c#14 integrate .. //depot/projects/smpng/sys/dev/mvs/mvs.c#10 integrate .. //depot/projects/smpng/sys/dev/mvs/mvs.h#4 integrate .. //depot/projects/smpng/sys/dev/mvs/mvs_soc.c#6 integrate .. //depot/projects/smpng/sys/dev/pci/pci_pci.c#49 integrate .. //depot/projects/smpng/sys/dev/puc/puc_cfg.h#2 integrate .. //depot/projects/smpng/sys/dev/puc/pucdata.c#59 integrate .. //depot/projects/smpng/sys/dev/siis/siis.c#19 integrate .. //depot/projects/smpng/sys/dev/sym/sym_conf.h#5 integrate .. //depot/projects/smpng/sys/dev/sym/sym_hipd.c#40 integrate .. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#24 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uftdi.c#24 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uftdi_reg.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#173 integrate .. //depot/projects/smpng/sys/dev/viawd/viawd.c#2 integrate .. //depot/projects/smpng/sys/dev/xen/balloon/balloon.c#9 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clbio.c#16 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clnode.c#15 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvfsops.c#19 integrate .. //depot/projects/smpng/sys/geom/multipath/g_multipath.c#13 integrate .. //depot/projects/smpng/sys/geom/part/g_part_gpt.c#24 integrate .. //depot/projects/smpng/sys/i386/acpica/acpi_wakecode.S#12 integrate .. //depot/projects/smpng/sys/i386/acpica/acpi_wakeup.c#45 delete .. //depot/projects/smpng/sys/i386/conf/GENERIC#131 integrate .. //depot/projects/smpng/sys/i386/conf/XEN#14 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#142 integrate .. //depot/projects/smpng/sys/i386/i386/swtch.s#36 integrate .. //depot/projects/smpng/sys/i386/include/pcb.h#19 integrate .. //depot/projects/smpng/sys/i386/include/pmap.h#59 integrate .. //depot/projects/smpng/sys/i386/include/smp.h#36 integrate .. //depot/projects/smpng/sys/ia64/include/pmap.h#34 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#141 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#67 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#137 integrate .. //depot/projects/smpng/sys/kern/subr_smp.c#73 integrate .. //depot/projects/smpng/sys/kern/subr_trap.c#104 integrate .. //depot/projects/smpng/sys/kern/sys_capability.c#6 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#71 integrate .. //depot/projects/smpng/sys/kern/sys_procdesc.c#2 integrate .. //depot/projects/smpng/sys/kern/tty.c#109 integrate .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#139 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#99 integrate .. //depot/projects/smpng/sys/kern/vfs_default.c#75 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#168 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#112 integrate .. //depot/projects/smpng/sys/libkern/iconv.c#17 integrate .. //depot/projects/smpng/sys/mips/include/pmap.h#24 integrate .. //depot/projects/smpng/sys/mips/rmi/rootfs_list.txt#2 integrate .. //depot/projects/smpng/sys/modules/Makefile#189 integrate .. //depot/projects/smpng/sys/modules/cxgb/Makefile#9 integrate .. //depot/projects/smpng/sys/modules/cxgb/cxgb/Makefile#12 integrate .. //depot/projects/smpng/sys/modules/cxgb/iw_cxgb/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/cxgb/toecore/Makefile#4 delete .. //depot/projects/smpng/sys/modules/cxgb/tom/Makefile#6 integrate .. //depot/projects/smpng/sys/modules/cxgbe/Makefile#4 integrate .. //depot/projects/smpng/sys/modules/cxgbe/tom/Makefile#1 branch .. //depot/projects/smpng/sys/modules/filemon/Makefile#1 branch .. //depot/projects/smpng/sys/modules/rdma/krping/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/toecore/Makefile#1 branch .. //depot/projects/smpng/sys/modules/zfs/Makefile#19 integrate .. //depot/projects/smpng/sys/net/bpf.c#103 integrate .. //depot/projects/smpng/sys/net/if.h#53 integrate .. //depot/projects/smpng/sys/net/if_bridge.c#72 integrate .. //depot/projects/smpng/sys/net/if_gif.c#61 integrate .. //depot/projects/smpng/sys/net/if_tap.c#58 integrate .. //depot/projects/smpng/sys/net/if_var.h#81 integrate .. //depot/projects/smpng/sys/net/if_vlan.c#80 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_radiotap.c#4 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_var.h#54 integrate .. //depot/projects/smpng/sys/netgraph/netflow/netflow.c#25 integrate .. //depot/projects/smpng/sys/netgraph/netflow/netflow_v9.c#3 integrate .. //depot/projects/smpng/sys/netgraph/netflow/ng_netflow.c#21 integrate .. //depot/projects/smpng/sys/netgraph/netflow/ng_netflow.h#13 integrate .. //depot/projects/smpng/sys/netinet/icmp_var.h#14 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#95 integrate .. //depot/projects/smpng/sys/netinet/if_ether.h#15 integrate .. //depot/projects/smpng/sys/netinet/in.c#79 integrate .. //depot/projects/smpng/sys/netinet/in.h#56 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#113 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.h#75 integrate .. //depot/projects/smpng/sys/netinet/ip_icmp.c#62 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#120 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#125 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_fw_table.c#9 integrate .. //depot/projects/smpng/sys/netinet/libalias/libalias.3#8 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.c#43 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.h#15 integrate .. //depot/projects/smpng/sys/netinet/sctp_input.c#43 integrate .. //depot/projects/smpng/sys/netinet/sctp_input.h#10 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.c#51 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.h#20 integrate .. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#45 integrate .. //depot/projects/smpng/sys/netinet/sctputil.c#52 integrate .. //depot/projects/smpng/sys/netinet/sctputil.h#26 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#146 integrate .. //depot/projects/smpng/sys/netinet/tcp_offload.c#10 integrate .. //depot/projects/smpng/sys/netinet/tcp_offload.h#5 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#78 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#135 integrate .. //depot/projects/smpng/sys/netinet/tcp_syncache.c#88 integrate .. //depot/projects/smpng/sys/netinet/tcp_syncache.h#10 integrate .. //depot/projects/smpng/sys/netinet/tcp_timer.c#59 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#94 integrate .. //depot/projects/smpng/sys/netinet/tcp_var.h#87 integrate .. //depot/projects/smpng/sys/netinet/toecore.c#1 branch .. //depot/projects/smpng/sys/netinet/toecore.h#1 branch .. //depot/projects/smpng/sys/netinet/toedev.h#4 delete .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#107 integrate .. //depot/projects/smpng/sys/netinet6/in6.c#80 integrate .. //depot/projects/smpng/sys/netinet6/ip6_input.c#82 integrate .. //depot/projects/smpng/sys/netinet6/sctp6_usrreq.c#27 integrate .. //depot/projects/smpng/sys/netsmb/smb_dev.c#29 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/cma.c#4 integrate .. //depot/projects/smpng/sys/ofed/drivers/infiniband/core/iwcm.c#2 integrate .. //depot/projects/smpng/sys/ofed/include/linux/net.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/net/netevent.h#2 integrate .. //depot/projects/smpng/sys/ofed/include/rdma/iw_cm.h#2 integrate .. //depot/projects/smpng/sys/powerpc/include/pmap.h#38 integrate .. //depot/projects/smpng/sys/sparc64/include/pmap.h#44 integrate .. //depot/projects/smpng/sys/sys/cdefs.h#51 integrate .. //depot/projects/smpng/sys/sys/file.h#37 integrate .. //depot/projects/smpng/sys/sys/filedesc.h#37 integrate .. //depot/projects/smpng/sys/sys/kernel.h#51 integrate .. //depot/projects/smpng/sys/sys/smp.h#29 integrate .. //depot/projects/smpng/sys/sys/vnode.h#121 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#94 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#74 integrate .. //depot/projects/smpng/sys/vm/pmap.h#41 integrate .. //depot/projects/smpng/sys/vm/swap_pager.c#93 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#119 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#127 integrate .. //depot/projects/smpng/sys/vm/vm_page.h#60 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#89 integrate .. //depot/projects/smpng/sys/vm/vnode_pager.c#85 integrate .. //depot/projects/smpng/sys/x86/acpica/acpi_wakeup.c#1 branch Differences ... ==== //depot/projects/smpng/share/man/man9/rmlock.9#6 (text+ko) ==== @@ -23,10 +23,10 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/rmlock.9,v 1.8 2012/03/29 05:02:12 eadler Exp $ +.\" $FreeBSD: src/share/man/man9/rmlock.9,v 1.9 2012/06/08 21:30:35 jhb Exp $ .\" .\" Based on rwlock.9 man page -.Dd November 16, 2011 +.Dd June 8, 2012 .Dt RMLOCK 9 .Os .Sh NAME @@ -41,7 +41,7 @@ .Nm rm_wunlock , .Nm rm_wowned , .Nm RM_SYSINIT -.Nd kernel reader/writer lock optimized for mostly read access patterns +.Nd kernel reader/writer lock optimized for read-mostly access patterns .Sh SYNOPSIS .In sys/param.h .In sys/lock.h @@ -67,7 +67,7 @@ .In sys/kernel.h .Fn RM_SYSINIT "name" "struct rmlock *rm" "const char *desc" "int opts" .Sh DESCRIPTION -Mostly reader locks allow shared access to protected data by multiple threads, +Read-mostly locks allow shared access to protected data by multiple threads, or exclusive access by a single thread. The threads with shared access are known as .Em readers @@ -76,83 +76,82 @@ .Em writer since it can modify protected data. .Pp -Read mostly locks are designed to be efficient for locks almost exclusively +Read-mostly locks are designed to be efficient for locks almost exclusively used as reader locks and as such should be used for protecting data that rarely changes. -Acquiring an exclusive lock after the lock had been locked for shared access +Acquiring an exclusive lock after the lock has been locked for shared access is an expensive operation. .Pp -Although reader/writer locks look very similar to -.Xr sx 9 -locks, their usage pattern is different. -Reader/writer locks can be treated as mutexes (see -.Xr mutex 9 ) -with shared/exclusive semantics unless initialized with -.Dv RM_SLEEPABLE . +Normal read-mostly locks are similar to +.Xr rwlock 9 +locks and follow the same lock ordering rules as +.Xr rwlock 9 +locks. +Read-mostly locks have full priority propagation like mutexes. Unlike -.Xr sx 9 , -an -.Nm -can be locked while holding a non-spin mutex, and an -.Nm -cannot be held while sleeping, again unless initialized with -.Dv RM_SLEEPABLE . -The -.Nm -locks have full priority propagation like mutexes. -The +.Xr rwlock 9 , +read-mostly locks propagate priority to both readers and writers. +This is implemented via the .Va rm_priotracker -structure argument supplied in +structure argument supplied to .Fn rm_rlock and -.Fn rm_runlock -is used to keep track of the read owner(s). -Another important property is that shared holders of -.Nm -can recurse if the lock has been initialized with the -.Dv LO_RECURSABLE -option, however exclusive locks are not allowed to recurse. +.Fn rm_runlock . +Readers can recurse if the lock is initialized with the +.Dv RM_RECURSE +option; +however, writers are never allowed to recurse. +.Pp +Sleepable read-mostly locks are created by passing +.Dv RM_SLEEPABLE +to +.Fn rm_init_flags . +Unlike normal read-mostly locks, +sleepable read-mostly locks follow the same lock ordering rules as +.Xr sx 9 +locks. +Sleepable read-mostly locks do not propagate priority to writers, +but they do propagate priority to readers. +Writers are permitted to sleep while holding a read-mostly lock, +but readers are not. +Unlike other sleepable locks such as +.Xr sx 9 +locks, +readers must use try operations on other sleepable locks to avoid sleeping. .Ss Macros and Functions .Bl -tag -width indent .It Fn rm_init "struct rmlock *rm" "const char *name" -Initialize structure located at -.Fa rm -as mostly reader lock, described by -.Fa name . -The name description is used solely for debugging purposes. +Initialize the read-mostly lock +.Fa rm . +The +.Fa name +description is used solely for debugging purposes. This function must be called before any other operations on the lock. .It Fn rm_init_flags "struct rmlock *rm" "const char *name" "int opts" -Initialize the rm lock just like the -.Fn rm_init -function, but specifying a set of optional flags to alter the -behaviour of -.Fa rm , -through the +Similar to +.Fn rm_init , +initialize the read-mostly lock +.Fa rm +with a set of optional flags. +The .Fa opts -argument. -It contains one or more of the following flags: +arguments contains one or more of the following flags: .Bl -tag -width ".Dv RM_NOWITNESS" .It Dv RM_NOWITNESS Instruct .Xr witness 4 to ignore this lock. .It Dv RM_RECURSE -Allow threads to recursively acquire exclusive locks for +Allow threads to recursively acquire shared locks for .Fa rm . .It Dv RM_SLEEPABLE -Allow writers to sleep while holding the lock. -Readers must not sleep while holding the lock and can avoid to sleep on -taking the lock by using -.Fn rm_try_rlock -instead of -.Fn rm_rlock . +Create a sleepable read-mostly lock. .El .It Fn rm_rlock "struct rmlock *rm" "struct rm_priotracker* tracker" Lock .Fa rm -as a reader. -Using +as a reader using .Fa tracker to track read owners of a lock for priority propagation. This data structure is only used internally by @@ -161,28 +160,32 @@ .Fn rm_runlock has been called. This data structure can be allocated on the stack since -rmlocks cannot be held while sleeping. +readers cannot sleep. If any thread holds this lock exclusively, the current thread blocks, and its priority is propagated to the exclusive holder. If the lock was initialized with the -.Dv LO_RECURSABLE +.Dv RM_RECURSE option the .Fn rm_rlock -function can be called when the thread has already acquired reader +function can be called when the current thread has already acquired reader access on .Fa rm . -This is called -.Dq "recursing on a lock" . .It Fn rm_try_rlock "struct rmlock *rm" "struct rm_priotracker* tracker" Try to lock .Fa rm as a reader. .Fn rm_try_rlock will return 0 if the lock cannot be acquired immediately; -otherwise the lock will be acquired and a non-zero value will be returned. +otherwise, +the lock will be acquired and a non-zero value will be returned. Note that .Fn rm_try_rlock may fail even while the lock is not currently held by a writer. +If the lock was initialized with the +.Dv RM_RECURSE +option, +.Fn rm_try_rlock +will succeed if the current thread has already acquired reader access. .It Fn rm_wlock "struct rmlock *rm" Lock .Fa rm ==== //depot/projects/smpng/share/man/man9/rwlock.9#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/rwlock.9,v 1.16 2011/11/16 21:51:17 pjd Exp $ +.\" $FreeBSD: src/share/man/man9/rwlock.9,v 1.17 2012/06/06 13:35:30 jhb Exp $ .\" .Dd November 16, 2011 .Dt RWLOCK 9 @@ -114,12 +114,10 @@ The .Nm locks have priority propagation like mutexes, but priority -can be propagated only to an exclusive holder. -This limitation comes from the fact that shared owners +can be propagated only to writers. +This limitation comes from the fact that readers are anonymous. -Another important property is that shared holders of -.Nm -can recurse, +Another important property is that readers can always recurse, and exclusive locks can be made recursive selectively. .Ss Macros and Functions .Bl -tag -width indent ==== //depot/projects/smpng/sys/amd64/acpica/acpi_wakecode.S#10 (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/acpica/acpi_wakecode.S,v 1.13 2012/02/15 22:10:33 jkim Exp $ + * $FreeBSD: src/sys/amd64/acpica/acpi_wakecode.S,v 1.15 2012/06/13 22:53:56 jkim Exp $ */ #include @@ -219,10 +219,14 @@ mov $bootdata64 - bootgdt, %eax mov %ax, %ds - /* Restore arguments and return. */ - movq wakeup_kpml4 - wakeup_start(%rbx), %rdi - movq wakeup_ctx - wakeup_start(%rbx), %rsi - movq wakeup_retaddr - wakeup_start(%rbx), %rax + /* Restore arguments. */ + movq wakeup_pcb - wakeup_start(%rbx), %rdi + movq wakeup_ret - wakeup_start(%rbx), %rax + + /* Restore GDT. */ + lgdt wakeup_gdt - wakeup_start(%rbx) + + /* Jump to return address. */ jmp *%rax .data @@ -268,34 +272,11 @@ .long bootgdt - wakeup_start /* Offset plus %ds << 4 */ ALIGN_DATA -wakeup_retaddr: - .quad 0 -wakeup_kpml4: - .quad 0 - -wakeup_ctx: - .quad 0 wakeup_pcb: .quad 0 -wakeup_fpusave: +wakeup_ret: .quad 0 wakeup_gdt: .word 0 .quad 0 - - ALIGN_DATA -wakeup_efer: - .quad 0 -wakeup_star: - .quad 0 -wakeup_lstar: - .quad 0 -wakeup_cstar: - .quad 0 -wakeup_sfmask: - .quad 0 -wakeup_xsmask: - .quad 0 -wakeup_cpu: - .long 0 dummy: ==== //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#33 (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.183 2012/02/27 17:28:22 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.186 2012/06/13 22:53:56 jkim Exp $ */ #include @@ -357,6 +357,30 @@ rdmsr movl %eax,PCB_KGSBASE(%rdi) movl %edx,PCB_KGSBASE+4(%rdi) + movl $MSR_EFER,%ecx + rdmsr + movl %eax,PCB_EFER(%rdi) + movl %edx,PCB_EFER+4(%rdi) + movl $MSR_STAR,%ecx + rdmsr + movl %eax,PCB_STAR(%rdi) + movl %edx,PCB_STAR+4(%rdi) + movl $MSR_LSTAR,%ecx + rdmsr + movl %eax,PCB_LSTAR(%rdi) + movl %edx,PCB_LSTAR+4(%rdi) + movl $MSR_CSTAR,%ecx + rdmsr + movl %eax,PCB_CSTAR(%rdi) + movl %edx,PCB_CSTAR+4(%rdi) + movl $MSR_SF_MASK,%ecx + rdmsr + movl %eax,PCB_SFMASK(%rdi) + movl %edx,PCB_SFMASK+4(%rdi) + movl xsave_mask,%eax + movl %eax,PCB_XSMASK(%rdi) + movl xsave_mask+4,%eax + movl %eax,PCB_XSMASK+4(%rdi) sgdt PCB_GDT(%rdi) sidt PCB_IDT(%rdi) @@ -370,6 +394,142 @@ END(savectx) /* + * resumectx(pcb) + * Resuming processor state from pcb. + */ +ENTRY(resumectx) + /* Switch to KPML4phys. */ + movq KPML4phys,%rax + movq %rax,%cr3 + + /* Force kernel segment registers. */ + movl $KDSEL,%eax + movw %ax,%ds + movw %ax,%es + movw %ax,%ss + movl $KUF32SEL,%eax + movw %ax,%fs + movl $KUG32SEL,%eax + movw %ax,%gs + + movl $MSR_FSBASE,%ecx + movl PCB_FSBASE(%rdi),%eax + movl 4 + PCB_FSBASE(%rdi),%edx + wrmsr + movl $MSR_GSBASE,%ecx + movl PCB_GSBASE(%rdi),%eax + movl 4 + PCB_GSBASE(%rdi),%edx + wrmsr + movl $MSR_KGSBASE,%ecx + movl PCB_KGSBASE(%rdi),%eax + movl 4 + PCB_KGSBASE(%rdi),%edx + wrmsr + + /* Restore EFER. */ + movl $MSR_EFER,%ecx + movl PCB_EFER(%rdi),%eax + wrmsr + + /* Restore fast syscall stuff. */ + movl $MSR_STAR,%ecx + movl PCB_STAR(%rdi),%eax + movl 4 + PCB_STAR(%rdi),%edx + wrmsr + movl $MSR_LSTAR,%ecx + movl PCB_LSTAR(%rdi),%eax + movl 4 + PCB_LSTAR(%rdi),%edx + wrmsr + movl $MSR_CSTAR,%ecx + movl PCB_CSTAR(%rdi),%eax + movl 4 + PCB_CSTAR(%rdi),%edx + wrmsr + movl $MSR_SF_MASK,%ecx + movl PCB_SFMASK(%rdi),%eax + wrmsr + + /* Restore CR0 except for FPU mode. */ + movq PCB_CR0(%rdi),%rax + andq $~(CR0_EM | CR0_TS),%rax + movq %rax,%cr0 + + /* Restore CR2, CR4 and CR3. */ + movq PCB_CR2(%rdi),%rax + movq %rax,%cr2 + movq PCB_CR4(%rdi),%rax + movq %rax,%cr4 + movq PCB_CR3(%rdi),%rax + movq %rax,%cr3 + + /* Restore descriptor tables. */ + lidt PCB_IDT(%rdi) + lldt PCB_LDT(%rdi) + +#define SDT_SYSTSS 9 +#define SDT_SYSBSY 11 + + /* Clear "task busy" bit and reload TR. */ + movq PCPU(TSS),%rax + andb $(~SDT_SYSBSY | SDT_SYSTSS),5(%rax) + movw PCB_TR(%rdi),%ax + ltr %ax + +#undef SDT_SYSTSS +#undef SDT_SYSBSY + + /* Restore debug registers. */ + movq PCB_DR0(%rdi),%rax + movq %rax,%dr0 + movq PCB_DR1(%rdi),%rax + movq %rax,%dr1 + movq PCB_DR2(%rdi),%rax + movq %rax,%dr2 + movq PCB_DR3(%rdi),%rax + movq %rax,%dr3 + movq PCB_DR6(%rdi),%rax + movq %rax,%dr6 + movq PCB_DR7(%rdi),%rax + movq %rax,%dr7 + + /* Restore FPU state. */ + fninit + movq PCB_FPUSUSPEND(%rdi),%rbx + movq PCB_XSMASK(%rdi),%rax + testq %rax,%rax + jz 1f + movq %rax,%rdx + shrq $32,%rdx + movl $XCR0,%ecx +/* xsetbv */ + .byte 0x0f, 0x01, 0xd1 +/* xrstor (%rbx) */ + .byte 0x0f, 0xae, 0x2b + jmp 2f +1: + fxrstor (%rbx) +2: + + /* Reload CR0. */ + movq PCB_CR0(%rdi),%rax + movq %rax,%cr0 + + /* Restore other callee saved registers. */ + movq PCB_R15(%rdi),%r15 + movq PCB_R14(%rdi),%r14 + movq PCB_R13(%rdi),%r13 + movq PCB_R12(%rdi),%r12 + movq PCB_RBP(%rdi),%rbp + movq PCB_RSP(%rdi),%rsp + movq PCB_RBX(%rdi),%rbx + + /* Restore return address. */ + movq PCB_RIP(%rdi),%rax + movq %rax,(%rsp) + + xorl %eax,%eax + ret +END(resumectx) + +/* * Wrapper around fpusave to care about TS0_CR. */ ENTRY(ctx_fpusave) ==== //depot/projects/smpng/sys/amd64/amd64/genassym.c#37 (text+ko) ==== @@ -33,7 +33,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<