• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/usr.sbin/kgmon/

Lines Matching refs:kvp

84 void	setprof(struct kvmvars *kvp, int state);
85 void dumpstate(struct kvmvars *kvp);
86 void reset(struct kvmvars *kvp);
190 openfiles(const char *systemname, char *kmemf, struct kvmvars *kvp)
216 kvp->kd = kvm_openfiles(systemname, kmemf, NULL, openmode, errbuf);
217 if (kvp->kd == NULL) {
220 kvp->kd = kvm_openfiles(systemname, kmemf, NULL, O_RDONLY,
223 if (kvp->kd == NULL)
227 if (kvm_nlist(kvp->kd, nl) < 0)
259 getprof(struct kvmvars *kvp)
265 size = kvm_read(kvp->kd, nl[N_GMONPARAM].n_value, &kvp->gpm,
266 sizeof kvp->gpm);
271 size = sizeof kvp->gpm;
272 if (sysctl(mib, 3, &kvp->gpm, &size, NULL, 0) < 0)
286 sizeof(kvp->gpm.hashfraction) || size > sizeof(kvp->gpm))
288 kflag ? kvm_geterr(kvp->kd) : strerror(errno));
289 bzero((char *)&kvp->gpm + size, sizeof(kvp->gpm) - size);
290 if (kvp->gpm.profrate == 0)
291 kvp->gpm.profrate = getprofhz(kvp);
293 if (kvp->gpm.histcounter_type == 0) {
299 kvp->gpm.histcounter_type = 16 /
300 (kvp->gpm.textsize / kvp->gpm.kcountsize) * CHAR_BIT;
301 if (kvp->gpm.histcounter_type == 64)
302 kvp->gpm.histcounter_type = -64;
306 return (kvp->gpm.state);
313 setprof(struct kvmvars *kvp, int state)
334 } else if (kvm_write(kvp->kd, (u_long)&p->state, (void *)&state, sz)
346 dumpstate(struct kvmvars *kvp)
358 setprof(kvp, GMON_PROF_OFF);
369 h.lpc = kvp->gpm.lowpc;
370 h.hpc = kvp->gpm.highpc;
371 h.ncnt = kvp->gpm.kcountsize + sizeof(h);
373 h.profrate = kvp->gpm.profrate;
374 h.histcounter_type = kvp->gpm.histcounter_type;
382 if ((tickbuf = (u_short *)malloc(kvp->gpm.kcountsize)) == NULL)
385 i = kvm_read(kvp->kd, (u_long)kvp->gpm.kcount, (void *)tickbuf,
386 kvp->gpm.kcountsize);
389 i = kvp->gpm.kcountsize;
393 if (i != kvp->gpm.kcountsize)
395 kvp->gpm.kcountsize, (long)i,
396 kflag ? kvm_geterr(kvp->kd) : strerror(errno));
397 if ((fwrite(tickbuf, kvp->gpm.kcountsize, 1, fp)) != 1)
404 if ((froms = (u_short *)malloc(kvp->gpm.fromssize)) == NULL)
407 i = kvm_read(kvp->kd, (u_long)kvp->gpm.froms, (void *)froms,
408 kvp->gpm.fromssize);
411 i = kvp->gpm.fromssize;
415 if (i != kvp->gpm.fromssize)
417 kvp->gpm.fromssize, (long)i,
418 kflag ? kvm_geterr(kvp->kd) : strerror(errno));
419 if ((tos = (struct tostruct *)malloc(kvp->gpm.tossize)) == NULL)
422 i = kvm_read(kvp->kd, (u_long)kvp->gpm.tos, (void *)tos,
423 kvp->gpm.tossize);
426 i = kvp->gpm.tossize;
430 if (i != kvp->gpm.tossize)
432 kvp->gpm.tossize, (long)i,
433 kflag ? kvm_geterr(kvp->kd) : strerror(errno));
436 (unsigned long)kvp->gpm.lowpc, kvp->gpm.textsize);
437 endfrom = kvp->gpm.fromssize / sizeof(*froms);
441 frompc = (u_long)kvp->gpm.lowpc +
442 (fromindex * kvp->gpm.hashfraction * sizeof(*froms));
462 getprofhz(struct kvmvars *kvp)
470 if (kvm_read(kvp->kd, nl[N_PROFHZ].n_value, &profrate,
472 warnx("get clockrate: %s", kvm_geterr(kvp->kd));
488 reset(struct kvmvars *kvp)
494 setprof(kvp, GMON_PROF_OFF);
496 biggest = kvp->gpm.kcountsize;
497 if (kvp->gpm.fromssize > biggest)
498 biggest = kvp->gpm.fromssize;
499 if (kvp->gpm.tossize > biggest)
500 biggest = kvp->gpm.tossize;
505 if (kvm_write(kvp->kd, (u_long)kvp->gpm.kcount, zbuf,
506 kvp->gpm.kcountsize) != (ssize_t)kvp->gpm.kcountsize)
507 errx(13, "tickbuf zero: %s", kvm_geterr(kvp->kd));
508 if (kvm_write(kvp->kd, (u_long)kvp->gpm.froms, zbuf,
509 kvp->gpm.fromssize) != (ssize_t)kvp->gpm.fromssize)
510 errx(14, "froms zero: %s", kvm_geterr(kvp->kd));
511 if (kvm_write(kvp->kd, (u_long)kvp->gpm.tos, zbuf,
512 kvp->gpm.tossize) != (ssize_t)kvp->gpm.tossize)
513 errx(15, "tos zero: %s", kvm_geterr(kvp->kd));
521 if (sysctl(mib, 3, NULL, NULL, zbuf, kvp->gpm.kcountsize) < 0)
524 if (sysctl(mib, 3, NULL, NULL, zbuf, kvp->gpm.fromssize) < 0)
527 if (sysctl(mib, 3, NULL, NULL, zbuf, kvp->gpm.tossize) < 0)