[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multi-threaded Emacs
From: |
Li Lin |
Subject: |
Re: multi-threaded Emacs |
Date: |
Fri, 05 Dec 2008 18:50:04 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
SMASH has many different implementations. Basically, we create one
kernel thread for each CPU(or core) in which a user-level thread
scheduler runs, and the thread is bounded to the corresponding CPU. The
context switches among user-level threads are done though a explicit
call to the function cthread_yield(). However, it is the native
scheduler that manages the kernel threads.
So on uniprocessor machines, it is purely cooperative, on multi-CPU(or
-core) machines it is a mixture of cooperative and preemptive
threads. However, it is not difficult to modify it so that on
uniprocessor machine we still have more than one kernel threads.
I attached Kurt's thesis about SMASH. Although a lot of implementation
details has changed, his orginal thesis is still a good reference.
The attachment is a DVI file. If you can read it, then I can send you
the latex source of it, but you have to compile it by yourself.
main.dvi.bz2
Description: Kurt's thesis
- Re: multi-threaded Emacs, (continued)
- Re: multi-threaded Emacs, Paul R, 2008/12/11
- Re: multi-threaded Emacs, Stefan Monnier, 2008/12/11
- Re: multi-threaded Emacs, Richard M Stallman, 2008/12/04
- Re: multi-threaded Emacs, Stefan Monnier, 2008/12/05
- Re: multi-threaded Emacs, Florian Beck, 2008/12/02
Re[2]: multi-threaded Emacs, ak70, 2008/12/03
Re: multi-threaded Emacs, Stefan Monnier, 2008/12/04
Re: multi-threaded Emacs, Tom Tromey, 2008/12/06