From: Jeff D. <jd...@ad...> - 2008-07-18 20:53:53
|
On Thu, Jul 17, 2008 at 12:55:09PM +0800, Jiaying Zhang wrote: > The patch below solves the 2.6.25 uml crash problem for me. Looks like the > problem should be away in 2.6.26 kernel because down_interruptible has > changed to the C code since 2.6.26. But I got kernel panic while booting > the 2.6.26 kernel :(. > > --- linux-2.6.25.4/lib/semaphore-sleepers.c 2008-05-15 > 23:00:12.000000000 +0800 > +++ linux-2.6.25.4-new/lib/semaphore-sleepers.c 2008-07-17 > 12:20:47.000000000 +0800 > @@ -48,12 +48,12 @@ > * we cannot lose wakeup events. > */ > > -void __up(struct semaphore *sem) > +asmregparm void __up(struct semaphore *sem) > { > wake_up(&sem->wait); > } You continue to ignore a few important facts: 1 - There are a ton of semaphores in UML 2 - They all work, except for yours Therefore, a patch which changes all semphores across all architectures for which asmregparam has meaning can't possibly be the correct fix. However, you might have treated this as an important clue, and looked at whether your broken semaphore has a different set of declarations in force than those in the rest of the kernel. Jeff -- Work email - jdike at linux dot intel dot com |