Re: [PATCH] kmemcheck: SMP support
From: Vegard Nossum
Date: Fri May 23 2008 - 11:51:55 EST
On Fri, May 23, 2008 at 5:40 PM, Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
> Vegard Nossum wrote:
>>
>> This works on real hw, but not on qemu. It seems to get stuck waiting for
>> one
>> of the atomic values to change. Don't know why yet, it might just be yet
>> another bug in qemu... (we've hit at least two of them so far. And they
>> were
>> real bugs too.)
>>
>
> I've noticed that qemu mis-reports the eip of cmpxchg if it faults (it
> reports the eip of the start of the basic block, I think). Does that match
> what you're seeing?
You mean the EIP that gets pushed on the stack for the page fault?
(That would be bad news for kmemcheck. I suppose the rest of the
kernel never page faults on cmpxchg addresses?)
Or do you mean the EIP that shows up in gdb?
But no, it seems to be unrelated. What I hit so far were (in 0.9.0):
1. qemu doesn't set the single-stepping flag of DR6 on single-step
debug exceptions.
2. qemu triggers int 0 (divide error) instead of int 2 on NMI IPIs.
But both of these were fixed in the latest 0.9.1.
I don't yet know if what I'm hitting now is really an error with qemu.
But I usually trust the real hardware more :-)
Vegard
--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/