kp_proc and kp_eproc
Glenn Johnson
gjohnson at srrc.ars.usda.gov
Fri Apr 4 16:07:56 PST 2003
On Fri, Apr 04, 2003 at 03:54:05PM -0800, Julian Elischer wrote:
> yes..
>
> The entire process structure and it's surrounding enviroment has been
> through a blender.
>
> What do you wnat to do?
I would like to learn what I need to do to get the software to compile
on FreeBSD-5. I guess the question is, what information do I need to
provide? The software in question is OpenPBS (http://www.openpbs.org),
so it nothing proprietary. There were a whole bunch of dependency
problems that I worked through manually and finally got to the point
of the kp_proc failure. Here is a snippet of code that produces the
failure:
~~~~~~~~~~
static unsigned long cput_sum(pjob)
job *pjob;
{
static char id[] = "cput_sum";
int i;
u_long cputime;
int nps = 0;
cputime = 0;
for (i=0; i<nproc; i++) {
struct kinfo_proc *pp = &proc_tbl[i];
if (!injob(pjob, sess_tbl[i]))
continue;
nps++;
cputime += tvk(pp->kp_proc.p_rtime);
if (pp->kp_proc.p_ru == NULL) {
struct pstats ps;
DBPRT(("%s: p_stats 0x%lx\n", id,
(u_long)pp->kp_proc.p_stats))
if (pp->kp_proc.p_stats == NULL)
continue;
if (kvm_read(kd, (u_long)pp->kp_proc.p_stats, &ps,
sizeof(ps)) != sizeof(ps)) {
log_err(errno, id, "kvm_read(pstats)");
continue;
}
cputime += tv(ps.p_ru.ru_utime) +
tv(ps.p_ru.ru_stime) +
tv(ps.p_cru.ru_utime) +
tv(ps.p_cru.ru_stime);
}
else {
struct rusage ru;
DBPRT(("%s: p_ru 0x%lx\n", id,
(u_long)pp->kp_proc.p_ru))
if (kvm_read(kd, (u_long)pp->kp_proc.p_ru, &ru,
sizeof(ru)) != sizeof(ru)) {
log_err(errno, id, "kvm_read(session)");
continue;
}
cputime += tv(ru.ru_utime) + tv(ru.ru_stime);
}
DBPRT(("%s: ses %d pid %d cputime %d\n", id,
sess_tbl[i], pp->kp_proc.p_pid, cputime))
}
if (nps == 0)
pjob->ji_flags |= MOM_NO_PROC;
return ((unsigned long)((double)cputime * cputfactor));
}
~~~~~~~~~~
> On Fri, 4 Apr 2003, Glenn Johnson wrote:
>
> > I have some software that compiled fine on FreeBSD-4 but is not
> > compiling on FreeBSD-5. It is looking for kp_proc and kp_eproc.
> > The error I get is:
> >
> > structure has no member named `kp_proc'
> > structure has no member named `kp_eproc'
> >
> > Have those changed from FreeBSD-4?
> >
> > Thanks.
--
Glenn Johnson
USDA, ARS, SRRC Phone: (504) 286-4252
New Orleans, LA 70124 e-mail: gjohnson at srrc.ars.usda.gov
More information about the freebsd-current
mailing list