From: Keir Fraser <keir.xen@gmail.com>
To: Ruslan Nikolaev <nruslan_devel@yahoo.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: Hypercall continuation and wait_event
Date: Mon, 09 Apr 2012 21:58:51 +0100 [thread overview]
Message-ID: <CBA90C1B.30417%keir.xen@gmail.com> (raw)
In-Reply-To: <1334002589.51814.YahooMailNeo@web124502.mail.ne1.yahoo.com>
It means the vcpu has an interrupt pending (in the pv case, that means an
event channel has a pending event).
On 09/04/2012 21:16, "Ruslan Nikolaev" <nruslan_devel@yahoo.com> wrote:
> Keir,
>
> Thanks for your replies! Just one more question about
> local_event_need_delivery(). Under what (common) conditions I would expect to
> have local events that need delivery?
>
> Ruslan
>
>
>
> ----- Original Message -----
> From: Keir Fraser <keir.xen@gmail.com>
> To: Ruslan Nikolaev <nruslan_devel@yahoo.com>; "xen-devel@lists.xen.org"
> <xen-devel@lists.xen.org>
> Cc:
> Sent: Monday, April 9, 2012 8:09 PM
> Subject: Re: [Xen-devel] Hypercall continuation and wait_event
>
> On 09/04/2012 20:18, "Ruslan Nikolaev" <nruslan_devel@yahoo.com> wrote:
>
>> Thanks for the reply.
>>
>> Since it can take arbitrarily long for an event to arrive (e.g., it is coming
>> from a different guest on a user request), how do I need to handle this
>> case?Does it mean that I only need to make sure that nothings get scheduled
>> on
>> this VCPU in the guest?
>
> Nothing else *can* get scheduled on this VCPU in the guest. The VCPU will
> sleep within wait_event within the hypercall context. Hence you must not
> hold any hypervisor spinlocks either, for example.
>
>> Also, it is not exactly clear to me how wait_event avoids the need for
>> hypercall continuation. What about local_events_need_delivery() or
>> softirq_pending()? Are they going to be handled by wait_event internally?
>
> Your VCPU gets descheduled. Hence softirq_pending() is not your concern for
> the duration that you're descheduled. And if local_event_need_delivery(),
> that's too bad, they have to wait for the vcpu to wake up on the event.
>
> -- Keir
>
>> Ruslan
>>
>>
>>
>>
>>
>>
>> ----- Original Message -----
>> From: Keir Fraser <keir.xen@gmail.com>
>> To: Ruslan Nikolaev <nruslan_devel@yahoo.com>; "xen-devel@lists.xen.org"
>> <xen-devel@lists.xen.org>
>> Cc:
>> Sent: Monday, April 9, 2012 6:54 PM
>> Subject: Re: [Xen-devel] Hypercall continuation and wait_event
>>
>> On 09/04/2012 18:51, "Ruslan Nikolaev" <nruslan_devel@yahoo.com> wrote:
>>
>>> Hi
>>>
>>> I am curious how I can properly support hypercall continuation and
>>> wait_event.
>>> I have a dedicated VCPU in a domain which makes a special hypercall, and the
>>> hypercall waits for certain event to arrive. I am using queues available in
>>> Xen, so wait_event will be invoked in the hypercall once its ready to accept
>>> events. However, my understanding that even though I have a dedicated VCPU
>>> for
>>> this hypercall, I still may need to support hypercall continuation properly.
>>> (Is this the case?) So, my question is how exactly the need for hypercall
>>
>> No it's not the case, the old hypercall_create_continuation() mechanism does
>> not need to be used with wait_event().
>>
>> -- Keir
>>
>>> preemption may affect wait_event() and wait() operations, and where would I
>>> need to do hypercall_preempt_check()?
>>>
>>> Thank you!
>>> Ruslan
>>>
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2012-04-09 20:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-09 17:51 Hypercall continuation and wait_event Ruslan Nikolaev
2012-04-09 18:54 ` Keir Fraser
2012-04-09 19:18 ` Ruslan Nikolaev
2012-04-09 20:09 ` Keir Fraser
2012-04-09 20:16 ` Ruslan Nikolaev
2012-04-09 20:58 ` Keir Fraser [this message]
2012-04-09 21:19 ` Ruslan Nikolaev
2012-04-10 7:37 ` Keir Fraser
2012-04-12 21:04 ` Ruslan Nikolaev
2012-04-12 22:16 ` Keir Fraser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CBA90C1B.30417%keir.xen@gmail.com \
--to=keir.xen@gmail.com \
--cc=nruslan_devel@yahoo.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.