Project

General

Profile

Actions

Bug #855

closed

hwpmc [12/13]

Added by aoiko over 16 years ago. Updated about 14 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Minor adjustments for dragonfly.

diff upr -x CVS usr.sbin/pmccontrol.freebsd/pmccontrol.c usr.sbin/pmccontrol/pmccontrol.c
--
usr.sbin/pmccontrol.freebsd/pmccontrol.c
+++ usr.sbin/pmccontrol/pmccontrol.c
@ -26,7 +26,7 @
*/

#include <sys/cdefs.h>
-_FBSDID("$FreeBSD: src/usr.sbin/pmccontrol/pmccontrol.c,v 1.6 2006-02-27 14:25:32 jkoshy Exp $");
+/*
_FBSDID("$FreeBSD: src/usr.sbin/pmccontrol/pmccontrol.c,v 1.6 2006-02-27 14:25:32 jkoshy Exp $");*/
#include <sys/types.h>
#include <sys/queue.h>
diff upr -x CVS usr.sbin/pmcstat.freebsd/pmcstat.c usr.sbin/pmcstat/pmcstat.c
--
usr.sbin/pmcstat.freebsd/pmcstat.c
+++ usr.sbin/pmcstat/pmcstat.c
@ -25,7 +25,7 @
*/
#include <sys/cdefs.h>
-_FBSDID("$FreeBSD: src/usr.sbin/pmcstat/pmcstat.c,v 1.17 2007-04-27 12:09:31 jkoshy Exp $");
+/*
_FBSDID("$FreeBSD: src/usr.sbin/pmcstat/pmcstat.c,v 1.17 2007-04-27 12:09:31 jkoshy Exp $");*/
#include <sys/types.h>
#include <sys/event.h>
@ -139,7 +139,7 @ pmcstat_cleanup(struct pmcstat_args *a)
struct pmcstat_ev *ev, *tmp;

/* release allocated PMCs. */
- STAILQ_FOREACH_SAFE(ev, &a->pa_events, ev_next, tmp)
+ STAILQ_FOREACH_MUTABLE(ev, &a->pa_events, ev_next, tmp)
if (ev->ev_pmcid != PMC_ID_INVALID) {
if (pmc_release(ev->ev_pmcid) < 0)
err(EX_OSERR, "ERROR: cannot release pmc "
@ -278,7 +278,7 @ pmcstat_find_targets(struct pmcstat_args
errbuf)) == NULL)
err(EX_OSERR, "ERROR: Cannot open kernel \"%s\"",
errbuf);
- if ((pmcstat_plist = kvm_getprocs(pmcstat_kvm, KERN_PROC_PROC,
+ if ((pmcstat_plist = kvm_getprocs(pmcstat_kvm, KERN_PROC_ALL,
0, &nproc)) == NULL)
err(EX_OSERR, "ERROR: Cannot get process list: %s",
kvm_geterr(pmcstat_kvm));
@ -291,10 +291,10 @ pmcstat_find_targets(struct pmcstat_args
}

for (n = 0, kp = pmcstat_plist; n < nproc; n++, kp++) {
- if ((rv = regexec(&reg, kp->ki_comm, 1, &regmatch, 0)) 0) {
+ if ((rv = regexec(&reg, kp->kp_comm, 1, &regmatch, 0)) 0) {
if ((pt = malloc(sizeof(*pt))) == NULL)
goto outofmemory;
- pt->pt_pid = kp->ki_pid;
+ pt->pt_pid = kp->kp_pid;
SLIST_INSERT_HEAD(&a->pa_targets, pt, pt_next);
} else if (rv != REG_NOMATCH) {
regerror(rv, &reg, errbuf, sizeof(errbuf));
diff upr -x CVS usr.sbin/pmcstat.freebsd/pmcstat_log.c usr.sbin/pmcstat/pmcstat_log.c
--
usr.sbin/pmcstat.freebsd/pmcstat_log.c
+++ usr.sbin/pmcstat/pmcstat_log.c
@ -30,7 +30,7 @
*/

#include &lt;sys/cdefs.h&gt;
-_FBSDID("$FreeBSD: src/usr.sbin/pmcstat/pmcstat_log.c,v 1.10 2006-04-05 15:12:25 jkoshy Exp $");
+/*
_FBSDID("$FreeBSD: src/usr.sbin/pmcstat/pmcstat_log.c,v 1.10 2006-04-05 15:12:25 jkoshy Exp $");*/
#include &lt;sys/param.h&gt;
#include &lt;sys/endian.h&gt;
@ -411,7 +411,7 @ pmcstat_string_shutdown(void)
struct pmcstat_string *ps, *pstmp;

for (i = 0; i < PMCSTAT_NHASH; i++)
- LIST_FOREACH_SAFE(ps, &pmcstat_string_hash[i], ps_next,
+ LIST_FOREACH_MUTABLE(ps, &pmcstat_string_hash[i], ps_next,
pstmp) {
LIST_REMOVE(ps, ps_next);
free(ps->ps_string);
@ -444,7 +444,6 @ pmcstat_gmon_create_file(struct pmcstat_
sizeof(struct gmonhdr);
gm.version = GMONVERSION;
gm.profrate = 0; /* use ticks /
- gm.histcounter_type = 0; /
compatibility with moncontrol() */
gm.spare0 = gm.spare1 = 0;

/* Write out the gmon header */
@ -689,9 +688,9 @ pmcstat_image_get_elf_params(struct pmcs
} while (0)

switch (h->e_machine) {
+#if defined(amd64)
case EM_386:
case EM_486:
#if defined(amd64)
/* a 32 bit executable */
h32 = (const Elf32_Ehdr *) h;
sh32 = (const Elf32_Shdr *)((uintptr_t) mapbase + h32
>e_shoff);
@ -1013,7 +1012,7 @ pmcstat_image_unmap(struct pmcstat_proce * middle of a pcmap; in this case shorten the entry.
*/

- TAILQ_FOREACH_SAFE(pcm, &pp->pp_map, ppm_next, pcmtmp) {
+ TAILQ_FOREACH_MUTABLE(pcm, &pp->pp_map, ppm_next, pcmtmp) {
assert(pcm->ppm_lowpc < pcm->ppm_highpc);
if (pcm->ppm_highpc <= start)
continue;
@ -1223,12 +1222,12 @ pmcstat_process_lookup(pid_t pid, int al

hash = (uint32_t) pid & PMCSTAT_HASH_MASK;    /* simplicity wins */

- LIST_FOREACH_SAFE(pp, &pmcstat_process_hash[hash], pp_next, pptmp)
+ LIST_FOREACH_MUTABLE(pp, &pmcstat_process_hash[hash], pp_next, pptmp)
if (pp->pp_pid pid) {
/* Found a descriptor, check and process zombies /
if (allocate && pp->pp_isactive 0) {
/
remove maps */
- TAILQ_FOREACH_SAFE(ppm, &pp->pp_map, ppm_next,
+ TAILQ_FOREACH_MUTABLE(ppm, &pp->pp_map, ppm_next,
ppmtmp) {
TAILQ_REMOVE(&pp->pp_map, ppm, ppm_next);
free(ppm);
@ -1434,7 +1433,7 @ pmcstat_convert_log(struct pmcstat_args
PMCSTAT_ALLOCATE);

/* delete the current process map */
- TAILQ_FOREACH_SAFE(ppm, &pp->pp_map, ppm_next, ppmtmp) {
+ TAILQ_FOREACH_MUTABLE(ppm, &pp->pp_map, ppm_next, ppmtmp) {
TAILQ_REMOVE(&pp->pp_map, ppm, ppm_next);
free(ppm);
}
@ -1799,7 +1798,7 @ pmcstat_shutdown_logging(struct pmcstat_
(void) fprintf(mf, "MAP:\n");
for (i = 0; i < PMCSTAT_NHASH; i++) {
- LIST_FOREACH_SAFE(pi, &pmcstat_image_hash[i], pi_next, pitmp) {
+ LIST_FOREACH_MUTABLE(pi, &pmcstat_image_hash[i], pi_next, pitmp) {
if (mf)
(void) fprintf(mf, " \"%s\" => \"%s\"",
@ -1807,7 +1806,7 @ pmcstat_shutdown_logging(struct pmcstat_
pmcstat_string_unintern(pi->pi_samplename));
/* flush gmon.out data to disk */
- LIST_FOREACH_SAFE(pgf, &pi->pi_gmlist, pgf_next,
+ LIST_FOREACH_MUTABLE(pgf, &pi->pi_gmlist, pgf_next,
pgftmp) {
pmcstat_gmon_unmap_file(pgf);
LIST_REMOVE(pgf, pgf_next);
@ -1829,7 +1828,7 @ pmcstat_shutdown_logging(struct pmcstat_
LIST_REMOVE(pi, pi_next);
free(pi);
}
- LIST_FOREACH_SAFE(pp, &pmcstat_process_hash[i], pp_next,
+ LIST_FOREACH_MUTABLE(pp, &pmcstat_process_hash[i], pp_next,
pptmp) {
LIST_REMOVE(pp, pp_next);
free(pp);
Actions #1

Updated by alexh about 14 years ago

See Issue1714.

Actions

Also available in: Atom PDF