[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] 2.6 changesets



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@xxxxxxxxxxxxxxxxxxxxx
> 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
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.