On 09/08/2011 05:07 AM, Avi Kivity wrote:
On 09/07/2011 09:44 PM, Anthony Liguori wrote:

I think this is a bit more complicated than is really needed. Here's
what I came up with which also fixes another bug where the io channel
could be freed twice. I stumbled across this via a very strange
failure scenario. Avi, it might be worth trying this patch to see if
it fixes your problem too.

Right now, I've got more than just one problem.


One thing that I found challenging debugging this, coroutines make
valgrind very unhappy. Is it possible that we could have a command
line switch to fall back to the thread based coroutines so to make
things more valgrind friendly?

How is valgrind even aware of coroutines? Unless is doesn't implement
makecontext correctly, it shouldn't even be aware of them.

It detects stack switching and has trouble differentiating between a legitimate stack switch and something more nefarious. I believe the heuristic it currently uses is the distance that RSP moves. If it moves more than a certain threshold, it assumes that's a stack switch.

Regards,

Anthony Liguori





Reply via email to