From owner-freebsd-arch Wed Apr 11 14:42: 3 2001 Delivered-To: freebsd-arch@freebsd.org Received: from dirty.research.bell-labs.com (dirty.research.bell-labs.com [204.178.16.6]) by hub.freebsd.org (Postfix) with SMTP id DECBF37B422 for ; Wed, 11 Apr 2001 14:42:00 -0700 (PDT) (envelope-from jkf@aura.research.bell-labs.com) Received: from grubby.research.bell-labs.com ([135.104.2.9]) by dirty; Wed Apr 11 17:40:08 EDT 2001 Received: from aura.research.bell-labs.com ([135.104.46.10]) by grubby; Wed Apr 11 17:40:10 EDT 2001 Received: (from jkf@localhost) by aura.research.bell-labs.com (8.9.1/8.9.1) id RAA14852; Wed, 11 Apr 2001 17:40:07 -0400 (EDT) Date: Wed, 11 Apr 2001 17:40:07 -0400 (EDT) From: Jeff Fellin Message-Id: <200104112140.RAA14852@aura.research.bell-labs.com> To: freebsd-arch@FreeBSD.org, freebsd-smp@FreeBSD.org Subject: Making a driver SMP-safe Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I'm not sure this belongs here or in bsd-smp, so I'm dual posting it. I have a question on what the actual interfaces, and if there are any guidelines on how to convert a device driver that runs in a UniProcessor environement to one that can run on concurrent CPU's in a MultiProcessor environment. Many of the archives talk about mutexes in general, but I haven't seen a concise description of how a driver needs to deal with SMP issues. I have written several SMP drivers using the POSIX and other SMP mutex schemes, so I need to know the API's. I have built my driver on an SMP kernel (STABLE) and it works, at least to funky lock panics. So, I assume something was done to prevent concurrent access to my driver in STABLE. I would like to know what was done to protect the driver from executing concurrently. Any pointers to documents or mail archive entries I may have missed in my searches is appreciated. Jeff Fellin Bell Labs, Murray Hill NJ (908) 582-7673 fellin@lucent.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message