From owner-cvs-sys Sun Aug 27 10:27:09 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id KAA27781 for cvs-sys-outgoing; Sun, 27 Aug 1995 10:27:09 -0700 Received: from halloran-eldar.lcs.mit.edu (halloran-eldar.lcs.mit.edu [18.26.0.159]) by freefall.FreeBSD.org (8.6.11/8.6.6) with SMTP id KAA27774 ; Sun, 27 Aug 1995 10:26:47 -0700 Received: by halloran-eldar.lcs.mit.edu; (5.65/1.1.8.2/19Aug95-0530PM) id AA27912; Sun, 27 Aug 1995 13:26:28 -0400 Date: Sun, 27 Aug 1995 13:26:28 -0400 From: "Garrett A. Wollman" Message-Id: <9508271726.AA27912@halloran-eldar.lcs.mit.edu> To: Bruce Evans Cc: CVS-commiters@freefall.FreeBSD.org, bde@freefall.FreeBSD.org, cvs-sys@freefall.FreeBSD.org Subject: Re: cvs commit: src/sys/vm vm_map.h vm_map.c In-Reply-To: <199508270107.LAA23799@godzilla.zeta.org.au> References: <199508270107.LAA23799@godzilla.zeta.org.au> Sender: cvs-sys-owner@FreeBSD.org Precedence: bulk < said: > 1) for syscalls. The conversion from the application's args is [...] > bar_args *'. Perhaps the right method is to pass a `void *' > or `int *' and convert it in each function, like you have to > do for qsort(). This is precisely the approach I took when doing this rationalization in 1.x. I would have preferred to continue it (and fix the current syscalls to match the old model), but other people wanted to do it the new (broken) 4.4-Lite way, and I let them have their way. > 2) for protoswitch functions. The number and type of args sometimes > depends on the protocol. For pr_input routines, it always depends on the protocol. The solution that I prefer for these is to declare pr_input as a `void (*)(void)' and then define some protocol-specific macros to cast it to the correct value. If there were a way I could think of to use unions the same way for increased type-safety, I'd prefer that. > If everything passed the correct number and type of args then we > could compile the kernel with -mrtd -mregparm to save a few cycles. > -mregparm is officially supported for the i386 in gcc-2.7.0. This would be a nice thing to have. There are almost certainly other architectures where it would benefit more. -GAWollman -- Garrett A. Wollman | Shashish is simple, it's discreet, it's brief. ... wollman@lcs.mit.edu | Shashish is the bonding of hearts in spite of distance. Opinions not those of| It is a bond more powerful than absence. We like people MIT, LCS, ANA, or NSA| who like Shashish. - Claude McKenzie + Florent Vollant