Tuesday, September 8, 2009

smp usb flash-on-root corruption issue

I suspect (but can't really confirm) that having this 3-processor phenom chip and booting to USB flash, combined with suspend-to-ram seems to somehow result in an extremely corrupted filesystem. Booting with kernel option "nosmp" seems to completely resolve the problem... so, that is good and sucky at the same time. Aha! Hot-plug to the rescue! I just stuck this script in /etc/pm-tools/sleep.d/99cpu

#!/bin/sh
. "${PM_FUNCTIONS}"

case "$1" in
hibernate|suspend)
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu2/online
;;
thaw|resume)
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
;;
*)
;;
esac



We'll have to see if it solves the problem, but it does indeed remove my 2 processors before suspend and then adds them back again after everything is back up. Kinda sad but I don't feel like upgrading my kernel or messing around this more than I have to :-)

Debian Lenny
Kernel 2.6.26-2-686 #1 SMP

2 comments:

brien said...

I discovered that the linux kernel is actually supposed to do all of this on suspend anyway. So, if my hack fixes this then that is very interesting. I'll have to test it a few more days and then disable my script and see if corruption occurs. Bizarre?

brien said...

ok just disabled my script now and will see how long it takes before hell breaks loose