emacs-devel
[Top][All Lists]
Advanced

[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.

Attachment: main.dvi.bz2
Description: Kurt's thesis


reply via email to

[Prev in Thread] Current Thread [Next in Thread]