From owner-freebsd-smp Mon Nov 25 09:07:56 1996 Return-Path: owner-smp Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA16852 for smp-outgoing; Mon, 25 Nov 1996 09:07:56 -0800 (PST) Received: from clem.systemsix.com (clem.systemsix.com [198.99.86.131]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id JAA16836 for ; Mon, 25 Nov 1996 09:07:39 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by clem.systemsix.com (8.6.12/8.6.12) with SMTP id KAA01825; Mon, 25 Nov 1996 10:05:58 -0700 Message-Id: <199611251705.KAA01825@clem.systemsix.com> X-Authentication-Warning: clem.systemsix.com: Host localhost didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 From: Steve Passe To: Peter Wemm cc: Poul-Henning Kamp , freebsd-smp@freebsd.org Subject: Re: cvs commit: sys/i386/i386 locore.s swtch.s sys/i386/include pmap.h In-reply-to: Your message of "Mon, 25 Nov 1996 09:45:51 MST." <199611251645.JAA01693@clem.systemsix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 25 Nov 1996 10:05:58 -0700 Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi, > > Going this way eliminates (for each reference to curproc): > ... > I thought of a shortcut for this awhile back but never tried it. Any code that > is running inside the kernel and currently has the lock could skip this and > determine which cpu it is with: > > #define LOCKED_CPUNUM() ((mp_lock & 0x0f000000) >> 24) > > you still have the shift, but the APIC access is eliminated. gotto have my first cup of coffee b4 trying to think. This is not quite right, still need the phyToLog indirection, the mplock uses physical CPU#. But it does eliminate the APIC access, the most expensive part of the current call. -- Steve Passe | powered by smp@csn.net | FreeBSD