Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Aug 2001 17:37:07 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Matt Dillon <dillon@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   RE: cvs commit: src/sys/kern init_sysent.c sysv_msg.c sysv_sem.c
Message-ID:  <XFMail.010830173707.jhb@FreeBSD.org>
In-Reply-To: <200108310002.f7V02I979592@freefall.freebsd.org>

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


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 <jhb@FreeBSD.org> -- 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




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