[Bikeshed] sigacts locking

David Schultz das at FreeBSD.ORG
Sat May 10 10:26:11 PDT 2003


On Fri, May 09, 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.

It occurs to me that this leaves very little in the uarea.  You
have a struct pstats, which is less than 256 bytes, and you have
the kinfo_proc, which shouldn't need to be there anyway.  Perhaps
now would also be a good time to get rid of uarea swapping and the
associated complexity altogether.


More information about the freebsd-arch mailing list