Ronald G Minnich <[EMAIL PROTECTED]> writes:

> I'm finding now that we MUST have persistent log buffer for some of our
> nodes -- such as the cluster-labs nodes that have no serial port and no
> ether console (yet). I want to have linuxbios logs go into a
> kernel-accessible log buffer, and I want linux log buffers to survive
> reboot/reset.

Surviving reboot/reset is a challenge.  Especially if you do a full reset,
and have to setup memory again.
 
> I need some comments on how to do this. I did it in LOBOS and it worked
> well. What I did there is reserve space in the Linux image starting at
> offset 4096 to offset 20000, i.e. 16 KB, and had the usual linux pointers
> into that space also at known offsets in the kernel image. Then both
> linuxbios and linux could put messages at that place. Linux could look at
> the pointers on boot and if they were non-zero and sane (i.e. inside the
> buffer) then it could just use them.
> 
> None of this is new. BSD invented it ca. 1980, and SunOS uses it to this
> day. PCs never have due to their affinity for zeroing memory. We have a
> chance to fix that problem.

Except when we reset the memory controller and have ECC memory.  Zeroing
memory is mandatory in that case.

> Where should log_buf be? I don't like the fixed offset in the kernel
> image. One option is the last 64K of physical RAM. Any comments? I am
> going to work up a patch absent any ideas from this group.

Drop an pointer to it in the LinuxBIOS table.  Then the kernel can find it and
use it.  And LinuxBIOS can use it.

The nice thing is this allows auto detection of this capability.  So if you
don't have the log buffer enabled in LinuxBIOS the kernel can just carry on as
normal.

Eric

Reply via email to