dinsdag, februari 22, 2005

Qemu accelerator kernel module

Last week I tested the new -controversial- Qemu accelerator kernel module.

These are the results of the nbench2 benchmark:

Using the accelerator kernel module:
integer: 4.940
floating point: 9.813
memory: 5.994

Running the test on my machine without any emulator involved:
integer: 5.693
floating point: 11.083
memory: 7.137

Quiet impressive imho... of course -just as with VMware- as these "emulators" actually just execute the assembly code, they should approach native performance. It's a whole different story when IO-bound applications are benchmarked.

maandag, februari 14, 2005

allyesconfig

A nice 2.6.11-rc3-mm3 kernel configuration target in these cold winter days is 'allyesconfig'. As the name implies, it will answer yes to every kernelconfiguration question and therefore it will keep your CPU nice and hot.

For the less well-equipped people, there's the 'allnoconfig' which results in a nice and tidy 412K kernel image.

I've been playing with kexec lately and it seems to work really nice. Unfortunately, it hasn't been merged into Linus' kernel yet. I'm getting the necessary patches out of Andrew Morton's big kernel patch (2.6.10-mm3) and merging them with the ADEOS r9c3 patch for the 2.6.10 kernel. Having these patches combined would allow my LiveCD to switch various kernels without doing a full machine reboot.

maandag, februari 07, 2005

Downset

Today, I accidently noticed that Downset -a band I used to listen to 10 years ago- still existed and actually released CD's after their selftitled album. I was looking through Humo's (a local magazine) concertguide, and noticed that they were giving a concert in the cultural center called "Poorthuis" in a city called "Peer" , which is about a half hour drive from my place. So, I went to see 'em, and they played about an hour and a quarter. As I only know their first record, I noticed how hard it is to understand what their saying if you've never seen the lyrics to their songs before. Luckily, they did play a lot of old songs from their first record. More specifically, they played "Breed the killer", "Downset", "Ritual" and ended the show with "Anger".

woensdag, februari 02, 2005

TOOL lyrics

As I keep relistening to old TOOL albums, and keep losing the links to the lyrics, I'll post 'em here, as a kind of bookmark :-)

http://toolshed.down.net/lyrics/

Elgoibar

Last week the OCEAN project meeting took place in Elgoibar near San Sebastian and Bilbao. I took the opportunity to visit the Guggenheim museum and experience the local habits such as the delicious pintxos and the marvelous ciderhouse-style diner.

Pintxos are similar to Spanish tapas; they are small portions of food, composed of various components, such as fish, meat and vegetables. You eat them with a glass of wine while you're standing in a pub. After finishing your glass in about 10 minutes, you continue to the next pub, where the ritual reoccurs. The friday I arrived at San Sebastian, I had so many pintxos and accompanying glasses of wine, that I can't even recall how many and what I ate :-)

On monday evening, the evening after the first meeting, we went to a ciderhouse which was a apparantly a fairly typical place to have dinner at. The owner of the place would announce at regular intervals that he would open a new cidercase which was the signal for all people to go up and refill their glasses. The food was brought to the tables, where people could take a bit of the dish and eat it with bread. They served various types of fish, prepared in various ways and a truly huge steak.

Jon, one of my collegues explained me how to let the cider drop into the glass from about a meter from the tap but still the local girls insisted on correcting my technique :-)

The local people were all very friendly and there was a very warm and safe atmosphere all over.

This is definitely a place I'd like to visit again.

maandag, januari 10, 2005

Kana

Last Saturday I memorised the Hiragana characters. I'm able to recognise and read them all and their combinations. I started memorising the Katakana characters on Sunday, but since Sunday is family gathering day, I didn't have enough time to spend.

vrijdag, januari 07, 2005

RTAI simplifications

The RTAI developers are preparing to release a new version based on the magma branch. My first impressions are quiet good. They seem to have removed a lot of the unnecessary stuff, which makes the project appear somewhat less complicated.


The number of header and source files in the RTAI Kilauea tree determined with a simple find: 574. In the Vesuvio tree: 569. And finally in the new Magma tree: 325. Which shows that some serious cleanup has occurred.

zaterdag, december 18, 2004

DVD authoring

Last week I was finally able to create a DVD-Video with ffmpeg which played on both my parents Sony DVD and my own Sony DVD player without any problems whatsoever. My previous tries ended with DVD which showed either horrible green artifacts or severe synchronisation problems. With last weeks CVS tree, it works fine.

So, the create a DVD-Video the output of ffmpeg can be fed directly to dvdauthor, no de-re-multiplexing of MPEG streams is necessary. And what's even better, on my Athlon XP 2000+ system, its encoding is faster then real-time; encoding to DVD-Video compliant MPEG-2 only took 75% of the running time of the video.

dinsdag, september 21, 2004

Java middleware performance

Read an interesting paper on Java middleware performance which reaffirms my thoughts on this topic. Webservices are awfully slow, CORBA implementations vary wildly but all outperform the webservices. Fastest was the Orbacus ORB, second was RMI, slowest was SOAP, one but slowest was XML-RPC. The higher level abstractions such as CCM and EJB caused overhead. CCM on CORBA outperformered EJB on RMI. Seems that just as SOAP and XML-RPC, EJB implementations JBoss and JOnAS are awfully slow.

vrijdag, juli 30, 2004

3D visualisation

While discussing Blender animation on IRC, I was pointed to a Python 3D engine called Soya.

dinsdag, juni 22, 2004

Poekie

Just a few minutes ago my dad told me that my cat Poekie had been killed by a car. Here's a picture of Poekie.

my cat Poekie some more pictures of Poekie

We had saved him twice before, but aparantly I couldn't save him this time :-(

We found him as a kitten and fed him and gave him a home. For years, everything went fine, until last summer when he got bitten by a rat. He almost died from the infection... We didn't notice that he had a wound, because his fur is so thick and he didn't complain much about it. Just the lack of appetite disturbed me.

Now, apparantly last night he crossed the street and got hit by a car.

maandag, juni 21, 2004

Internet phone

Today a colleague of mine pointed me to a Internet phone application called Skype. It gave it a try and it sounded remarkably pure and clear. They apparantly had just released their GNU/Linux version today.

donderdag, juni 17, 2004

Bochs

Not all bugs are equal. Some are easily located by just looking at the code, some by watching the execution flow. Some bugs are really hard to locate and a debugger can help in tracing those.

When you're working on a project which involves modifying Linux kernel code, you'll have to be able to debug the Linux kernel. This is harder then debugging normal userspace applications. But luckily, the Linux community has provided some decent tools such as the various kernel debuggers and f.e. DProbes.

When you're programming RTAI, and you're bitten by an RTAI kernel bug, you're in big trouble. The Linux kernel debugging tools in general don't just work together with RTAI's ADEOS patch. So, there's no real tool to aid you. The best thing that might happen if something goes wrong is a kernel Oops, which you can try to trace and fix (See this Oops tracing howto).

Unfortunately, some bugs are really mean. They might cause a crash without an Oops or they might for example give you no backtrace at all.

One possibility for debugging such ugly beasts is a PC emulator such as Bochs. The Bochs PC-emulator has an integrated debugger. Unfortunately, Bochs is really slow. Some say, the emulation system runs about two hundred times slower then your real system.

Nevertheless, I tried to use it to debug RTAI/LXRT applications, but unfortunately, RTAI/LXRT applications don't run stable yet using Bochs.

CORBA porting adventures

Because of issues with the TAO 1.3 OCI release, I started the port to 1.4.1 knowing that we would need that port anyway because of CIAO. The initial direct try from 1.3-OCI to 1.4.1-DOC was a failure,
too much had changed (9 versions) and apparantly I made a mistake somewhere...

The next try took a lot more work, because I ported to every successive version from 1.3-OCI to 1.4.1-DOC. So, from OCI's 1.3 release to the DOC group at Washinton University 1.3, to 1.3.1 DOC, and with every version in between to the final 1.3.x release of the DOC group 1.3.6-DOC. Then the porting continued to the major new DOC group release 1.4.0 and finally to 1.4.1-DOC.

Now, to be able to merge, I'll have to port it to the 1.4.2 CVSUP tree version. And ofcourse, test it extensively.

How to trace a kernel Oops

Since a lot of the questions I answer keep returning to me, I thought I would be useful to set up a FAQ webpage. The first real entry explains how to trace a Linux kernel Oops.

woensdag, mei 05, 2004

Blending CORBA part 3

This morning I had been testing the scalability of the Blender/CORBA Event Service connection thingy. Unfortunately, it didn't look good. I started to investigate the possible problems and changed the IDL to have lower overhead and better scalability.



Now, I have been playing around with about a dozen Blender objects moving around and rotating according to the coordinates specified by a CORBA server feeding events. So, it seems to work now. There still are some issues though.

I rendered this silly Blender-CORBA animation to a video.

dinsdag, mei 04, 2004

Blending CORBA continued

I finally managed to get a fluent Blender animation which received positional information using omniORB from a TAO CORBA server. It doesn't look impressive at all, since it just shows a simple cube moving around... but the possibilities are endless! :-)


If I make the code just a little bit more general, it should be possible to animate any Blender scene just by writing a CORBA Event Service supplier supplying various attributes for Blender objects.

Blending CORBA

Last Sunday I experimented with using CORBA from within Blender's Python scripting environment. Yesterday, I extended these simple scripts to use the EventService to receive its updated data.


Unfortunately, there appear to be some problems with Blenders Python scripts. For example, even though a particular script ran successfully several times, then suddenly, Blender complained about syntax errors. There were no modifications between the runs and there was no syntax error :-(

donderdag, april 29, 2004

TAO 1.3 problems on Linux 2.6

So TAO 1.3 doesn't seem to work on Linux 2.6.

I'm being flooded with futex(0xbffff510, FUTEX_WAIT, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) messages from strace.

The problem seems to be resolved in TAO 1.4 but using 1.3 is easier since that's the version I'm also using on RTAI. To be able to run a CORBA application, I now have to keep compiling the IDL files with different versions of TAO, which is pretty annoying. So either I start testing the TAO 1.4 port I've been working on monday or I'll have to figure out what is causing the problems with Linux 2.6 and TAO 1.3. Using the old threading library doesn't seem to help. I should reboot using a 2.4 kernel to make sure I'm not hallucinating.

Threading issue

The threading problems were caused by a change of the default stacksize. And yes, some basic functionality has not yet been implemented in NPTL.