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.
Posts for: #Kernel
Kernel Walkthroughs - booting
Ian just posted the screen casts of the Linux Kernel Walkthroughs that I ran last week.
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.
Linux Kernel Walkthroughs posted
Ian just posted the screen casts of the [Linux Kernel Walkthroughs]{linux-kernel-walkthroughs} that I ran last week.
Here is the same video on google/video… it’s a lot lower rez :(
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.
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.
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.
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.
vim and linux CodingStyle
It would seem that either no one that codes for the Linux kernel does so under vim, or if they do they don’t have the time to share their vim configuration that doesn’t conflict with the kernel’s CodingStyle.
Below I will discuss some changes I had to make to my .vimrc and .vim/c.vim to work with C efficiently.
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.