cvs commit: src/sys/kern kern_conf.c

Giorgos Keramidas keramida at freebsd.org
Wed Nov 1 20:20:51 UTC 2006


On 2006-10-19 02:49, Giorgos Keramidas <keramida at 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



More information about the cvs-src mailing list