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] Xen spinlock questions

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] Xen spinlock questions
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Tue, 12 Aug 2008 10:00:53 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 12 Aug 2008 02:01:18 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <48A089A5.2090200@xxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acj8Wex9KtWwBmhNEd2E+wAX8io7RQ==
Thread-topic: [Xen-devel] Xen spinlock questions
User-agent: Microsoft-Entourage/
On 11/8/08 19:49, "Jeremy Fitzhardinge" <jeremy@xxxxxxxx> wrote:

> Keir Fraser wrote:
>> That's right. The hypercall returns if any event is delivered to the vcpu,
>> or if any port in the poll set is pending. The fact we don't clear the vcpu
>> from the poll_mask if unblocked for event delivery isn't a correctness
>> issue, but it will cause unnecessary extra work in future invocations of
>> evtchn_set_pending(). Perhaps vcpu_unblock() should clear it.
> That seems reasonable.  In this use-case, it's quite likely that if the
> poll is interrupted by event delivery, on return it will find that the
> spinlock is now free and never re-enter the poll.

Attached is a new version of the patch which clears the vcpu from poll_mask
when it is unblocked for any reason. Jan: please can you give this one a
spin if you get time.

 -- Keir

Xen-devel mailing list