From owner-freebsd-smp Tue Jun 20 12:58:55 2000 Delivered-To: freebsd-smp@freebsd.org Received: from sydney.worldwide.lemis.com (term33.conference.usenix.org [209.179.127.33]) by hub.freebsd.org (Postfix) with ESMTP id 672C837BFBA for ; Tue, 20 Jun 2000 12:58:51 -0700 (PDT) (envelope-from grog@sydney.worldwide.lemis.com) Received: (from grog@localhost) by sydney.worldwide.lemis.com (8.9.3/8.9.3) id MAA05534; Tue, 20 Jun 2000 12:58:40 -0700 (PDT) (envelope-from grog) Date: Tue, 20 Jun 2000 12:58:40 -0700 From: Greg Lehey To: Matthew Dillon Cc: freebsd-smp@freebsd.org Subject: Re: SMP discussion moving to freebsd-smp Message-ID: <20000620125840.E502@sydney.worldwide.lemis.com> References: <200006201708.KAA87060@apollo.backplane.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre2i In-Reply-To: <200006201708.KAA87060@apollo.backplane.com> Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.lemis.com/~grog X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tuesday, 20 June 2000 at 10:08:30 -0700, Matthew Dillon wrote: > All SMP/FreeBSD/BSDI work should move to the freebsd-smp list. > > (I've BCC'd this to -current). > > -- > > I now have mutexes 99% working in an SP build. I will be making > SP (single processor) patch sets available tonight or tomorrow > morning. (99% == I can boot the machine normally but after a > while it locks up due to an interrupt nesting issue which I haven't > dealt with yet). Great. > In order to make an MP build work, we need interrupt threads (either > light or heavy weight). > > Greg, you expressed an interest in doing the light-weight interrupt > threads. Yes, I've committed to both tasks, first the heavyweight processes and then the light-weight threads. > Do you want me to do the heavy-weight interrupt threads first? > It's a lot of nasty assembly and it is a prerequisit for being > able to do the light weight interrupt threads. Thanks, I don't have any problem with assembler. > I think once the heavy weight interrupt threads are done that > the light weight interrupts can be implemented entirely in C. Interestingly, I was expecting more assembler in the light-weight threads. But in both cases I would expect the assembler component to be minimal in either case. > Right now the SP build works because I am allowing (unthreaded) > interrupts to steal the idleproc's context, and that only works > because they can get the giant mutex without blocking (remember, > the BSDI giant mutex is a blocking mutex, not a spin mutex). In > the MP build the interrupts need to be able to block getting the > giant mutex which means we need to implement heavy-weight > interrupt threads at the very least before we can get anything > working, because we are not allowed to block in the idleproc. Right, that was my understanding last week. > I believe I have done almost everything necessary to implement > heavy weight interrupt threads, including moving the kthreads > initialization code to an earlier point in the boot process (so > much so that I think the device init stuff can run with working > kernel processes rather then with all the delayed-thread stuff). Why don't we take this one off line and discuss just how it should be done? I'm at USENIX at the moment and don't have much time to invest on this topic (as promised last week), but we also agreed that it didn't have to be ready this week. Greg -- Finger grog@lemis.com for PGP public key See complete headers for address and phone numbers To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message