| From | Sent On | Attachments |
|---|---|---|
| Matthew Dillon | Jun 20, 2000 10:08 am | |
| Matthew Jacob | Jun 20, 2000 10:15 am | |
| Matthew Dillon | Jun 20, 2000 10:54 am | |
| Matthew Jacob | Jun 20, 2000 11:15 am | |
| Poul-Henning Kamp | Jun 20, 2000 11:42 am | |
| Warner Losh | Jun 20, 2000 11:43 am | |
| Matthew Jacob | Jun 20, 2000 11:45 am | |
| Poul-Henning Kamp | Jun 20, 2000 11:52 am | |
| Matthew Jacob | Jun 20, 2000 11:57 am | |
| Warner Losh | Jun 20, 2000 12:02 pm | |
| Matthew Dillon | Jun 20, 2000 12:23 pm | |
| Matthew Jacob | Jun 20, 2000 12:24 pm | |
| Poul-Henning Kamp | Jun 20, 2000 12:29 pm | |
| Poul-Henning Kamp | Jun 20, 2000 12:34 pm | |
| Luoqi Chen | Jun 20, 2000 12:35 pm | |
| Nate Williams | Jun 20, 2000 12:35 pm | |
| Warner Losh | Jun 20, 2000 12:36 pm | |
| Matthew Dillon | Jun 20, 2000 12:36 pm | |
| Poul-Henning Kamp | Jun 20, 2000 12:38 pm | |
| Nate Williams | Jun 20, 2000 12:40 pm | |
| Matthew Jacob | Jun 20, 2000 12:41 pm | |
| Warner Losh | Jun 20, 2000 12:41 pm | |
| Matthew Dillon | Jun 20, 2000 12:46 pm | |
| Poul-Henning Kamp | Jun 20, 2000 12:47 pm | |
| Warner Losh | Jun 20, 2000 12:49 pm | |
| Poul-Henning Kamp | Jun 20, 2000 12:50 pm | |
| Matthew Dillon | Jun 20, 2000 12:53 pm | |
| Greg Lehey | Jun 20, 2000 12:58 pm | |
| Warner Losh | Jun 20, 2000 1:08 pm | |
| Bart van Leeuwen | Jun 20, 2000 1:42 pm | |
| The Hermit Hacker | Jun 20, 2000 4:02 pm | |
| Matthew Dillon | Jun 20, 2000 4:07 pm | |
| Warner Losh | Jun 20, 2000 4:11 pm | |
| Warner Losh | Jun 20, 2000 4:11 pm | |
| Warner Losh | Jun 20, 2000 4:18 pm | |
| Jason Evans | Jun 20, 2000 11:52 pm | |
| Jason Evans | Jun 21, 2000 12:16 am | |
| Matthew Dillon | Jun 21, 2000 12:21 am | |
| Poul-Henning Kamp | Jun 21, 2000 12:21 am | |
| Matthew Jacob | Jun 21, 2000 12:26 am | |
| Matthew Dillon | Jun 21, 2000 12:29 am | |
| Matthew Jacob | Jun 21, 2000 12:33 am | |
| Jason Evans | Jun 21, 2000 1:10 am | |
| Martin Cracauer | Jun 21, 2000 8:37 am | |
| Matthew Dillon | Jun 21, 2000 9:03 am | |
| Terry Lambert | Jun 21, 2000 9:54 am | |
| Arun Sharma | Jun 21, 2000 10:24 pm | |
| Terry Lambert | Jun 22, 2000 11:15 am |
| Subject: | Re: SMP discussion moving to freebsd-smp | |
|---|---|---|
| From: | Greg Lehey (gr...@lemis.com) | |
| Date: | Jun 20, 2000 12:58:18 pm | |
| List: | org.freebsd.freebsd-smp | |
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 gr...@lemis.com for PGP public key See complete headers for address and phone numbers
To Unsubscribe: send mail to majo...@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message





