[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Need help with fixing the Xen waitqueue feature
On 23/11/2011 18:31, "Olaf Hering" <olaf@xxxxxxxxx> wrote: > On Wed, Nov 23, Keir Fraser wrote: > >> We have quite a big waitqueue problem actually. The current scheme of >> per-cpu stacks doesn't work nicely, as the stack pointer will change if a >> vcpu goes to sleep and then wakes up on a different cpu. This really doesn't >> work nicely with preempted C code, which may implement frame pointers and/or >> arbitrarily take the address of on-stack variables. The result will be >> hideous cross-stack corruptions, as these frame pointers and cached >> addresses of automatic variables will reference the wrong cpu's stack! >> Fixing or detecting this in general is not possible afaics. > > Yes, I was thinking about that wakeup on different cpu as well. > As a quick fix/hack, perhaps the scheduler could make sure the vcpu > wakes up on the same cpu? Could save old affinity and then vcpu_set_affinity. That will have to do for now. Actually it should work okay as long as toolstack doesn't mess with affinity meanwhile. I'll sort out a patch for this. -- Keir > Olaf _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |