Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jul 1999 22:38:03 -0700
From:      Mike Smith <mike@smith.net.au>
To:        "Andrew Reilly" <a.reilly@lake.com.au>
Cc:        Mike Smith <mike@smith.net.au>, Mike Haertel <mike@ducky.net>, Matthew Dillon <dillon@apollo.backplane.com>, Luoqi Chen <luoqi@watermarkgroup.com>, dfr@nlsystems.com, jeremyp@gsmx07.alcatel.com.au, freebsd-current@FreeBSD.ORG
Subject:   Re: "objtrm" problem probably found (was Re: Stuck in "objtrm") 
Message-ID:  <199907130538.WAA04527@dingo.cdrom.com>
In-Reply-To: Your message of "Tue, 13 Jul 1999 15:37:16 %2B1000." <19990713153716.A94421@gurney.reilly.home> 

next in thread | previous in thread | raw e-mail | index | archive | help
> On Mon, Jul 12, 1999 at 07:09:58PM -0700, Mike Smith wrote:
> > > Although function calls are more expensive than inline code,
> > > they aren't necessarily a lot more so, and function calls to
> > > non-locked RMW operations are certainly much cheaper than
> > > inline locked RMW operations.
> > 
> > This is a fairly key statement in context, and an opinion here would 
> > count for a lot; are function calls likely to become more or less 
> > expensive in time?
> 
> Others have answered this question, but I thought I'd point out
> that there is another alternative that is likely to be faster
> than indirect function calls on some architectures: inline
> branched code.  So you still have a global variable selecting
> locked/non-locked, but it's a boolean, rather than a pointer.
> Your atomic macros are then { if (atomic_lock) asm("lock;foo");
> else asm ("foo"); }

This requires you to have all the methods present at compile time, 
which defeats the entire purpose of dynamic method loading.


-- 
\\  The mind's the standard       \\  Mike Smith
\\  of the man.                   \\  msmith@freebsd.org
\\    -- Joseph Merrick           \\  msmith@cdrom.com




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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