View previous topic :: View next topic |
Author |
Message |
Trevoke Advocate
Joined: 04 Sep 2004 Posts: 4099 Location: NY, NY
|
Posted: Fri Sep 02, 2005 3:19 pm Post subject: NPTL vs Linuxthreads on Alpha? |
|
|
I'm compiling glibc 2.3.5 currently because I'm crazy and I wanna check out gcc 4.0.1 on my ALPHA (ev5 processor) .. And it's compiling for linuxthreads. Is there no NPTL support? I have it in my USE flags but it's not appearing when I do emerge -pv glibc.
Can I force NPTL to be used? How? Is it safe? _________________ Votre moment detente
What is the nature of conflict? |
|
Back to top |
|
|
zeek Guru
Joined: 16 Nov 2002 Posts: 480 Location: Bantayan Island
|
Posted: Sat Sep 03, 2005 6:05 am Post subject: Re: NPTL vs Linuxthreads on Alpha? |
|
|
This part of the ebuild decides what can use nptl:
Code: | want_nptl() {
want_tls || return 1
use nptl || return 1
# Archs that can use NPTL
case $(tc-arch) in
amd64|ia64|ppc|ppc64|s390|x86)
return 0;
;;
sparc)
# >= v9 is needed for nptl.
[[ "${PROFILE_ARCH}" == "sparc" ]] && return 1
return 0;
;;
esac
|
I don't see Alpha ... |
|
Back to top |
|
|
NormalBoy n00b
Joined: 17 Jan 2005 Posts: 4 Location: Cedar Rapids, IA
|
Posted: Sat Sep 10, 2005 2:39 am Post subject: |
|
|
Hi. Long time lurker, first time poster
I compiled glibc with nptl / nptlonly on my alpha (ev56). Apache and mysql recompiled without problem.
Why nptl isn't enabled for alpha by default? |
|
Back to top |
|
|
griffypoo n00b
Joined: 28 Jan 2005 Posts: 16
|
Posted: Sun Sep 11, 2005 4:36 pm Post subject: Glibc NPTL |
|
|
NPTL does seem to work on the Alpha, at least for me. Here's the steps I did to get it working:
- Edit /usr/portage/sys-libs/glibc/glibc-2.3.4.20041102-r1.ebuild adding || use alpha to the end of line 270
- Take the md5sum of glibc-2.3.4.20041102-r1.ebuild and update that and the filesize in /usr/portage/sys-libs/glibc/Manifest
- Comment out nptl in /usr/portage/profiles/default-linux/alpha/use.mask
- emerge glibc
I think that the reason that this hasn't been enabled so far is that there hasn't been much of a push to do so. LinuxThreads has always worked "OK" and there have been bigger fish to fry for the alpha herd - keeping current with things like glibc, gcc and marking more packages with the ~alpha and alpha KEYWORDS.
I suspect that NPTL will start becoming a priority soon. For glibc 2.4, LinuxThreads is no longer supported, so we'll be forced to upgrade pretty soon. There is also a bug out there (about defunct threads) in bugzilla that is solved by switching from LinuxThreads to NPTL. |
|
Back to top |
|
|
NormalBoy n00b
Joined: 17 Jan 2005 Posts: 4 Location: Cedar Rapids, IA
|
Posted: Mon Sep 12, 2005 12:55 am Post subject: |
|
|
I did the same things with my alpha installation. I had defunct thread problems with mysql before I enabled nptl.
Nptl rocks! |
|
Back to top |
|
|
ihayhurst n00b
Joined: 12 Sep 2005 Posts: 11
|
|
Back to top |
|
|
Kloeri Retired Dev
Joined: 02 Sep 2002 Posts: 144
|
Posted: Sun Sep 25, 2005 2:52 pm Post subject: |
|
|
I've enabled NPTL for alpha so 2.6 users now have the choice between linuxthreads (currently somewhat broken) and NPTL. I know of at least one box displaying weird problems with NPTL so YMMV. |
|
Back to top |
|
|
ihayhurst n00b
Joined: 12 Sep 2005 Posts: 11
|
Posted: Sun Sep 25, 2005 9:29 pm Post subject: |
|
|
Well with NPTL the defunct processes went away but the mysqld now crashes and restarts every time it's called from web/php, usually so fast that the users don't notice sometimes the get an error saying mysql unavailabe (goes with refresh), I should have stayed with the defunct processes, at least the users didn't see that... all is fine other than mysql... which was the reason I went NPTL in the first place.... With the nptl USE flag both the linuxthreads and NPTL libraryl are built (I believe) what must I do to get mysql to use the linuxthreads again?
poor alpha box is now non-production sniff
as you say your mileage may indeed vary _________________ Registerd Linux user #119296 |
|
Back to top |
|
|
Kloeri Retired Dev
Joined: 02 Sep 2002 Posts: 144
|
Posted: Sun Sep 25, 2005 10:07 pm Post subject: |
|
|
Have you tried remerging mysql and/or apache + any apache modules? That might solve the problem. If you still need to use linuxthreads for mysql you need to start mysql with the environment variable LD_ASSUME_KERNEL=2.4.1 to force linuxthreads use. |
|
Back to top |
|
|
ihayhurst n00b
Joined: 12 Sep 2005 Posts: 11
|
Posted: Sun Sep 25, 2005 10:17 pm Post subject: |
|
|
I re emerged mysql, possibly not apache though, It's academic now as I build a much bigger intel bow to replace it though I'd still like to run the alpha so I'll try using the env var you suggest (thanks).. it will give me back my defunct process but I'm sure a fix will be found for that eventually. _________________ Registerd Linux user #119296 |
|
Back to top |
|
|
|