Skip navigation

Monthly Archives: November 2005

Profiling a huge beast such as OpenOffice.org is clearly a stress for any tool – in this case, it blew the callgrind backend for the valgrind analysis framework. Valgrind seems to reserve a fixed amount of virtual mem for the actual program – if that gets exceeded, strange things will happen, in my case, debug symbols for my libs weren’t loaded (and, guess what, a profile with only hex function labels is kind of unhelpful).

What I finally made to work was the following setup:
callgrind-0.10.0 on top of valgrind-3.0.1, with the following two patches:

--- configure~	2005-08-30 03:15:16.000000000 +0200
+++ configure	2005-11-24 14:27:36.000000000 +0100
@@ -3991,7 +3991,7 @@
 	echo "$as_me:$LINENO: result: ok (${host_cpu})" >&5
 echo "${ECHO_T}ok (${host_cpu})" >&6
         VG_ARCH="x86"
-        KICKSTART_BASE="0xb0000000"
+        KICKSTART_BASE="0xa0000000"
         ARCH_CORE_AM_CFLAGS="@FLAG_M32@ @PREFERRED_STACK_BOUNDARY@"
         ARCH_TOOL_AM_CFLAGS="@FLAG_M32@ @PREFERRED_STACK_BOUNDARY@"
         ARCH_CORE_AM_CCASFLAGS="@FLAG_M32@"

(this one adds 256MB additional space for the program to be analyzed – thanks to Yuri’s mail)

and

--- main.c~	2005-10-04 01:28:01.000000000 +0200
+++ main.c	2005-11-24 13:46:13.000000000 +0100
@@ -274,7 +274,7 @@
    if (bb_seen_before) {
        CLG_ASSERT(ii->instr_offset == instr_offset);
        CLG_ASSERT(ii->instr_size == instrLen);
-       CLG_ASSERT(ii->data_size == dataSize);
+       //CLG_ASSERT(ii->data_size == dataSize);
        CLG_ASSERT(ii->cost_offset == *cost_offset);
        CLG_ASSERT(ii->eventset == es);
    }

(which silences an assertion – the error itself apparently did no harm, things went smoothly after that).

Advertisement

Today, the last solar modules were mounted, and we started with the wiring. There’s a total of 20 solar modules, divided up into 5 groups – i.e. four modules are connected in a row, and form a ‘string’, which are two cables individually connected to the DC/AC step-up converter. That’s a lot of wires, which had to be squeezed beneath roofing tiles, glass wool, and other obstacles.

Solar panels mounted

Anybody knew that electricity generated by photovoltaic cells (aka “solar cells”) can be passed into the power grid in Germany? In fact, the local grid company must accept it (and yes, even pay you for it, just the same as it pays the nuclear power plant next door).

Which is a nice thing indeed, as I’ve some square meters of my southwards roof to spend, plus some boxes sucking electricity 24/7 and gnawing at my conscience.

So I went for it, and construction started just yesterday – laying the grounds for a total of 3.1 kilowatts peak solar power.

Preparing roof mounts

After months of fixing and rework, a bulk of changes to OOo’s slideshow/canvas framework has hit CVS HEAD today. This started as a consolidation effort (collecting various bits and pieces, removing duplicate code, and doing something smart about sprite redraw), and ended in a bunch of important fixes (see canvas02 EIS entry for a list of issues).