[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