| From | Sent On | Attachments |
|---|---|---|
| Daniel M. Eischen | Nov 20, 1999 8:12 pm | |
| Julian Elischer | Nov 20, 1999 8:30 pm | |
| Julian Elischer | Nov 20, 1999 8:37 pm | |
| Daniel M. Eischen | Nov 20, 1999 9:02 pm | |
| Nate Williams | Nov 20, 1999 9:14 pm | |
| Daniel M. Eischen | Nov 20, 1999 9:21 pm | |
| Julian Elischer | Nov 20, 1999 9:25 pm | |
| Nate Williams | Nov 20, 1999 9:27 pm | |
| Daniel M. Eischen | Nov 20, 1999 9:40 pm | |
| Julian Elischer | Nov 20, 1999 10:58 pm | |
| Daniel M. Eischen | Nov 21, 1999 5:40 am | |
| Chuck Robey | Nov 22, 1999 4:30 pm | |
| Julian Elischer | Nov 22, 1999 7:57 pm | |
| Chuck Robey | Nov 22, 1999 8:11 pm | |
| Julian Elischer | Nov 22, 1999 8:38 pm | |
| Chuck Robey | Nov 22, 1999 9:40 pm | |
| Daniel Eischen | Nov 23, 1999 4:19 am | |
| Jason Evans | Nov 23, 1999 11:30 am | |
| Daniel M. Eischen | Nov 23, 1999 1:22 pm | |
| Chuck Robey | Nov 23, 1999 9:06 pm | |
| Daniel Eischen | Nov 23, 1999 9:49 pm | |
| Julian Elischer | Nov 23, 1999 10:47 pm | |
| Julian Elischer | Nov 23, 1999 11:33 pm | |
| Julian Elischer | Nov 23, 1999 11:46 pm | |
| Julian Elischer | Nov 24, 1999 2:03 am | |
| Daniel C. Sobral | Nov 24, 1999 3:19 am | |
| Daniel C. Sobral | Nov 24, 1999 3:51 am | |
| Daniel M. Eischen | Nov 24, 1999 6:03 am | |
| Richard Seaman, Jr. | Nov 24, 1999 6:33 am | |
| Matthew Dillon | Nov 24, 1999 10:35 am | |
| Daniel Eischen | Nov 24, 1999 11:02 am | |
| Matthew Dillon | Nov 24, 1999 11:05 am | |
| Anthony Kimball | Nov 24, 1999 11:25 am | |
| Daniel Eischen | Nov 24, 1999 11:28 am | |
| Matthew Dillon | Nov 24, 1999 11:41 am | |
| Matthew Dillon | Nov 24, 1999 11:47 am | |
| Julian Elischer | Nov 24, 1999 11:54 am | |
| Louis A. Mamakos | Nov 24, 1999 11:57 am | |
| Matthew Dillon | Nov 24, 1999 12:00 pm | |
| Julian Elischer | Nov 24, 1999 12:20 pm | |
| Anthony Kimball | Nov 24, 1999 12:47 pm | |
| Doug Rabson | Nov 24, 1999 2:05 pm | |
| Jason Evans | Nov 24, 1999 2:16 pm | |
| Julian Elischer | Nov 24, 1999 2:28 pm | |
| Julian Elischer | Nov 24, 1999 2:40 pm | |
| Richard Seaman, Jr. | Nov 24, 1999 3:39 pm | |
| Jason Evans | Nov 24, 1999 9:24 pm | |
| Jason Evans | Nov 24, 1999 10:03 pm | |
| Julian Elischer | Nov 25, 1999 1:08 am | |
| Julian Elischer | Nov 25, 1999 1:33 am | |
| Daniel M. Eischen | Nov 25, 1999 3:08 am | |
| Doug Rabson | Nov 26, 1999 3:01 am | |
| Jordan K. Hubbard | Nov 26, 1999 10:33 am | |
| Doug Rabson | Nov 26, 1999 12:15 pm | |
| Matthew Dillon | Nov 27, 1999 7:38 pm | |
| Arun Sharma | Nov 27, 1999 8:57 pm | |
| Matthew Dillon | Nov 28, 1999 8:41 am | |
| Arun Sharma | Nov 28, 1999 10:25 am | |
| Matthew Dillon | Nov 28, 1999 5:06 pm | |
| Nate Williams | Nov 29, 1999 8:10 am | |
| Matthew Dillon | Nov 29, 1999 8:21 am | |
| Nate Williams | Nov 29, 1999 8:29 am | |
| Matthew Dillon | Nov 29, 1999 9:05 am | |
| Matthew Dillon | Nov 29, 1999 9:19 am | |
| Daniel M. Eischen | Nov 29, 1999 9:28 am | |
| Nate Williams | Nov 29, 1999 10:29 am | |
| Julian Elischer | Nov 29, 1999 11:23 am | |
| Nate Williams | Nov 29, 1999 1:39 pm | |
| Chuck Robey | Nov 29, 1999 6:06 pm | |
| Daniel M. Eischen | Nov 29, 1999 7:46 pm | |
| Chuck Robey | Nov 29, 1999 9:01 pm | |
| Julian Elischer | Nov 29, 1999 9:34 pm | |
| Chuck Robey | Nov 29, 1999 10:09 pm | |
| Daniel M. Eischen | Nov 30, 1999 4:02 am | |
| Jason Evans | Nov 30, 1999 2:25 pm | |
| Julian Elischer | Nov 30, 1999 2:42 pm |
| Subject: | Re: Threads | |
|---|---|---|
| From: | Julian Elischer (jul...@whistle.com) | |
| Date: | Nov 24, 1999 11:54:52 am | |
| List: | org.freebsd.freebsd-arch | |
On Wed, 24 Nov 1999, Matthew Dillon wrote:
:Julian, Dan, remember that reducing the overhead of task switching :(thread switching) is of vital importance. In that light, the least :context that has to be save/restored when a KSE blocks, the better. : :-- :Daniel C. Sobral (8-DCS) :dc...@newsguy.com :dc...@freebsd.org
I am getting confused by this whole KSE thing. All the threading I've ever implemented has been done simply by splitting out the context information from the Process into a Task, and then allowing N Tasks to reference the same Process. There was no real distinction made between kernel and user mode tasks or processes.
This is 'linux threads', and it's what we already have, using rfork() however it's very heavyweight when compared with pure userland threads. you need something in-between, to get the advantages of both kernel support (blockable syscalls and page-faults) and the ability to schedule 1000 tiny threads effficiently (which is the model that some threaded packages use).
In such a scheme the switch code need only contain a single conditional: One to check if the governing process for a task has a user-level mmu directory that must be setup. That's it, done.
We basically already havee that, but you need to have the ability to involve teh User Thread Scheduler in process restarts etc.
I don't think separate scheduling queues are required either. I can see absolutely no gain in performance by doing that and it unnecessarily complicates the code. We can trivially use the existing priority scheme to schedule interrupt tasks (threads).
well I agree with you to a point..And we are not planning on separate scheduling queues for threads and normal processes. Basically threads are assigned to a parent process, which is treated pretty much as it is now in a lot of ways.
-Matt Matthew Dillon <dil...@backplane.com>
To Unsubscribe: send mail to majo...@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message





