From owner-freebsd-smp Thu Nov 18 20:43:41 1999 Delivered-To: freebsd-smp@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 5FAD514CB0 for ; Thu, 18 Nov 1999 20:43:39 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id UAA90542; Thu, 18 Nov 1999 20:43:29 -0800 (PST) (envelope-from dillon) Date: Thu, 18 Nov 1999 20:43:29 -0800 (PST) From: Matthew Dillon Message-Id: <199911190443.UAA90542@apollo.backplane.com> To: Peter Wemm Cc: Alfred Perlstein , Charles Randall , freebsd-smp@FreeBSD.ORG Subject: Re: Big Giant Lock progress? References: <19991119042155.1D6711CA0@overcee.netplex.com.au> Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org : :I have a problem with this portion of the smp-patch-02.diff: : :Index: sys/lock.h :=================================================================== :RCS file: /home/ncvs/src/sys/sys/lock.h,v :retrieving revision 1.16 :diff -u -r1.16 lock.h :--- lock.h 1999/08/28 00:51:50 1.16 :+++ lock.h 1999/11/18 08:22:37 :@@ -208,4 +208,15 @@ : #endif /* NCPUS == 1 */ : #endif /* !SIMPLELOCK_DEBUG */ : :+#ifdef SMP :+void get_mplock(void); :+void rel_mplock(void); :... Yes, that's actually not part of my patch set, but Alfred's, thanks for pointing it out! I accidently left it in there. It will not be part of the commit. That said, I'm not sure it's possible to make modules SMP-unaware unless we commit ourselves to having dummy mplock and simplelock procedures for non-SMP kernels. i.e. real procedures that are empty instead of a #define to non-existance. Without a kernel device driver or module API, we are pretty much S.O.L. with modules already - if you don't recompile your modules when you recompile the kernel, bad things often happen. -Matt Matthew Dillon :+#define GET_SYSCALL_LOCK get_mplock() :+#define REL_SYSCALL_LOCK rel_mplock() :+#else /* !SMP */ :+#define GET_SYSCALL_LOCK :+#define REL_SYSCALL_LOCK :+#endif /* SMP */ :+ :+ : #endif /* !_LOCK_H_ */ : :This appears to be unrelated to the MPgetlock etc code so it may not be :intended to be there. However, the problem is that it looks like it's :exposing more "#ifdef SMP" to modules.. This is a problem if we have to :have a SMP vs non-SMP set of modules for 4.0-RELEASE, especially for things :like OSS. Obviously I haven't seen the code, but please keep this in mind. : :Cheers, :-Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message