Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Nov 2006 22:19:41 +0200
From:      Giorgos Keramidas <keramida@freebsd.org>
To:        Martin Blapp <mb@imp.ch>, Tor Egge <tegge@freebsd.org>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/kern kern_conf.c
Message-ID:  <20061101201941.GC4417@kobe.laptop>
In-Reply-To: <20061018234916.GA1711@gothmog.pc>
References:  <200610132049.k9DKnObw045731@repoman.freebsd.org> <20061015091459.V72308@godot.imp.ch> <20061018234916.GA1711@gothmog.pc>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2006-10-19 02:49, Giorgos Keramidas <keramida@freebsd.org> wrote:
> Maybe it's not related, but all xterm's seem unkillable and blocked
> forever in "devdrn" here, in a build from 2006.10.18.15.56.11.
> 
> An earlier sync from 2006.10.13.12.45.54 didn't exhibit this behavior,
> so I guess there's something mildly buggy with this change?

I still have to use the following local diff to get "killable" xterm
processes:

% diff -r a61844fa2f23 sys/kern/kern_conf.c
% --- a/sys/kern/kern_conf.c      Wed Nov 01 21:49:16 2006 +0200
% +++ b/sys/kern/kern_conf.c      Wed Nov 01 02:33:08 2006 +0200
% @@ -676,7 +676,6 @@ destroy_devl(struct cdev *dev)
%                 dev->si_flags &= ~SI_CLONELIST;
%         }
%  
% -       dev->si_refcount++;     /* Avoid race with dev_rel() */
%         csw = dev->si_devsw;
%         dev->si_devsw = NULL;   /* already NULL for SI_ALIAS */
%         while (csw != NULL && csw->d_purge != NULL && dev->si_threadcount) {
% @@ -686,10 +685,6 @@ destroy_devl(struct cdev *dev)
%                         printf("Still %lu threads in %s\n",
%                             dev->si_threadcount, devtoname(dev));
%         }
% -       while (dev->si_threadcount != 0) {
% -               /* Use unique dummy wait ident */
% -               msleep(&csw, &devmtx, PRIBIO, "devdrn", hz / 10);
% -       }
%  
%         dev->si_drv1 = 0;
%         dev->si_drv2 = 0;
% @@ -704,7 +699,6 @@ destroy_devl(struct cdev *dev)
%                         fini_cdevsw(csw);
%         }
%         dev->si_flags &= ~SI_ALIAS;
% -       dev->si_refcount--;     /* Avoid race with dev_rel() */
%  
%         if (dev->si_refcount > 0) {
%                 LIST_INSERT_HEAD(&dead_cdevsw.d_devs, dev, si_list);

If it is related, at all, I am using `kern.pts.enable=1' here, and a
slightly modified GENERIC kernel config.  The differences from GENERIC
are mostly removed SCSI devices and added options for the PF firewall,
but I can send a diff if needed.

Has this been fixed in HEAD, in a way that I missed while looking at the
recent changes?

- Giorgos




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061101201941.GC4417>