From: Paolo A. <am...@mc...> - 2004-06-25 18:37:52
|
I heave read in the past about problems with SB-THREAD and x86 Linux 2.4.x kernels, and the suggestion to use 2.6.x. But I am still a bit confused. I don't understand whether such problems and issues make threads undesirable with 2.4.x for production quality work, or also for playing and experimenting at a hobby level. I am interested in the latter (I don't have a nuclear power plant, if that helps). Paolo -- Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film |
From: Nikodemus S. <tsi...@cc...> - 2004-06-25 18:51:13
|
On Fri, 25 Jun 2004, Paolo Amoroso wrote: > I heave read in the past about problems with SB-THREAD and x86 Linux > 2.4.x kernels, and the suggestion to use 2.6.x. But I am still a bit > confused. I don't understand whether such problems and issues make > threads undesirable with 2.4.x for production quality work, or also > for playing and experimenting at a hobby level. I am interested in > the latter (I don't have a nuclear power plant, if that helps). Dan'b can confirm or disconfirm this, but AFAIK: Building SBCL with threading enabled under 2.4 should not affect the stability of the system as long as threading isn't actually used. Threads under 2.4 do have problems, and fixing has a priority of "none" or thereabouts. For "simple" use this may be ok, but at least signal delivery can get seriously confused fairly easy. In other words: ok for experimenting and playing, but when/if things go wierd you're on your own (well, in good company actually, but without any support to speak of). For production quality work definitely discouraged. Cheers, -- Nikodemus "Not as clumsy or random as a C++ or Java. An elegant weapon for a more civilized time." |
From: Paolo A. <am...@mc...> - 2004-06-25 20:35:58
|
Nikodemus Siivola <tsi...@cc...> writes: > Threads under 2.4 do have problems, and fixing has a priority of "none" > or thereabouts. For "simple" use this may be ok, but at least Yes, that's the only thing about thread that was clear to me :) Thanks for the explanation, Paolo -- Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film |
From: Daniel B. <da...@te...> - 2004-06-26 14:11:14
|
Nikodemus Siivola <tsi...@cc...> writes: > Building SBCL with threading enabled under 2.4 should not > affect the stability of the system as long as threading isn't > actually used. This is true. > Threads under 2.4 do have problems, and fixing has a priority of "none" > or thereabouts. This also is true. If anyone really needs working threads on 2.4 my suggestion would be to rewrite the waitqueue stuff to use loops and polling and sched_yield() instead of signals, but the futex implementation is /so/ much cleaner (and 2.6 is about ready for most people, possible pain in upgrading notwithstanding) that it really isn't something I intend to do myself. > For "simple" use this may be ok, but at least > signal delivery can get seriously confused fairly easy. "Signal delivery" is the mechanism by which SBCL is getting confused, but what causes those signals to get delivered are actions like trying to grab a lock that someone else has, or using condition variables. My experience is that it'll probably work most of the time, but when it goes wrong (as it can do quite quickly if you stress it in the way that the threading tests stress it) your only real option is to shrug and restart. > In other words: ok for experimenting and playing, but when/if things go > wierd you're on your own (well, in good company actually, but without > any support to speak of). For production quality work definitely > discouraged. Despite my own advice I have actually been running a low traffic web site on threaded sbcl for the last six to nine months, and I think only had one crash (had a couple of other restarts for unrelated reasons). But it's just a web site; it does the same thing day in day out and nothing particularly complicated, and if it does fall over I just restart it - no big deal. If I want to update the code in it, I hold my breath as I run asdf ... If you were expecting a threaded system to do more general purpose things (e.g. run clim reliably), I think you'd be correspondingly less successful. -dan -- "please make sure that the person is your friend before you confirm" |
From: Paolo A. <am...@mc...> - 2004-06-27 13:11:10
|
Daniel Barlow <da...@te...> writes: > Despite my own advice I have actually been running a low traffic web > site on threaded sbcl for the last six to nine months, and I think > only had one crash (had a couple of other restarts for unrelated > reasons). But it's just a web site; it does the same thing day in day Do you mean with kernel 2.6? Paolo -- Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film |
From: Daniel B. <da...@te...> - 2004-07-01 18:03:24
|
Paolo Amoroso <am...@mc...> writes: > Daniel Barlow <da...@te...> writes: > >> reasons). But it's just a web site; it does the same thing day in day > > Do you mean with kernel 2.6? Kernel 2.4 (thought it's a Red Hat box, so might have NPTL support anyway). But more importantly, it's running an SBCL too old to know about futexes. Some day I will upgrade that -dan -- "please make sure that the person is your friend before you confirm" |