|
From: Jake H. <jh...@an...> - 2004-10-17 17:21:45
|
Kristian Van Der Vliet wrote: > I'm afraid we seem to be on the wrong track; the patches do not fix the > instability on SMP systems. The symptoms are identical to the current 0.5.4 > kernel when compiled with Gcc 3.3 and -O2 optimisations E.g. random panics > during boot. That's too bad. Anyway, here's my final set of atomic patches for the appserver and filesystem code. The FS patch also fixes a few compiler warnings having to do with missing newlines at the end of some files and a commented-out section with spaces following the "\" token, and adds the "-fno-strict-aliasing" flag to get rid of some warnings. The appserver patch fixes <util/locker.h> and <gui/font.h> which must be installed to "/ainc" before compiling. It also inlines the ddriver_mmx.c code into ddriver.cpp (the only place where it's used), which adds a couple of new "use of memory input without lvalue in asm operand x is deprecated" warnings which appear to be harmless as they also occur when compiling the MPlayer code from which ddriver_mmx.c was taken. Finally, the atomic_gthr_default_h.diff patch must be applied in /usr/gcc/include/c++/3.3.4/i586-pc-syllable/bits before compiling the appserver. In CVS it should be applied to the "gthr-syllable.h" files in system/apps/utils/Builder/packages/gcc-*/patches/gcc. I notice that I missed an opportunity to change "atomic_add( &mutex->count, -1 );" to "atomic_dec( &mutex->count );" in one location so that could also be done for a tiny performance improvement. Like I said in my post to syllable-developer, it would be nice if we had an UPDATING file in CVS to alert users of changes like this where manual intervention is needed. Anyway, I'm sorry to hear that these changes didn't fix your problem, but I'm not too surprised. They do seem to be a necessary precondition for figuring out what the real problem is. If I see anything else suspicious, I'll be sure to let you know. -- Jake |