unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "ak70" <ak70@vanilla.net.mt>
To: "Giuseppe Scrivano" <gscrivano@gnu.org>
Cc: "rms@gnu.org" <rms@gnu.org>, "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: Re[2]: multi-threaded Emacs
Date: Wed, 3 Dec 2008 08:59:09 +0100	[thread overview]
Message-ID: <28ea42436516c786f86df564cafe07e3@vanilla.net.mt> (raw)

Hi, guys. I have a generic user-level thread library on Linux. Maybe it can help.
The thread system is called SMASH developed by Kurt Debattista in 2001 as his master study in University of Malta. 
It uses the two level scheduling model, i.e. we have m user level threads running on top of n kernel threads. If you guys are interested,
I can send you the thesis about it( it is a pdf file of size 1Mb). 
A few month ago, I obtained the permission from Kurt to release it under GPL. I did some work on it too for my undergraduate study.
The problems:
1. It is platform dependent. Kurt and I used some x86 assembly language to implement spin locks and lock-free algorithms.
2. It lacks some common features that you would expect in a thread library. For example it has no thread id and when a user-level terminates,
the thread structure will not be destroyed. This is however done on purpose, because our  supervisor argued that SMASH should be at the lowest
level so that any fancy(or not so fancy) features should be implemented by other libraries built on top of it.
3. Since it is developed as a academic project, a lot of decisions were made in favor of our study, not production use.

I think it is a good starting point, but it is not for immediate use. So what you guys think? Are you interested?
> -----Original Message-----
> From: Giuseppe Scrivano <gscrivano@gnu.org>
> To: Stefan Monnier <monnier@IRO.UMontreal.CA>
> Cc: rms@gnu.org, emacs-devel@gnu.org
> Date: 12/02/08 23:41
> Subject: Re: multi-threaded Emacs
> 
> Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
> 
> > I rarely use multiple terminals, and when I use them, the current
> > restrictions are mostly bearable.  OTOH I very often would like to keep
> > using my Emacs while it's byte-compiling some files, or while Gnus is
> > fetching some newsgroup.
> 
> This is exactly the problem I had when I first thought of threads.
> 
> Do you think we can solve it (at least partially) using a concurrent
> model?
> 
> Thanks,
> Giuseppe





             reply	other threads:[~2008-12-03  7:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-03  7:59 ak70 [this message]
2008-12-04  8:45 ` multi-threaded Emacs Richard M Stallman
     [not found]   ` <87prk8mhg9.fsf@vanilla.net.mt>
     [not found]     ` <E1L8ZUB-0002x3-VT@fencepost.gnu.org>
2008-12-05 13:27       ` Li Lin
     [not found]         ` <87prk64ilv.fsf@vanilla.net.mt>
2008-12-05 18:37           ` Giuseppe Scrivano
2008-12-06 21:58             ` Magnus Henoch
2008-12-04 13:21 ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=28ea42436516c786f86df564cafe07e3@vanilla.net.mt \
    --to=ak70@vanilla.net.mt \
    --cc=emacs-devel@gnu.org \
    --cc=gscrivano@gnu.org \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).