Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 2004 13:45:10 -0700
From:      Julian Elischer <julian@elischer.org>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: easy to reproduce unkillable threads
Message-ID:  <415B1ED6.8010809@elischer.org>
In-Reply-To: <16731.6010.446877.347190@grasshopper.cs.duke.edu>
References:  <16728.37731.540143.307772@grasshopper.cs.duke.edu> <41589B4A.9080508@elischer.org>	<415AB791.10809@freebsd.org> <16730.48642.4481.841374@grasshopper.cs.duke.edu> <415B13E8.2090205@elischer.org> <16731.6010.446877.347190@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help


Andrew Gallatin wrote:

>Julian Elischer writes:
> > 
> > 
> > Andrew Gallatin wrote:
> > 
> > >David Xu writes:
> > >
> > > > Please tell me easiest way to reproduce it, I tried best to reproduce 
> > > > it, but still got nothing.
> > > > 
> > > > >> http://people.freebsd.org/~gallatin/threadlock.tgz
> > > > >>
> > > > I use this test case.
> > >
> > >Are you on an SMP?  Do you use an 'ssh $HOST skill -u $USER -9' to
> > >send the signal?
> > >
> > >Julian, you can reproduce it, right?
> > >
> > 
> > not yet..
> > 
> > am setting up a SMP test machine to try again..
>
>So far I've only had a chance to test under RELENG_5.
>Maybe some change you made recently fixed it..
>
>Drew
>

while you are about it.. try this:

diff -u -r1.199 kern_thread.c
--- kern/kern_thread.c  25 Sep 2004 00:53:46 -0000      1.199
+++ kern/kern_thread.c  29 Sep 2004 19:45:56 -0000
@@ -282,13 +282,13 @@
 * Initialize type-stable parts of a ksegrp (when newly created).
 */
static int
-ksegrp_init(void *mem, int size, int flags)
+ksegrp_ctor(void *mem, int size, int flags)
{
       struct ksegrp   *kg;

       kg = (struct ksegrp *)mem;
+       bzero(mem, size);
       kg->kg_sched = (struct kg_sched *)&kg[1];
-       /* sched_newksegrp(kg); */
       return (0);
}

@@ -369,7 +369,7 @@
       tid_zone = uma_zcreate("TID", sizeof(struct tid_bitmap_part),
           NULL, NULL, NULL, NULL, UMA_ALIGN_CACHE, 0);
       ksegrp_zone = uma_zcreate("KSEGRP", sched_sizeof_ksegrp(),
-           NULL, NULL, ksegrp_init, NULL,
+           ksegrp_ctor, NULL, NULL, NULL,
           UMA_ALIGN_CACHE, 0);
       kseinit();      /* set up kse specific stuff  e.g. upcall zone*/
}




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