*BSD News Article 56799


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!spool.mu.edu!howland.reston.ans.net!math.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!caleb!chet
From: chet@caleb.INS.CWRU.Edu (Chet Ramey)
Newsgroups: comp.unix.bsd.bsdi.misc
Subject: Re: identd causing load problems
Date: 6 Dec 1995 15:55:35 GMT
Organization: Case Western Reserve University, Cleveland, Ohio, USA
Lines: 52
Message-ID: <4a4edn$cls@madeline.INS.CWRU.Edu>
References: <4a1tcb$mjs@opal.southwind.net>
NNTP-Posting-Host: caleb.ins.cwru.edu

>We're running BSD/OS 2.0.1 with the bundled identd.  Periodically an
>identd process doesn't die.  This usually results in some more of them
>not dying shortly thereafter, which puts a very high load on the system.
>When we were running BSDI 1.1 I installed identd for a short time and
>had the same problem.  Currently I have killer process snuffing these
>things every five minutes.  Is there a patch available for this?

The BSD/OS identd works way too hard.  Here are some diffs to kernel.c I
sent to BSDI support.  (I use pidentd-2.5 rather then the version 2.4
shipped with BSD/OS, hence the difference in filenames.)

*** kernel/bsdi2.c	Tue Oct 17 15:56:59 1995
--- /usr/src/libexec/identd/kernel.c	Fri Feb  3 01:45:59 1995
***************
*** 121,133 ****
    char *what;
  {
!   int e;
!   if ((e = kvm_read(kd, addr, buf, len)) < len)
    {
!     if (syslog_flag && e < 0)
!     {
!       char *z = kvm_geterr(kd);
!       syslog(LOG_ERR, "getbuf: kvm_read(%08x, %d) - %s : %m (%s)",
! 	     addr, len, what, z);
!     }
  
      return 0;
--- 121,129 ----
    char *what;
  {
!   if (kvm_read(kd, addr, buf, len) < 0)
    {
!     if (syslog_flag)
!       syslog(LOG_ERR, "getbuf: kvm_read(%08x, %d) - %s : %m",
! 	     addr, len, what);
  
      return 0;
***************
*** 238,244 ****
        for(j = 0; j < pfd.fd_nfiles; j ++)
        {
-       	if (ofiles[j] == 0)
-           continue;
- 
          if(!getbuf(ofiles[j], &ofile, sizeof(struct file), "ofile"))
          {
--- 231,234 ----
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer

Chet Ramey, Case Western Reserve University	Internet: chet@po.CWRU.Edu