mjw is currently certified at Master level.

Name: Mark Wielaard
Member since: 2000-05-10 08:47:35
Last Login: 2008-06-02 16:50:48

FOAF RDF Share This

Homepage: http://www.klomp.org/mark/

Notes: Since I know a little Java I try to contribute to some of the free Java related projects. I maintain the webpages and distribution files of GNUJSP. I contributed the java.util.jar package to Classpath (which is now merged into libgcj). I updated the javax.servlet package that Paul Siegman wrote to version 2.1 of the Servlet specification, which is now merged with the ClasspathX project. I am the current GNU Classpath maintainer.

Projects

Recent blog entries by mjw

Syndication: RSS 2.0

1 Mar 2009 »

Welcome Lenny

Just did an aptitude dist-upgrade to get planet.classpath.org and the main IcedTea backup server from Debian Etch to Debian Lenny. Pretty smooth.

Needed to adjust some apache2 NameVirtualHost settings as outlined in the release notes. And sadly, had to pin mercurial to 0.9.5, since newer versions don’t work nicely with the forest extension and serving hg through http hgwebdir. But that was it. Everything else went without any hiccups.

But if you use one of those servers and do notice something wrong, please let me know.

Syndicated 2009-03-01 20:50:57 from Mark J. Wielaard

1 Mar 2009 »

Systemtap 0.9 - Cast away

Another nice feature for Systemtap 0.9 was added by Josh Stone. Systemtap can collect data from any variable in scope at a probe point using the DWARF debug info. You can even dereference pointers, access struct members, array elements, etc. This is very powerful when collecting data during a trace and the systemtap runtime makes sure all data access is safe. But there were two issues making this less powerful than it could be.

First to the keep the tracing language simple systemtap only supports basic types (integers and strings), associative arrays or aggregates in stap scripts. This means that you could not easily pass program data around to an helper function to manipulate or format. Second sometimes programs “hide” the real type of a variable, or use a void * pointer that gets cast to the right type later on. You could work around this in the past by using embedded C and guru mode, but that wasn’t very nice, and made your script potentially unsafe.

So to make sure you can do this safely Josh added a @cast construct. This allows you to pass around a pointer to program data and interpret it as if it was any type described in the DWARF debuginfo for the program. All accesses are of course still checked for safety by the runtime.

A nice example of this feature in action is the following simple stap script to print the number of incoming connections for an executable by port number. We want to probe the kernel and get the inet_sock from the inet_csk_accept function when it returns successfully. Although this function handles inet sockets (it is part of inet_connection_sock.c), it passes around sock pointers. It can do this since an inet_sock struct starts with a sock pointer, later it will cast this to a full featured inet_sock pointer. So we do the same in our script:

global ports;

probe kernel.function("inet_csk_accept").return
{
  sock = $return
  if (sock != 0)
    {
      port = @cast(sock, "inet_sock")->num;
      ports[execname(), port]++;
    }
}

probe timer.s(30), end
{
  printf("Connections on ports: %s\n", ctime(gettimeofday_s()));
  foreach ([exec, port] in ports-)
    printf("%12s %4d: %4d\n", exec, port, ports[exec, port]);
  delete ports;
}
</blockquote
$ stap ports.stp
Connections on ports: Sat Feb 28 22:49:10 2009
       httpd   80:   10
        exim   25:    6
       spamd  783:    4
  imap-login  993:    2
        sshd   22:    2

There are some more elaborate network tracing examples in the Systemtap Examples collection.

Syndicated 2009-02-28 23:07:43 from Mark J. Wielaard

28 Feb 2009 »

Systemtap 0.9 - Markers everywhere

We recently released Systemtap 0.9 and one of the nice new features included is the user space markers that Stan Cox has been working on. They were designed so that they should be compatible with dtrace static user space markers, so you can immediately take advantage of them if your program already has those included. It even comes with a little dtrace python script wrapper that automagically does the right thing during the build. A nice example of that is postgresql, which has a set of markers to observe transactions, database locks, etc. All you have to do is recompile postgresql with –enable-dtrace and tada, out roll systemtap enabled markers that you can use for getting some high level events from your database. Like for example how many and how long transactions take:

$ stap -x `pgrep -n postgres` postgresql-transactions.stp
committed transactions:
transaction id: time
            34: 1593213ns
            36: 2817146ns
            37: 1463901ns
            38: 1427854ns

aborted transactions: 4

We are trying to get some of these static markers activated in packages compiled for Fedora as SystemtapStaticProbes F11 Feature, so you can use them out of the box.

But you can also add your own markers to existing code. Daniel Tralamazza has been experimenting with a small glibc patch to add markers around various pthread mutexes, for doing userland synchronization primitives analysis. Then you can easily get things like the top 10 most shared locks.

Syndicated 2009-02-24 15:41:48 from Mark J. Wielaard

28 Feb 2009 »

Some Fosdem pictures

Sarah has been publishing sets of pictures from the Fosdem Free Java Meeting. <tbody> </tbody>

Syndicated 2009-02-11 07:53:38 from Mark J. Wielaard

28 Feb 2009 »

IcedTea 1.4 with XRender support

IcedTea 1.4 got released this week. And while it is full of new exciting stuff, you really should check out the XRender support by Clemens Eisserer. Especially if you often use java through remote X. It just flies! Trying it out is easy as soon as the new IcedTea hits a distro near you:

java -Dsun.java2d.xrender=True my.fancy.gui.HelloWorld

Also check out the JGears2 benchmark to compare your results.

So this speeds up the rendering pipeline to X enormously. Now the next step will be optimizing or rewriting the actual Render backend (pisces at this time) which seems to be the next bottleneck, at least for anti-aliased operations.

Clemens will give a talk about his work at Fosdem. Hope to see you all there.

Syndicated 2009-02-05 08:51:16 from Mark J. Wielaard

170 older entries...

 

mjw certified others as follows:

  • mjw certified mjw as Journeyer
  • mjw certified tromey as Master
  • mjw certified raph as Master
  • mjw certified jdub as Master
  • mjw certified robilad as Master
  • mjw certified jpick as Journeyer
  • mjw certified sab39 as Journeyer
  • mjw certified goran as Journeyer
  • mjw certified Anthony as Master
  • mjw certified rmathew as Journeyer
  • mjw certified Bram as Master
  • mjw certified gonzo as Apprentice
  • mjw certified kiffer as Journeyer
  • mjw certified DV as Master
  • mjw certified graydon as Master
  • mjw certified twiun as Journeyer
  • mjw certified jibbler as Journeyer
  • mjw certified coriordan as Journeyer
  • mjw certified saugart as Journeyer
  • mjw certified gadek as Apprentice
  • mjw certified jserv as Journeyer
  • mjw certified dog as Master
  • mjw certified Suvarov454 as Journeyer
  • mjw certified cbj as Journeyer
  • mjw certified gary as Journeyer
  • mjw certified kuzman as Master
  • mjw certified jvic as Apprentice
  • mjw certified aph as Master
  • mjw certified avdyk as Journeyer
  • mjw certified twisti as Journeyer
  • mjw certified audriusa as Journeyer

Others have certified mjw as follows:

  • mjw certified mjw as Journeyer
  • Raphael certified mjw as Apprentice
  • sh certified mjw as Apprentice
  • claudio certified mjw as Apprentice
  • lev certified mjw as Apprentice
  • goran certified mjw as Journeyer
  • robilad certified mjw as Master
  • fxn certified mjw as Journeyer
  • lerdsuwa certified mjw as Journeyer
  • tromey certified mjw as Master
  • Anthony certified mjw as Master
  • ade certified mjw as Journeyer
  • rmathew certified mjw as Journeyer
  • gonzo certified mjw as Master
  • DV certified mjw as Master
  • twiun certified mjw as Master
  • ebf certified mjw as Master
  • jpick certified mjw as Master
  • saugart certified mjw as Master
  • gadek certified mjw as Master
  • Suvarov454 certified mjw as Master
  • mitr certified mjw as Journeyer
  • jserv certified mjw as Master
  • e8johan certified mjw as Journeyer
  • dog certified mjw as Master
  • gary certified mjw as Master
  • kuzman certified mjw as Master
  • jvic certified mjw as Master
  • graydon certified mjw as Journeyer
  • sqlguru certified mjw as Master
  • audriusa certified mjw as Master
  • reenoo certified mjw as Master
  • gnuandrew certified mjw as Master
  • rlougher certified mjw as Master
  • ean certified mjw as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page