Date: Fri, 4 Apr 2003 18:07:12 -0600 From: Glenn Johnson <gjohnson@srrc.ars.usda.gov> To: Julian Elischer <julian@elischer.org> Cc: current@freebsd.org Subject: Re: kp_proc and kp_eproc Message-ID: <20030405000712.GA9839@node1.cluster.srrc.usda.gov> In-Reply-To: <Pine.BSF.4.21.0304041552270.35903-100000@InterJet.elischer.org> References: <20030404234917.GA98049@node1.cluster.srrc.usda.gov> <Pine.BSF.4.21.0304041552270.35903-100000@InterJet.elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@srrc.ars.usda.gov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030405000712.GA9839>