This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH] Fix locking bug in vcpu_migrate

To: Keir Fraser <keir.xen@xxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Fix locking bug in vcpu_migrate
From: John Weekes <lists.xen@xxxxxxxxxxxxxxxxxx>
Date: Fri, 22 Apr 2011 11:23:31 -0700
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>
Delivery-date: Fri, 22 Apr 2011 11:24:28 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C9D71758.16C18%keir.xen@xxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C9D71758.16C18%keir.xen@xxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv: Gecko/20110303 Thunderbird/3.1.9

Nice that empirical evidence supports the patch, however, I'm being dense
and don't understand why order of lock release matters.

I was taught long ago to release them in order, but as I think about it, I agree with you that there doesn't seem to be a scenario when the release would matter.

It's odd that it seemed to lead to such a big difference for me, then. I'll do some further tests -- maybe I changed something else to cause the behavior, or the problem is more random than I thought and just hasn't occurred for me yet in all the new tests.

perhaps you've merely perturbed a fragile pos code that's
broken in some other way.

That's entirely possible.

Also the last hunk of your patch is broken -- in the final else clause you
call spin_unlock_irqrestore on the wrong lock. This is very definitely a
bug, as irqs should never be enabled while any schedule_lock is held.

Definitely. I had fixed that here but sent an old version of the patch -- a boneheaded mistake.


Xen-devel mailing list