[Fedora-xen] kernel-xen0-2.6.18-1.2200.fc5 amusingly unhappy

Daniel P. Berrange berrange at redhat.com
Sun Oct 29 23:27:03 UTC 2006


On Sun, Oct 29, 2006 at 01:19:53PM -0800, master at bradleyland.com wrote:
> > On Sun, Oct 29, 2006 at 10:23:20AM +0800, Adrian Chadd wrote:
> >> On Sun, Oct 29, 2006, Adrian Chadd wrote:
> >> > On Sat, Oct 28, 2006, Daniel P. Berrange wrote:
> > This issue has been present in Xen kernels ever since the 3.0.x series, if
> > not
> > before. Basically libc uses -ve segment addressing, which means Xen
> > hypervisor
> > has to do some magic tricks with segmentation to make things work. These
> > tricks,
> > however, have a horrific performance impact on the guests so the Xen
> > kernels
> > will warn about any process which does this -ve addressing.
> >
> > Since the vast majority of apps in Fedora are now fixed to not do -ve
> > segment
> > addressing by default, we have the current kernels setup to print this
> > warning
> > for any process which still uses the slow form of addressing, enabling
> > easy
> > identification of apps which need fixing.
> >
> > It sounds like you are using the Fedora kernels with a Debian distro which
> > doesn't have any of the Xen fixups, hence you're seeing these warnings
> > that
> > wouldn't normally be seen by Fedora users.
> >
> > There's only really two solutions - either install a newer libc which has
> > a
> > 'nosegneg' variant, or get rid of the existing 'tls' variant of libc and
> > have
> > the guests use the older plain 'i686'  variant which doesn't do -ve
> > segment
> > addressing.
> 
> Unfortunately, I'm seeing the same behavior (printk messages suppressed,
> 4GB fixup, etc.) on a completely "stock" FC5 install. No debian or Ubuntu
> here...
> 
> My dom0 now runs xm commands, but starting any guest results in the
> messages and the guest never completes the boot process -- no login
> prompt.

Ok, so you're seeing these messages in the guest only - you're not seeing
any of these messages in the Dom0 host too ?

Can you check to see whether ldconfig has correctly cached the nosegneg
versions of the libraries. For example, you should see something similar
to this:

# ldconfig -p | grep segneg
    libthread_db.so.1 (libc6, hwcap: 0x0018000000000000, OS ABI: Linux 2.6.9) => /lib/i686/nosegneg/libthread_db.so.1
    librt.so.1 (libc6, hwcap: 0x0018000000000000, OS ABI: Linux 2.6.9) => /lib/i686/nosegneg/librt.so.1
    libpthread.so.0 (libc6, hwcap: 0x0018000000000000, OS ABI: Linux 2.6.9) => /lib/i686/nosegneg/libpthread.so.0
    libm.so.6 (libc6, hwcap: 0x0018000000000000, OS ABI: Linux 2.6.9) => /lib/i686/nosegneg/libm.so.6
    libc.so.6 (libc6, hwcap: 0x0018000000000000, OS ABI: Linux 2.6.9) => /lib/i686/nosegneg/libc.so.6
 
There should be a file in /etc/ld.so.conf.d/kernelcaps-???? matching your
live kernel version which has the following setting:
 
  hwcap 0 nosegneg

If ldconfig doesn't show the nosegneg versions, try forcing it to rebuild
the cache, by just running 'ldconfig' with no args.

Regards,
Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




More information about the Fedora-xen mailing list