[Gc] Periodic hang up when running with Kaffe

Zubair Ali Khan zkhan at d2tech.com
Wed Feb 27 03:58:38 PST 2008


I am running Boehm GC 6.8 with Kaffe 1.1.8 on ARM926 (200 MHz) linux 
2.4.20. When running Java application, the system runs low on heap, GC 
runs. The problem is that whenever GC runs, the VM and the Java 
application block/hang up for about 10 seconds. Since the application is 
interactive, user experience suffers. Any suggestions on how to make 
Boehm GC not block (if Boehm GC is blocking, which I suspect) ? Thanks 
in advance.
Zubair Khan

Following configure options are used to build GC:

C=${CROSS_TOOL_PATH}/arm_v4t_le-gcc \
CXX=${CROSS_TOOL_PATH}/arm_v4t_le-g++ \
CPP=${CROSS_TOOL_PATH}/arm_v4t_le-cpp \
AR=${CROSS_TOOL_PATH}/arm_v4t_le-ar \
AS=${CROSS_TOOL_PATH}/arm_v4t_le-as \
LD=${CROSS_TOOL_PATH}/arm_v4t_le-ld \
RANLIB=${CROSS_TOOL_PATH}/arm_v4t_le-ranlib \
LDFLAGS=${CROSS_LDFLAGS} \
CFLAGS=${CROSS_CFLAGS} \
CPPFLAGS=${CROSS_CFLAGS} \
./configure \
        --build=i386-linux \
        --host=arm-linux \
        --target=arm-linux \
        --prefix=${TARGET_DIR}/usr/local

Following configure options are used to build Kaffe VM:
CC=${CROSS_TOOL_PATH}/arm_v4t_le-gcc \
CXX=${CROSS_TOOL_PATH}/arm_v4t_le-g++ \
CPP=${CROSS_TOOL_PATH}/arm_v4t_le-cpp \
AR=${CROSS_TOOL_PATH}/arm_v4t_le-ar \
AS=${CROSS_TOOL_PATH}/arm_v4t_le-as \
LD=${CROSS_TOOL_PATH}/arm_v4t_le-ld \
RANLIB=${CROSS_TOOL_PATH}/arm_v4t_le-ranlib \
LDFLAGS=${CROSS_LDFLAGS} \
CFLAGS=${CROSS_CFLAGS} \
CPPFLAGS=${CROSS_CFLAGS} \
./configure \
        --build=i386-linux \
        --host=arm-linux \
        --target=arm-linux \
        --prefix=${TARGET_DIR}/usr/local/kaffe \
        --enable-minigui-peer \
        --enable-default-toolkit="gnu.java.awt.peer.minigui.MgToolkit" \
        --disable-gtk-peer \
        --disable-gconf-peer \
        --disable-esdtest \
        --disable-alsatest \
        --without-esd \
        --enable-minigui-fontfilter \
        --with-gc=boehm-gc

Following is the info about tools and OS:

/ # /lib/libc.so.6
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.3.1 (MontaVista 3.3.1-7.0.2.0401382 
2004-10-07).
Compiled on a Linux 2.4.20_dev system on 2004-10-07.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        linuxthreads-0.10 by Xavier Leroy
        BIND-8.2.3-T5B
        libthread_db work sponsored by Alpha Processor Inc
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Report bugs using the `glibcbug' script to <bugs at gnu.org>.
/ # uname -a
Linux (none) 2.4.20_mvlcee31-omap730_gsm_gprs #1 Thu Nov 29 16:32:50 HKT 
2007 armv5EJl unknown

zkhan at halibut:~/workspace/tools/build-figueroa-3.0/scripts$ 
arm_v4t_le-gcc  -v
Reading specs from 
/opt/a9206/tools/devkit/arm/v4t_le/bin/../lib/gcc-lib/armv4tl-hardhat-linux/3.3.1/specs
Configured with: ../configure --host=i686-pc-linux-gnu 
--target=armv4tl-hardhat-linux 
--prefix=/opt/montavista/devkit/arm/v4t_le 
--exec-prefix=/opt/montavista/devkit/arm/v4t_le 
--bindir=/opt/montavista/devkit/arm/v4t_le/bin 
--sbindir=/opt/montavista/devkit/arm/v4t_le/sbin 
--sysconfdir=/opt/montavista/devkit/arm/v4t_le/etc 
--datadir=/opt/montavista/devkit/arm/v4t_le/share 
--includedir=/opt/montavista/devkit/arm/v4t_le/include 
--libdir=/opt/montavista/devkit/arm/v4t_le/lib 
--libexecdir=/opt/montavista/devkit/arm/v4t_le/libexec 
--localstatedir=/opt/montavista/devkit/arm/v4t_le/var 
--sharedstatedir=/opt/montavista/devkit/arm/v4t_le/share 
--mandir=/opt/montavista/devkit/arm/v4t_le/man 
--infodir=/opt/montavista/devkit/arm/v4t_le/info 
--program-transform-name=s,^,arm_v4t_le-, --enable-cross 
--with-sysroot=/opt/montavista/devkit/arm/v4t_le/target --enable-shared 
--enable-languages=c,c++ --enable-__cxa_atexit --enable-threads=posix 
--disable-multilib 
--with-gxx-include-dir='$'{gcc_tooldir}/../target/usr/include/c++/3.3.1 
--with-float=soft --with-cpu=arm9tdmi
Thread model: posix
gcc version 3.3.1 (MontaVista 3.3.1-6.0.19.0400502 2004-04-12)

zkhan at halibut:~/workspace/tools/build-figueroa-3.0/scripts$ arm_v4t_le-as -v
GNU assembler version 2.14 (armv4tl-hardhat-linux) using BFD version 
2.14 20030612 (MontaVista 2.14-11.0.4.0401541 2004-11-05)



More information about the Gc mailing list