Date: Wed, 21 Jan 2009 18:35:56 -0500 (EST) From: Daniel Eischen <deischen@freebsd.org> To: Brian Fundakowski Feldman <green@freebsd.org> Cc: hackers@freebsd.org, Jason Evans <jasone@freebsd.org>, Julian Elischer <julian@elischer.org> Subject: Re: threaded, forked, rethreaded processes will deadlock Message-ID: <Pine.GSO.4.64.0901211831210.4150@sea.ntplx.net> In-Reply-To: <20090121230033.GC12007@green.homeunix.org> References: <20090109031942.GA2825@green.homeunix.org> <Pine.GSO.4.64.0901082237001.28531@sea.ntplx.net> <20090109053117.GB2825@green.homeunix.org> <4966F81C.3070406@elischer.org> <20090109163426.GC2825@green.homeunix.org> <49678BBC.8050306@elischer.org> <20090116211959.GA12007@green.homeunix.org> <49710BD6.7040705@FreeBSD.org> <20090120004135.GB12007@green.homeunix.org> <20090121230033.GC12007@green.homeunix.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 21 Jan 2009, Brian Fundakowski Feldman wrote: > On Mon, Jan 19, 2009 at 07:41:35PM -0500, Brian Fundakowski Feldman wrote: >> On Fri, Jan 16, 2009 at 02:36:06PM -0800, Jason Evans wrote: >>> Brian Fundakowski Feldman wrote: >>> > Could you, and anyone else who would care to, check this out? It's a >>> regression >>>> fix but it also makes the code a little bit clearer. Thanks! >>>> >>>> Index: lib/libc/stdlib/malloc.c >>> >>> Why does malloc need to change for this? Unless there's a really good >>> reason, I don't want the extra branches in the locking functions. >> >> Because malloc is the thing causing the regression. It is easy enough >> to optimize out the one extra fetch and branch in the single-threaded case >> if I can get some consensus that the fix to it is actually fine. The changes to thr_fork.c seem gratuituous; they don't affect any functionality, and I don't see the difference between the flag saying "unlock the malloc mutex" or "I was threaded". Clearly, it is set in "if (__isthreaded)", so it is obvious that it indeed was threaded. I can't speak to the malloc changes... -- DE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0901211831210.4150>