Patches from Julian Elischer

This page contains links to patches and stuff for FreeBSD.

Kernel stack-hogs

Here is an output of a GENERIC compile showing large users of kernel stack. If you see one of your routines in there, could you have a look to see what you might do differently? [this is REALLY OLD.. need to find out how to regenerate this with new gcc tools ]

Threads

Click here for threads links

This is now all in -current and I am not really doing much with threads.

A screenshot of a FreeBSD system running under vmware, running X11, with its console output redirected out one serial port (with 'tip' on the other side of the nullmodem), and stopped in the kernel debugger, which is redirected to another serial port (actually the nullmodem driver again)with gdb (in the guise of xxgdb) showing the breakpoint and the current instruction pointer. You can also see that I was running ddb on the console port for a while too, all without disturbing the X11 display. Hopefully a more explicit description of how to do this will be forthcoming. This was using the nmdm driver to connect the serial ports of the VM to gdb and tip. The gif file is here.


Netgraph link level modular framework

There is a README and plenty of manpages. Archie has written a cool web-page for it here . Also see here and here This is designed to live in the same ecological niche as STREAMS.


CBASIC (remember that? (~1982)) to C/Unix translator

A translator for making ancient BASIC programs run under UNIX. It compiles a version of the DIGITAL RESEARCH (do they still exist?)(TM) CBASIC. There are a couple of small changes you need to do, including:

change "print using #n" ... to "print #n using..." - "using" can be used on any string on its own now. (like sprintf())

A% is a 16 bit int as before.. I added A%% as a 32 bit int.

Because you can't express 100ths accuratly in IEEE floating.. I implemented FISCAL data type.. A$ is a string... $A is a fiscal and it needs to be initialised by a constant of the form $1.00 (or $1 will do).

Because I just brought this from a xenix machine with lex, flex(tm) is playing up and the file reading is broken inthe compiler so it only reads from standard input. This makes it unable to read its include files, which is a problem because you need to add the line

include "standard.bh"

to the top of your basic program. I just copied it all in to test. I will fix this as soon as I get my brain around flex. This compiler ran for years in production on a SYSVR3 system. but it seems to be having a few problems here.. (including getting a syntax error in standard.bh).

This is a real "Work in progress" but for anyone interested, the file is available here.


IPSEC for dummies

Here's a little summary of RFC2401 that I wrote so I don't forget what was in it. This is slightly easier to understand than the 66 page RFC. Click here.

BAFUG Talks

Recordings of talks for the Bay Area FreeBSD Users Group here.

Rsynch TimeMachine

A script which when run as root will use rsync to perform time-machine-like backups onto a part of the file system. e.g. a removeable drie or an NFS partition here.

A script which when run as root will perform time-machine-like backups onto a remote file system using SSH as a transport and control medium. here.

a small sample exclude file.. read the rsync man page. here.

julian@Freebsd.org