* 2.6 changesets
@ 2004-07-16 5:02 James Harper
2004-07-16 8:24 ` Ian Pratt
0 siblings, 1 reply; 5+ messages in thread
From: James Harper @ 2004-07-16 5:02 UTC (permalink / raw)
To: xen-devel@lists.sourceforge.net
[-- Attachment #1: Type: text/plain, Size: 123 bytes --]
I was just browsing the latest changesets and noticed some references to 2.6. Is it anywhere near testable yet?
James
[-- Attachment #2: Type: text/html, Size: 294 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: 2.6 changesets
2004-07-16 5:02 2.6 changesets James Harper
@ 2004-07-16 8:24 ` Ian Pratt
2004-07-16 8:32 ` Keir Fraser
2004-07-17 3:49 ` Nuno Silva
0 siblings, 2 replies; 5+ messages in thread
From: Ian Pratt @ 2004-07-16 8:24 UTC (permalink / raw)
To: James Harper; +Cc: xen-devel@lists.sourceforge.net, Ian.Pratt
> I was just browsing the latest changesets and noticed some references to 2.6. Is it anywhere near testable yet?
It's currently unoptimised, but seems to work fine as an
unprivileged domain. You can build and install it with the
temporary make target 'make linux26', 'make install'. We'd be
interested to success reports (or otherwise).
The only issue we know of is that some glibc thread local storage
(tls) implementations don't work with it (e.g. the one shipped
with RH9). If it looks like it crashes when trying to run
/sbin/init, then try moving the /lib/tls directory out of the way
and it should fall back to /lib/i686. Please let us know if
you've had to do this with any distro other than RH9. (Debian
stable works fine).
[RH9 /lib/tls uses a positively insane scheme in which 4GB
segments are created and -ve offsets (!!) used to access within
them. We just can't allow this in Xen as it would violate
security. Hopefully other distros haven't used this particular
version. It must cause performance havoc for VMware too. We've
been lucky with Linux 2.4 as ld.so automatically selects using
/lib/i686 for reasons I don't understand -- 'ldconfig -p'
suggests that tls should be used if "hwcap: 0x8000000000000000,
OS ABI: Linux 2.4.20". Kernel 2.4.26 is obviously > 2.4.20.
I don't know what this hwcap is. ]
If there's anyone on the list that understands the various
different tls implementations, or how to best persuade ls.so to
ignore /lib/tls, we'd love to hear from you.
Ian
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: 2.6 changesets
2004-07-16 8:24 ` Ian Pratt
@ 2004-07-16 8:32 ` Keir Fraser
2004-07-17 3:49 ` Nuno Silva
1 sibling, 0 replies; 5+ messages in thread
From: Keir Fraser @ 2004-07-16 8:32 UTC (permalink / raw)
To: Ian Pratt; +Cc: James Harper, xen-devel@lists.sourceforge.net
> [RH9 /lib/tls uses a positively insane scheme in which 4GB
> segments are created and -ve offsets (!!) used to access within
> them. We just can't allow this in Xen as it would violate
> security. Hopefully other distros haven't used this particular
> version.
Having read up on it, NPTL is the new ABI for thread-local storage as
concocted by Ulrich Drepper and Redhat. Given that Ulrich is the glibc
maintainer, it seems likely to get pushed as the default config,
unless other distros deliberately unconfigure it.
> It must cause performance havoc for VMware too. We've
> been lucky with Linux 2.4 as ld.so automatically selects using
> /lib/i686 for reasons I don't understand -- 'ldconfig -p'
> suggests that tls should be used if "hwcap: 0x8000000000000000,
> OS ABI: Linux 2.4.20". Kernel 2.4.26 is obviously > 2.4.20.
> I don't know what this hwcap is. ]
Actually I see 2.4.26 going for /lib/libc lib/libm and so on, rather
than /lib/i686/*. Not sure why that is, since 'uname' says it's a i686
platform.
-- Keir
> If there's anyone on the list that understands the various
> different tls implementations, or how to best persuade ls.so to
> ignore /lib/tls, we'd love to hear from you.
>
> Ian
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by BEA Weblogic Workshop
> FREE Java Enterprise J2EE developer tools!
> Get your free copy of BEA WebLogic Workshop 8.1 today.
> http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/xen-devel
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: 2.6 changesets
2004-07-16 8:24 ` Ian Pratt
2004-07-16 8:32 ` Keir Fraser
@ 2004-07-17 3:49 ` Nuno Silva
2004-07-19 18:36 ` Keir Fraser
1 sibling, 1 reply; 5+ messages in thread
From: Nuno Silva @ 2004-07-17 3:49 UTC (permalink / raw)
To: Ian Pratt; +Cc: James Harper, xen-devel@lists.sourceforge.net
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi, Ian!
Please read below:
Ian Pratt wrote:
[..]
|
| If there's anyone on the list that understands the various
| different tls implementations, or how to best persuade ls.so to
| ignore /lib/tls, we'd love to hear from you.
|
I'm not an expert or anything like that but I investigated this same
problem because UML (user mode linux) doesn't like (read: support) tls
too - either 2.4 and 2.6 umls.
"various different tls implementations" -> No such thing. NPTL/TLS
support is stable and much the same in every linux distro. So if you
have problems with RH you'll have problems with debian unstable, i686
and a 2.6 kernel (read below for explanation), etc...
/lib/ld.so checks `uname` in 2.4 kernels. If extraversion begins with
"-ntpl" than this 2.4 kernel has nptl support. If extraversion doesn't
have that string it's assumed that the kernel doesn't have nptl support
(and tls support).
If the kernel is 2.6+ then ld.so assumes that nptl support is present.
The way to remove it is to "mv /lib/tls /lib/tls.off". Other way to deal
with it is to use the environment var LD_ASSUME_KERNEL and set it to 2.4
globally, wich may cause havoc :)
I think that nptl requires at least i486, so if you install for i386,
nptl support won't be included in the installation. Another way is to
downgrade the VMM from i686 (or whatever processor you have) to plain
i386. I don't know if it's possible in xen...
In my uml setups i choose the KISS method: mv /lib/tls /lib/tls.off
With debian you can instruct dpkg (man dpkg-divert) to relocate
everything that would be installed to /lib/tls to another location
automagically. This saves troubles when apt-get upgrad'ing ;)
Hope this helps,
Nuno Silva
P.S. Great work! Keep going!! :)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFA+KHUOPig54MP17wRAmQ6AKDJt+S34QrrzXN0Bm4hFlBkNpW4dgCgw55G
EFOTQDye2YnPA/foE9R0OUs=
=L05g
-----END PGP SIGNATURE-----
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: 2.6 changesets
2004-07-17 3:49 ` Nuno Silva
@ 2004-07-19 18:36 ` Keir Fraser
0 siblings, 0 replies; 5+ messages in thread
From: Keir Fraser @ 2004-07-19 18:36 UTC (permalink / raw)
To: Nuno Silva; +Cc: Ian Pratt, James Harper, xen-devel@lists.sourceforge.net
More info on the TLS problems. I've added limited instruction
emulation to Xen so that we can use the TLS libraries that come with
e.g., Redhat 9 and Debian. Basically we take teh general protection
fault, then decode the instruction and interpret it if it's trying to
access a -ve segment offset.
Unfortunately the emulation triggers _a lot_! So it will affect
performance...
However, I intend to add dynamic patching of the unexecutable
instructions to Linux -- it will detect instructions of a particular
limited class, and dynamically create fixup code, and patch the
original execution site to call the fixup code.
I originally thought this would be very hard, but I think I have a way
of doing this in a reasonably simple manner (fingers crossed). This
should get almost every drop of performance back.
-- Keir
> I'm not an expert or anything like that but I investigated this same
> problem because UML (user mode linux) doesn't like (read: support) tls
> too - either 2.4 and 2.6 umls.
>
> "various different tls implementations" -> No such thing. NPTL/TLS
> support is stable and much the same in every linux distro. So if you
> have problems with RH you'll have problems with debian unstable, i686
> and a 2.6 kernel (read below for explanation), etc...
>
> /lib/ld.so checks `uname` in 2.4 kernels. If extraversion begins with
> "-ntpl" than this 2.4 kernel has nptl support. If extraversion doesn't
> have that string it's assumed that the kernel doesn't have nptl support
> (and tls support).
>
> If the kernel is 2.6+ then ld.so assumes that nptl support is present.
> The way to remove it is to "mv /lib/tls /lib/tls.off". Other way to deal
> with it is to use the environment var LD_ASSUME_KERNEL and set it to 2.4
> globally, wich may cause havoc :)
>
> I think that nptl requires at least i486, so if you install for i386,
> nptl support won't be included in the installation. Another way is to
> downgrade the VMM from i686 (or whatever processor you have) to plain
> i386. I don't know if it's possible in xen...
>
> In my uml setups i choose the KISS method: mv /lib/tls /lib/tls.off
>
> With debian you can instruct dpkg (man dpkg-divert) to relocate
> everything that would be installed to /lib/tls to another location
> automagically. This saves troubles when apt-get upgrad'ing ;)
>
> Hope this helps,
> Nuno Silva
>
> P.S. Great work! Keep going!! :)
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.4 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>
> iD8DBQFA+KHUOPig54MP17wRAmQ6AKDJt+S34QrrzXN0Bm4hFlBkNpW4dgCgw55G
> EFOTQDye2YnPA/foE9R0OUs=
> =L05g
> -----END PGP SIGNATURE-----
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by BEA Weblogic Workshop
> FREE Java Enterprise J2EE developer tools!
> Get your free copy of BEA WebLogic Workshop 8.1 today.
> http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/xen-devel
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-07-19 18:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-16 5:02 2.6 changesets James Harper
2004-07-16 8:24 ` Ian Pratt
2004-07-16 8:32 ` Keir Fraser
2004-07-17 3:49 ` Nuno Silva
2004-07-19 18:36 ` Keir Fraser
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.