From owner-freebsd-current Fri Dec 18 07:32:26 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id HAA20538 for freebsd-current-outgoing; Fri, 18 Dec 1998 07:32:26 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from ns.tar.com (ns.tar.com [204.95.187.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id HAA20533 for ; Fri, 18 Dec 1998 07:32:24 -0800 (PST) (envelope-from lists@tar.com) Received: from ppro.tar.com (ppro.tar.com [204.95.187.9]) by ns.tar.com (8.9.1/8.9.1) with SMTP id JAA10366; Fri, 18 Dec 1998 09:31:33 -0600 (CST) (envelope-from lists@tar.com) Message-Id: <199812181531.JAA10366@ns.tar.com> From: "Richard Seaman, Jr." To: "Julian Elischer" , "Mike Smith" Cc: "current@freebsd.org" Date: Fri, 18 Dec 98 09:31:32 -0600 Reply-To: "Richard Seaman, Jr." X-Mailer: PMMail 1.92 For OS/2 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Subject: Re: Linux Threads patches available Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, 17 Dec 1998 19:57:30 -0800, Julian Elischer wrote: >The only downside I see to this is the addition of >328 bytes to the size of the proc struct. >when those structs were in the U area, they were swapable. > >mind you, how many processes are swapped entirely on most systems? When Brian Feldman posted the first version of his patches for shared sigacts, someone (I'd have to check the archives to find out who) suggested leaving the sigacts structure in the U area, and only allocating the additional proc area structure in the event of an rforked process with the RFSIGSHARE option. This would involve then copying the values from the U area into the new malloc'd structure and resetting the p_sigacts pointer in both the parent and child. Then when the refcnt of the proc area structure gets back down to one, the values are copied back out to the U area structure, the proc pointer is reset and the area freed. It involves a little more coding, but would avoid most of the increase in the proc structure for non-threaded processes (but involves lugging around an unused U area structure per thread (ie. per process) for the RFSIGSHARE rforked process. If the extra proc size is a problem, this idea could be pursued. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message