From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: Anoob Soman <anoob.soman@citrix.com>, xen-devel@lists.xenproject.org
Cc: jgross@suse.com
Subject: Re: xen-evtchn: Bind dyn evtchn:qemu-dm interrupt to next online CPU
Date: Tue, 30 May 2017 13:42:24 -0400 [thread overview]
Message-ID: <993b26b9-d4cb-63dd-e39b-e2f5e5cd6246@oracle.com> (raw)
In-Reply-To: <558dd796-5aa5-2bb0-59e8-7f14a171e210@citrix.com>
On 05/30/2017 11:17 AM, Anoob Soman wrote:
> On 16/05/17 20:02, Boris Ostrovsky wrote:
>
> Hi Boris,
>
> Sorry for the delay, I was out traveling.
>
>>> rc = evtchn_bind_to_user(u, bind_interdomain.local_port);
>>> - if (rc == 0)
>>> + if (rc == 0) {
>>> rc = bind_interdomain.local_port;
>>> + selected_cpu = cpumask_next(selected_cpu,
>>> cpu_online_mask);
>>> + if (selected_cpu >= nr_cpu_ids)
>>> + selected_cpu = cpumask_first(cpu_online_mask);
>>> + xen_rebind_evtchn_to_cpu(rc, selected_cpu);
>> Can you do proper assignment *instead of* binding to CPU0 as opposed to
>> rebinding the event channel later? Otherwise you are making an extra
>> hypercall.
>
> If I understood the code correctly, EVTCHNOP_bind_interdomain doesn't
> support sending in VCPU number, so I think we would require two
> hypercalls one for binding interdomain eventchn
> (EVTCHNOP_bind_interdomain) and another for binding it to a VCPU
> (EVTCHNOP_bind_vcpu). We can create EVTCHNOP_bind_interdomain_V2
> sub-op, which can take in VCPU id, if we want to avoid making multiple
> hypercalls.
This is not worth API change so I guess we are going to have to use
separate calls, as you originally proposed.
>
>> You also probably want to look at current IRQ affinity mask instead of
>> cpu_online_mask.
>>
>
> Do we need to look at IRQ affinity mask, if we are going to bind
> eventchannel to smp_processor_id(). If we definitely need to use IRQ
> affinity then binding to smp_processor_id() might not be the correct
> approach.
What if, for whatever reason, the current processor is not in the
affinity mask of the IRQ?
-boris
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2017-05-30 17:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-16 17:15 xen-evtchn: Bind dyn evtchn:qemu-dm interrupt to next online CPU Anoob Soman
2017-05-16 19:02 ` Boris Ostrovsky
2017-05-17 15:28 ` Anoob Soman
2017-05-17 16:44 ` Boris Ostrovsky
2017-05-30 15:17 ` Anoob Soman
2017-05-30 17:42 ` Boris Ostrovsky [this message]
2017-05-31 13:12 ` Anoob Soman
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=993b26b9-d4cb-63dd-e39b-e2f5e5cd6246@oracle.com \
--to=boris.ostrovsky@oracle.com \
--cc=anoob.soman@citrix.com \
--cc=jgross@suse.com \
--cc=xen-devel@lists.xenproject.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).