This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-users] xen build and tls

Hi Paras,

On Tue, 2008-11-25 at 12:18 -0600, Paras pradhan wrote:
> I have compiled (with initrd) xen 3.3 from source tar ball following
> the README file under centos 5.2. xen kernel boots fine but my system
> (2 cores, 2.0 GHZ, 1GB RAM) is slow with a warning message.
> ***************************************************************
>   ***************************************************************
>   ** WARNING: Currently emulating unsupported memory accesses  **
>   **          in /lib/tls glibc libraries. The emulation is    **
>   **          slow. To ensure full performance you should      **
>   **          install a 'xen-friendly' (nosegneg) version of   **
>   **          the library, or disable tls support by executing **
>   **          the following as root:                           **
>   **          mv /lib/tls /lib/tls.disabled                    **
>   ** Offending process: modprobe (pid=849)                     **
>   ***************************************************************
>   ***************************************************************
> Is my system slow due to this tls warning? or I can ignore the
> warning.

If you have installed Xen friendly libc (usually called libc6-xen),
there is no reason to disable tls.

Some programs on your system are statically linked. Meaning, when they
are compiled, the whole C library becomes part of the program. Anything
that was compiled this way on a system that does not have xen-friendly
libc is going to throw that warning and yes, it is harmless.

Programs like 'modprobe', 'init' and others are sometimes statically
linked. Its done because in some special setups, these programs need to
run before any file systems are actually mounted. For that to work, the
programs need to have all libraries linked in .. because /usr/lib
and /lib might not be available yet when they run. On most newer
distros, this is not the case any longer.

If you ever see a threading service (i.e. apache) throw this warning,
its a problem because it means the service was statically linked and is
not using your xen friendly libc (the shared objects in /lib/tls). You
are very unlikely to ever encounter that. 

The warning is perfectly safe to ignore otherwise. If you really need to
make it go away, obtain the source packages to sysvinit, module-tools,
etc and compile them against your xen friendly libc. Really, there is no
need to do this.


Xen-users mailing list