Posts for: #Kernel

vmlinux on Ubuntu

If you’re trying to do post-mortem analysis on a crashed river, or trying to find kernel-level bottlenecks with oprofile, you need the decompressed kernel w/ debug symbols. This comes in a form of a vmlinux file. Some distributions ship debuginfo packages, namely RHEL. On Ubuntu this seems lacking.

Read more →

Linux Kernel Booting

I will be running [another]{linux-kernel-walkthroughs} Linux Kernel Walkthrough for OCLUG at TheCodeFactory next week. This time the topic is “booting”.

I am frantically preparing slides using (slightly modified) Rusty’s svg to png presentation scripts. The svg’s are naturally created in Inkscape, and the png’s are useful because I can display them in a regular image viewer like gqview. I’ll write more on this later.

Read more →

Linux Kernel Walkthroughs

I will be kicking off a new series of talks at OCLUG later this month. The idea is not mine, but a copy of a similar series ran by Silicon Valley Linux Users Group. Kudos to them!

Here is the info on the first Kernel Walkthrough: Source Tree Layout. I will start off by covering the tree structure and talk a bit about the components, before handing control of the talk over to the audience and let them drive the types of things they would like to explore.

Read more →

protecting sshd from OOM killer

When Linux runs low on memory it tries to kill off applications that may be responsible for the high memory usage. It sometimes gets is all wrong, so the kernel has a way to tell it which processes are to be treated differently by the OOM killer.

I am using ssh to run some stress tests. Occasionally they cause memory to run out, and when I am not paying attention sshd is killed off… which means I cannot turn off the tests.

Read more →

ATA messages via SCSI layer

I’ve been working on a contract for Symbio Technologies for the last month. They are makers of a few thin client terminals.

My work for Symbio involves talking to a SATA hard disk using ATA command set. What makes this a bit more interesting is that /dev/hda is the way of the past. New devices are covered by libata drives which fit into the SCSI subsystem.

So, the challenge for me was how to send raw ATA messages using the SCSI layer to the SATA drive. Besides the fact that the interface is sparsely documented, it was pretty easy.

Read more →

klips loses zlib

Last time I [wrote about openswan]{leaner-meaner-openswan} I commented how Martin and I chopped off 18 thousand lines from KLIPS.

Most recently I finished rewriting IPCOMP handling to use CryptoAPI’s api to zlib, and Martin was able to remove the zlib that was duplicated in KLIPS. Here are the updated stats:

    $ git diff origin/public HEAD -- include/openswan net/ipsec/ | diffstat | tail -n1
     135 files changed, 14549 insertions(+), 39839 deletions(-)

That, along with other cleanup, bumped us up to 25k lines less then the #public branch of openswan.

Read more →

leaner meaner openswan

I started working for Xelerance in April of 2006, and the contract ended in December. Since then I’ve been working on a KLIPS-ng, of sorts. The idea was to remove all the crypto code from KLIPS and convert it to use CryptoAPI already in the Linux kernel.

Last objective of my work was to add OCF support to KLIPS, so that we could take advantage of the asynchronous crypto facilities provided there, as well as several OCF hardware drivers. The BSD kernels have been using OCF, Open Cryptographic Framework, for some time and more recently it was ported to Linux.

Read more →