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:09:19 +0100 [thread overview]
Message-ID: <CBA9007F.3040B%keir.xen@gmail.com> (raw)
In-Reply-To: <1333999130.48871.YahooMailNeo@web124501.mail.ne1.yahoo.com>
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
next prev parent reply other threads:[~2012-04-09 20:09 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 [this message]
2012-04-09 20:16 ` Ruslan Nikolaev
2012-04-09 20:58 ` Keir Fraser
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=CBA9007F.3040B%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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).