I was just browsing the latest changesets and noticed some references to 2.6. Is it anywhere near testable yet? James
> 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. ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net lists.sourceforge.net/lists/listinfo/xen-devel
> [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. > ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.sourceforge.net > 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. ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net lists.sourceforge.net/lists/listinfo/xen-devel
-----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 - 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. ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net lists.sourceforge.net/lists/listinfo/xen-devel
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 - 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. > ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.sourceforge.net > 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. ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Xen-devel mailing list Xen-devel@lists.sourceforge.net lists.sourceforge.net/lists/listinfo/xen-devel