From owner-cvs-all Thu Aug 30 17:57:32 2001 Delivered-To: cvs-all@freebsd.org Received: from mail.wrs.com (unknown-1-11.windriver.com [147.11.1.11]) by hub.freebsd.org (Postfix) with ESMTP id 0A8E837B407; Thu, 30 Aug 2001 17:57:23 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: from laptop.baldwin.cx (john@[147.11.46.201]) by mail.wrs.com (8.9.3/8.9.1) with ESMTP id RAA12840; Thu, 30 Aug 2001 17:37:02 -0700 (PDT) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <200108310002.f7V02I979592@freefall.freebsd.org> Date: Thu, 30 Aug 2001 17:37:07 -0700 (PDT) From: John Baldwin To: Matt Dillon Subject: RE: cvs commit: src/sys/kern init_sysent.c sysv_msg.c sysv_sem.c Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 31-Aug-01 Matt Dillon wrote: > dillon 2001/08/30 17:02:18 PDT > > Modified files: > sys/kern init_sysent.c sysv_msg.c sysv_sem.c > sysv_shm.c syscalls.master > Log: > Giant Pushdown: sysv shm, sem, and msg calls. You could probably minimize a lot of these diffs using a UGAR() macro similar ot BSD/OS's EGAR macro. It unlocks Giant and then returns the value passed in. Thus return(foo); becomes UGAR(foo); This would make the diffs much simpler, which also makes it easier to take Giant out of syscalls later on: #define UGAR(rval) do { \ int _val = (rval); \ mtx_unlock(&Giant); \ return (_val); \ } while (0) -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message