Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 May 2003 15:48:04 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        arch@freebsd.org
Subject:   Re: [Bikeshed] sigacts locking
Message-ID:  <XFMail.20030512154804.jhb@FreeBSD.org>
In-Reply-To: <20030509201646.Q99131-100000@mail.chesapeake.net>

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

On 10-May-2003 Jeff Roberson wrote:
> On Fri, 9 May 2003, John Baldwin wrote:
> 
>> As part of the locking for the proc structure, I needed to lock
>> the procsig and sigacts stuctures so that kill(), killpg(),
>> sigaction() and a few other system calls can be pulled out from
>> under Giant.  After talking with Peter some, I decided to
>> pull the sigacts structure out of the u-area and merge it with
>> the procsig structure under the sigacts name.  I then added a
>> mutex to each sigacts and added locking where appropriate.  With
>> this change, the aforementioned system calls are now MP safe
>> along with sendsig(), *signal(), cursig(), etc.  The patch for
>> all this is at http://www.FreeBSD.org/~jhb/patches/sigacts.patch
>> I would appreciate comments, review, etc. that people may have.
>> If all goes well I hope to get this into 5.1.  Thanks.
>>
> 
> I'm all for this, but I have a few concerns.  Right now the UAREA is
> mostly taken up by sigacts.  Without it the page is quite empty.  This
> means that we'll be allocating more storage elsewhere while leaving this
> for nothing.
> 
> Have you given any thought to removing the other bits from uarea, or
> allocating uarea using a zone instead of a whole page?  Alternatively, you
> could disable paging for the uarea and leave sigacts in it.

Leaving sigacts in the u-area is quite ugly because for rfork()
RFTHREAD processes we don't use the sigacts in the u-area, we use
a malloc'd one instead.  Accomplishing that is quite ugly.

> I just hate to s ee the wasted space.

I don't have any future plans for the u-area specifically.  Any of
your suggestions (using a zone, axeing it completely, etc.) sound
fine to me as to how to avoid wasting space.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20030512154804.jhb>