Date: Fri, 5 Dec 2008 20:40:02 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r185646 - in user/kmacy/HEAD_fast_multi_xmit: cddl/contrib/opensolaris/cmd/zfs lib/libpmc lib/libutil sys/i386/include Message-ID: <200812052040.mB5Ke2nR072426@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kmacy Date: Fri Dec 5 20:40:02 2008 New Revision: 185646 URL: http://svn.freebsd.org/changeset/base/185646 Log: Make world build Modified: user/kmacy/HEAD_fast_multi_xmit/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c user/kmacy/HEAD_fast_multi_xmit/lib/libpmc/libpmc.c user/kmacy/HEAD_fast_multi_xmit/lib/libutil/pty.c user/kmacy/HEAD_fast_multi_xmit/sys/i386/include/pmc_mdep.h Modified: user/kmacy/HEAD_fast_multi_xmit/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- user/kmacy/HEAD_fast_multi_xmit/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Fri Dec 5 19:53:12 2008 (r185645) +++ user/kmacy/HEAD_fast_multi_xmit/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Fri Dec 5 20:40:02 2008 (r185646) @@ -2251,7 +2251,7 @@ zfs_do_set(int argc, char **argv) usage(B_FALSE); } - ret = zfs_for_each(argc - 2, argv + 2, NULL, + ret = zfs_for_each(argc - 2, argv + 2, 0, ZFS_TYPE_DATASET, NULL, NULL, set_callback, &cb); return (ret); Modified: user/kmacy/HEAD_fast_multi_xmit/lib/libpmc/libpmc.c ============================================================================== --- user/kmacy/HEAD_fast_multi_xmit/lib/libpmc/libpmc.c Fri Dec 5 19:53:12 2008 (r185645) +++ user/kmacy/HEAD_fast_multi_xmit/lib/libpmc/libpmc.c Fri Dec 5 20:40:02 2008 (r185646) @@ -59,7 +59,7 @@ static int k8_allocate_pmc(enum pmc_even static int p4_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); #endif -#if defined(__i386__) +#if defined(__i386__) static int p5_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); static int p6_allocate_pmc(enum pmc_event _pe, char *_ctrspec, @@ -68,8 +68,6 @@ static int p6_allocate_pmc(enum pmc_even #if defined(__amd64__) || defined(__i386__) static int tsc_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); -static int iap2_allocate_pmc(enum pmc_event pe, char *ctrspec, - struct pmc_op_pmcallocate *pmc_config); #endif #define PMC_CALL(cmd, params) \ @@ -172,7 +170,6 @@ PMC_MDEP_TABLE(k8, K8, PMC_CLASS_TSC); PMC_MDEP_TABLE(p4, P4, PMC_CLASS_TSC); PMC_MDEP_TABLE(p5, P5, PMC_CLASS_TSC); PMC_MDEP_TABLE(p6, P6, PMC_CLASS_TSC); -PMC_MDEP_TABLE(iap2, IAP2, PMC_CLASS_TSC); static const struct pmc_event_descr tsc_event_table[] = { @@ -210,9 +207,6 @@ PMC_CLASS_TABLE_DESC(p5, P5, p5, p5); PMC_CLASS_TABLE_DESC(p6, P6, p6, p6); #endif #if defined(__i386__) || defined(__amd64__) -#if 0 - PMC_CLASS_TABLE_DESC(iap2, IAP2), -#endif PMC_CLASS_TABLE_DESC(tsc, TSC, tsc, tsc); #endif @@ -1621,7 +1615,7 @@ p4_allocate_pmc(enum pmc_event pe, char #endif -#if defined(__i386__) +#if defined(__i386__) /* * Pentium style PMCs @@ -1646,23 +1640,20 @@ p5_allocate_pmc(enum pmc_event pe, char return (-1 || pe || ctrspec || pmc_config); /* shut up gcc */ } -#endif /* * Pentium Pro style PMCs. These PMCs are found in Pentium II, Pentium III, * and Pentium M CPUs. */ -#if defined(__i386__) || defined(__amd64__) - -static struct pmc_event_alias iap2_aliases[] = { - EV_ALIAS("branches", "iap2-br-inst-retired-any"), - EV_ALIAS("branch-mispredicts", "iap2-br-inst-retired-mispred"), +static struct pmc_event_alias p6_aliases[] = { + EV_ALIAS("branches", "p6-br-inst-retired"), + EV_ALIAS("branch-mispredicts", "p6-br-miss-pred-retired"), EV_ALIAS("cycles", "tsc"), - EV_ALIAS("dc-misses", "iap2-l1d-pend-miss"), - EV_ALIAS("ic-misses", "iap2-l1i-misses"), - EV_ALIAS("instructions", "iap2-instructions-retired"), - EV_ALIAS("interrupts", "iap2-hw-int-rcv"), - EV_ALIAS("unhalted-cycles", "iap2-unhalted-core-cycles"), + EV_ALIAS("dc-misses", "p6-dcu-lines-in"), + EV_ALIAS("ic-misses", "p6-ifu-fetch-miss"), + EV_ALIAS("instructions", "p6-inst-retired"), + EV_ALIAS("interrupts", "p6-hw-int-rx"), + EV_ALIAS("unhalted-cycles", "p6-cpu-clk-unhalted"), EV_ALIAS(NULL, NULL) }; @@ -1672,12 +1663,6 @@ static struct pmc_event_alias iap2_alias #define P6_KW_OS "os" #define P6_KW_UMASK "umask" #define P6_KW_USR "usr" -#define IPM_KW_CMASK P6_KW_CMASK -#define IPM_KW_EDGE P6_KW_EDGE -#define IPM_KW_INV P6_KW_INV -#define IPM_KW_OS P6_KW_OS -#define IPM_KW_UMASK P6_KW_UMASK -#define IPM_KW_USR P6_KW_USR static struct pmc_masks p6_mask_mesi[] = { PMCMASK(m, 0x01), @@ -1686,20 +1671,6 @@ static struct pmc_masks p6_mask_mesi[] = PMCMASK(i, 0x08), NULLMASK }; -#endif - -#if defined(__i386__) -static struct pmc_event_alias p6_aliases[] = { - EV_ALIAS("branches", "p6-br-inst-retired"), - EV_ALIAS("branch-mispredicts", "p6-br-miss-pred-retired"), - EV_ALIAS("cycles", "tsc"), - EV_ALIAS("dc-misses", "p6-dcu-lines-in"), - EV_ALIAS("ic-misses", "p6-ifu-fetch-miss"), - EV_ALIAS("instructions", "p6-inst-retired"), - EV_ALIAS("interrupts", "p6-hw-int-rx"), - EV_ALIAS("unhalted-cycles", "p6-cpu-clk-unhalted"), - EV_ALIAS(NULL, NULL) -}; static struct pmc_masks p6_mask_mesihw[] = { PMCMASK(m, 0x01), @@ -1792,7 +1763,6 @@ static struct pmc_masks p6_mask_esscir[] NULLMASK }; - /* P6 event parser */ static int p6_allocate_pmc(enum pmc_event pe, char *ctrspec, @@ -1992,246 +1962,7 @@ p6_allocate_pmc(enum pmc_event pe, char #endif - #if defined(__i386__) || defined(__amd64__) - -#define ipm_mask_mesi p6_mask_mesi -#define ipm_default_mask_mesi 0x0F /* mesi */ - -static struct pmc_masks ipm_mask_cores[] = { - PMCMASK(cself, 0x40), - PMCMASK(cany, 0xC0), - NULLMASK -}; -#define ipm_default_mask_cores 0x40 /* this core */ - -static struct pmc_masks ipm_mask_agents[] = { - PMCMASK(aself, 0x00), - PMCMASK(aany, 0x20), - NULLMASK -}; -#define ipm_default_mask_agents 0x00 /* this agent */ - -static struct pmc_masks ipm_mask_cores_and_agents[] = { - PMCMASK(cself, 0x40), - PMCMASK(cany, 0xC0), - PMCMASK(aself, 0x00), - PMCMASK(aany, 0x20), - NULLMASK -}; -#define ipm_default_mask_cores_and_agents 0x40 /* this core,this agent */ - -static struct pmc_masks ipm_mask_cores_and_hw[] = { - PMCMASK(cself, 0x40), - PMCMASK(cany, 0xC0), - PMCMASK(nonhw, 0x00), - PMCMASK(hw, 0x10), - PMCMASK(both, 0x30), - NULLMASK -}; -#define ipm_default_mask_cores_and_hw 0x70 /* this core,both */ - -static struct pmc_masks ipm_mask_cores_and_mesi[] = { - PMCMASK(cself, 0x40), - PMCMASK(cany, 0xC0), - PMCMASK(m, 0x01), - PMCMASK(e, 0x02), - PMCMASK(s, 0x04), - PMCMASK(i, 0x08), - NULLMASK -}; -#define ipm_default_mask_cores_and_mesi 0x4F /* this core,mesi */ - -static struct pmc_masks ipm_mask_cores_and_hw_and_mesi[] = { - PMCMASK(cself, 0x40), - PMCMASK(cany, 0xC0), - PMCMASK(nonhw, 0x00), - PMCMASK(hw, 0x10), - PMCMASK(both, 0x30), - PMCMASK(m, 0x01), - PMCMASK(e, 0x02), - PMCMASK(s, 0x04), - PMCMASK(i, 0x08), - NULLMASK -}; -#define ipm_default_mask_cores_and_hw_and_mesi 0x7F /* this core,both,mesi */ - -static struct pmc_masks ipm_mask_cores_and_snoop_response[] = { - PMCMASK(cself, 0x40), - PMCMASK(cany, 0xC0), - PMCMASK(clean, 0x01), - PMCMASK(hit, 0x02), - PMCMASK(hitm, 0x08), - NULLMASK -}; -#define ipm_default_mask_cores_and_snoop_response 0x41 /*this core,clean */ - -static struct pmc_masks ipm_mask_cores_and_snoop_type[] = { - PMCMASK(cself, 0x40), - PMCMASK(cany, 0xC0), - PMCMASK(cmp2s, 0x01), - PMCMASK(cmp2i, 0x02), - NULLMASK -}; -#define ipm_default_mask_cores_and_snoop_type 0x41 /* this core,cmp2s */ - -/* - * Intel Performance Monitoring PMCs event parser - */ -static int -iap2_allocate_pmc(enum pmc_event pe, char *ctrspec, - struct pmc_op_pmcallocate *pmc_config) -{ - char *e, *p, *q; - uint32_t evmask, default_mask = 0; - int count, n, masks = 0; - const struct pmc_masks *pmask; - - pmc_config->pm_caps |= PMC_CAP_READ; - - if (pe == PMC_EV_TSC_TSC) { - if (ctrspec && *ctrspec != '\0') - return -1; - return 0; - } - - pmc_config->pm_caps |= PMC_CAP_WRITE; - - if (pe == PMC_EV_IAF_INSTRUCTIONS_RETIRED || - pe == PMC_EV_IAF_UNHALTED_CORE_CYCLES || - pe == PMC_EV_IAF_UNHALTED_REFERENCE_CYCLES) { - while ((p = strsep(&ctrspec, ",")) != NULL) { - if (KWMATCH(p, IPM_KW_OS)) { - pmc_config->pm_caps |= PMC_CAP_SYSTEM; - } else if (KWMATCH(p, IPM_KW_USR)) { - pmc_config->pm_caps |= PMC_CAP_USER; - } else - return -1; - } - pmc_config->pm_class = PMC_CLASS_IAF; - return 0; - } - - evmask = 0; - -#define IPMMASKSET(M) \ - do { \ - pmask = ipm_mask_ ## M; \ - default_mask = ipm_default_mask_ ## M; \ - } while(0) - - switch(pe) { - case PMC_EV_IAP2_L2_ADS: case PMC_EV_IAP2_L2_DBUS_BUSY_RD: - case PMC_EV_IAP2_L2_NO_REQ: case PMC_EV_IAP2_BUS_DATA_RCV: - case PMC_EV_IAP2_BUSQ_EMPTY: case PMC_EV_IAP2_BUS_IO_WAIT: - case PMC_EV_IAP2_L2_M_LINES_IN: - masks = 1; - IPMMASKSET(cores); - break; - - case PMC_EV_IAP2_BUS_HIT_DRV: case PMC_EV_IAP2_BUS_HITM_DRV: - case PMC_EV_IAP2_BUS_BNR_DRV: case PMC_EV_IAP2_BUS_DRDY_CLOCKS: - masks = 1; - IPMMASKSET(agents); - break; - - case PMC_EV_IAP2_L1D_CACHE_LD: case PMC_EV_IAP2_L1D_CACHE_ST: - case PMC_EV_IAP2_L1D_CACHE_LOCK: - masks = 1; - IPMMASKSET(mesi); - break; - - case PMC_EV_IAP2_L2_LINES_IN: case PMC_EV_IAP2_L2_LINES_OUT: - case PMC_EV_IAP2_L2_M_LINES_OUT: - masks = 2; - IPMMASKSET(cores_and_hw); - break; - - case PMC_EV_IAP2_BUS_TRANS_ANY: case PMC_EV_IAP2_SNOOP_STALL_DRV: - case PMC_EV_IAP2_BUS_TRANS_MEM: case PMC_EV_IAP2_BUS_TRANS_BURST: - case PMC_EV_IAP2_BUS_TRANS_DEF: case PMC_EV_IAP2_BUS_TRANS_IO: - case PMC_EV_IAP2_BUS_TRANS_P: case PMC_EV_IAP2_BUS_TRANS_PWR: - case PMC_EV_IAP2_BUS_TRANS_WB: case PMC_EV_IAP2_BUS_TRANS_INVAL: - case PMC_EV_IAP2_BUS_TRANS_RFO: case PMC_EV_IAP2_BUS_TRANS_IFETCH: - case PMC_EV_IAP2_BUS_TRANS_BRD: case PMC_EV_IAP2_BUS_LOCK_CLOCKS: - case PMC_EV_IAP2_BUS_REQUEST_OUTSTANDING: - masks = 2; - IPMMASKSET(cores_and_agents); - break; - - case PMC_EV_IAP2_L2_IFETCH: case PMC_EV_IAP2_L2_ST: - case PMC_EV_IAP2_L2_LOCK: - masks = 2; - IPMMASKSET(cores_and_mesi); - break; - - case PMC_EV_IAP2_EXT_SNOOP: - masks = 2; - IPMMASKSET(cores_and_snoop_response); - break; - - case PMC_EV_IAP2_CMP_SNOOP: - masks = 2; - IPMMASKSET(cores_and_snoop_type); - break; - - case PMC_EV_IAP2_L2_LD: case PMC_EV_IAP2_L2_RQSTS: - case PMC_EV_IAP2_L2_REJECT_BUSQ: - masks = 3; - IPMMASKSET(cores_and_hw_and_mesi); - break; - - default: - pmask = NULL; - break; - } - - /* Parse additional modifiers if present */ - while ((p = strsep(&ctrspec, ",")) != NULL) { - if (KWPREFIXMATCH(p, IPM_KW_CMASK "=")) { - q = strchr(p, '='); - if (*++q == '\0') /* skip '=' */ - return -1; - count = strtol(q, &e, 0); - if (e == q || *e != '\0') - return -1; - pmc_config->pm_caps |= PMC_CAP_THRESHOLD; -#if 0 - pmc_config->pm_md.pm_ppro.pm_ppro_config |= - P6_EVSEL_TO_CMASK(count); -#endif - } else if (KWMATCH(p, IPM_KW_EDGE)) { - pmc_config->pm_caps |= PMC_CAP_EDGE; - } else if (KWMATCH(p, IPM_KW_INV)) { - pmc_config->pm_caps |= PMC_CAP_INVERT; - } else if (KWMATCH(p, IPM_KW_OS)) { - pmc_config->pm_caps |= PMC_CAP_SYSTEM; - } else if (KWPREFIXMATCH(p, IPM_KW_UMASK "=")) { - evmask = 0; - if ((n = pmc_parse_mask(pmask, p, &evmask)) < 0) - return -1; - if (n > masks) - return -1; - pmc_config->pm_caps |= PMC_CAP_QUALIFIER; - } else if (KWMATCH(p, P6_KW_USR)) { - pmc_config->pm_caps |= PMC_CAP_USER; - } else - return -1; - } - - if (evmask == 0 && pmask) { - evmask = default_mask; - pmc_config->pm_caps |= PMC_CAP_QUALIFIER; - } - - if (pmc_config->pm_caps & PMC_CAP_QUALIFIER) - pmc_config->pm_md.pm_ipm.pm_ipm_config |= - IPM_EVSEL_TO_UMASK(evmask); - - pmc_config->pm_class = PMC_CLASS_IAP2; - return 0; -} - static int tsc_allocate_pmc(enum pmc_event pe, char *ctrspec, struct pmc_op_pmcallocate *pmc_config) @@ -2573,10 +2304,6 @@ pmc_event_names_of_class(enum pmc_class ev = p6_event_table; count = PMC_EVENT_TABLE_SIZE(p6); break; - case PMC_CLASS_IAP2: - ev = iap2_event_table; - count = PMC_EVENT_TABLE_SIZE(iap2); - break; default: errno = EINVAL; return (-1); @@ -2739,10 +2466,6 @@ pmc_init(void) PMC_MDEP_INIT(p4); pmc_class_table[n] = &p4_class_table_descr; break; - case PMC_CPU_INTEL_CORE: - case PMC_CPU_INTEL_CORE2: - PMC_MDEP_INIT(iap2); - break; #endif @@ -2858,9 +2581,6 @@ _pmc_name_of_event(enum pmc_event pe, en } else if (pe == PMC_EV_TSC_TSC) { ev = tsc_event_table; evfence = tsc_event_table + PMC_EVENT_TABLE_SIZE(tsc); - } else if (pe >= PMC_EV_IAP1_FIRST && pe <= PMC_EV_IAP2_LAST) { - ev = iap2_event_table; - evfence = iap2_event_table + PMC_EVENT_TABLE_SIZE(iap2); } for (; ev != evfence; ev++) Modified: user/kmacy/HEAD_fast_multi_xmit/lib/libutil/pty.c ============================================================================== --- user/kmacy/HEAD_fast_multi_xmit/lib/libutil/pty.c Fri Dec 5 19:53:12 2008 (r185645) +++ user/kmacy/HEAD_fast_multi_xmit/lib/libutil/pty.c Fri Dec 5 20:40:02 2008 (r185646) @@ -40,6 +40,7 @@ static char sccsid[] = "@(#)pty.c 8.3 (B #include <sys/ioctl.h> #include <sys/stat.h> +#include <unistd.h> #include <errno.h> #include <fcntl.h> #include <grp.h> Modified: user/kmacy/HEAD_fast_multi_xmit/sys/i386/include/pmc_mdep.h ============================================================================== --- user/kmacy/HEAD_fast_multi_xmit/sys/i386/include/pmc_mdep.h Fri Dec 5 19:53:12 2008 (r185645) +++ user/kmacy/HEAD_fast_multi_xmit/sys/i386/include/pmc_mdep.h Fri Dec 5 20:40:02 2008 (r185646) @@ -83,8 +83,7 @@ union pmc_md_op_pmcallocate { struct pmc_md_p4_op_pmcallocate pm_p4; struct pmc_md_pentium_op_pmcallocate pm_pentium; struct pmc_md_ppro_op_pmcallocate pm_ppro; - struct pmc_md_ipm_op_pmcallocate pm_ipm; - uint32_t __pad[7]; + uint64_t __pad[4]; }; /* Logging */ @@ -101,7 +100,6 @@ union pmc_md_pmc { struct pmc_md_p4_pmc pm_p4; struct pmc_md_pentium_pmc pm_pentium; struct pmc_md_ppro_pmc pm_ppro; - struct pmc_md_ipm_pmc pm_ipm; }; struct pmc;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812052040.mB5Ke2nR072426>