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>