From owner-freebsd-smp Wed May 7 10:29:09 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id KAA03305 for smp-outgoing; Wed, 7 May 1997 10:29:09 -0700 (PDT) Received: from caipfs.rutgers.edu (root@caipfs.rutgers.edu [128.6.19.100]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id KAA03298 for ; Wed, 7 May 1997 10:29:06 -0700 (PDT) Received: from jenolan.caipgeneral (jenolan.rutgers.edu [128.6.111.5]) by caipfs.rutgers.edu (8.8.5/8.8.5) with SMTP id NAA00422; Wed, 7 May 1997 13:27:30 -0400 (EDT) Received: by jenolan.caipgeneral (SMI-8.6/SMI-SVR4) id NAA05360; Wed, 7 May 1997 13:26:09 -0400 Date: Wed, 7 May 1997 13:26:09 -0400 Message-Id: <199705071726.NAA05360@jenolan.caipgeneral> From: "David S. Miller" To: terry@lambert.org CC: steve@visint.co.uk, terry@lambert.org, freebsd-smp@FreeBSD.ORG In-reply-to: <199705071704.KAA21345@phaeton.artisoft.com> (message from Terry Lambert on Wed, 7 May 1997 10:04:01 -0700 (MST)) Subject: Re: Where to start SMP? Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk From: Terry Lambert Date: Wed, 7 May 1997 10:04:01 -0700 (MST) Depends on whether the options are set with negative or positive logic, and at what level they are wired in. Best case, they cause the use of different contents of an existing function pointer and are set at boot time. Worst case, they are an extra compare and branch in a path. Wrong, best case they use self modifying code so there is zero cost. Each call really points to a patch function, which takes the return address and patches that call instruction to actually call the locking function for the desired MODE. Therefore you eat the relocation cost once per code path, it essentially dynamically links itself at run time. Come on Terry, read the friggin' paper before becoming an instant expert on how to do these things... ---------------------------------------------//// Yow! 11.26 MB/s remote host TCP bandwidth & //// 199 usec remote TCP latency over 100Mb/s //// ethernet. Beat that! //// -----------------------------------------////__________ o David S. Miller, davem@caip.rutgers.edu /_____________/ / // /_/ ><