Skip site navigation (1)Skip section navigation (2)
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>