On Sat, 7 Mar 2009 20:54:28 +0100 Frans Pop <elendil@xxxxxxxxx> wrote: > On Saturday 07 March 2009, Heiko Carstens wrote: > > On Thu, 5 Mar 2009 23:20:51 +0100 Frans Pop <elendil@xxxxxxxxx> wrote: > > > During installation of a new Debian kernel package while running > > > 2.6.27.19 in the Hercules emulator, I got the following errors while > > > the initamfs initrd was being created for the new kernel. After the > > > error I had to break of the process. The second error is from a > > > separate second try. > > > > > > With the current unstable Debian kernel (2.6.26) this error does not > > > occur. > > > > > > 17180168.889947! Kernel BUG at 000738b4 verbose debug info unavailable! > > > 17180168.890213! fixpoint divide exception: 0009 #1! SMP > > > > Looks like this was caused by an overflow in cpu time accounting. > > Unfortunately I wasn't able to reproduce that here. We don't have any > > arch specific patches wrt to cpu time accouting between 2.6.26 and > > 2.6.27. However there was one patch in common code touching > > acct_update_integrals which claims to fix an overflow. > > > > Could you try to revert commit 49b5cf34727a6c1be1568ab28e89a2d9a6bf51e0 > > "accounting: account for user time when updating memory integrals" and > > see if the exception still occurs? > > With .27.19 + that commit reverted I don't see the problem. I did two > successfull kernel installs (incl. initrd creation). > > To verify I then went back to the unpatched kernel and the problem was > back during the first attempt to install a kernel, so reproduces reliably. > > What do you suggest to do next? Take it to lkml and the patch author or > do you want to look at it yourself a bit more first? If I provide any > additional info, please ask. hmm.. (added Jonathan to cc list). So in theory this can only happen if acct_timexp is greater than stime + utime of the task. Just by looking at the code I would say that can't happen. ;) Could you try the patch below? Hopefully it gives us some more hints about how much the values are screwed up. --- kernel/tsacct.c | 3 +++ 1 file changed, 3 insertions(+) Index: linux-2.6.27.19/kernel/tsacct.c =================================================================== --- linux-2.6.27.19.orig/kernel/tsacct.c +++ linux-2.6.27.19/kernel/tsacct.c @@ -124,6 +124,9 @@ void acct_update_integrals(struct task_s time = tsk->stime + tsk->utime; dtime = cputime_sub(time, tsk->acct_timexpd); + if ((long long)dtime < 0) + printk("stime: %llx utime: %llx acct_timexpd: %llx\n", + tsk->stime, tsk->utime, tsk->acct_timexpd); jiffies_to_timeval(cputime_to_jiffies(dtime), &value); delta = value.tv_sec; delta = delta * USEC_PER_SEC + value.tv_usec; -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html