aboutsummaryrefslogtreecommitdiff
path: root/sys/x86/xen
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2018-03-27 03:37:04 +0000
committerJeff Roberson <jeff@FreeBSD.org>2018-03-27 03:37:04 +0000
commita48de40bcc09cd70632b72b486143a57ed25795b (patch)
treefa1b60b16d6e81c0cc8a415a616c0d0f9fa21bc2 /sys/x86/xen
parent146bf2c66dbc71f6473dff7853f35b3884e72047 (diff)
downloadsrc-a48de40bcc09cd70632b72b486143a57ed25795b.tar.gz
src-a48de40bcc09cd70632b72b486143a57ed25795b.zip
Only use CPUs in the domain the device is attached to for default
assignment. Device drivers are able to override the default assignment if they bind directly. There are severe performance penalties for handling interrupts on remote CPUs and this should only be done in very controlled circumstances. Reviewed by: jhb, kib Tested by: pho (earlier version) Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D14838
Notes
Notes: svn path=/head/; revision=331606
Diffstat (limited to 'sys/x86/xen')
-rw-r--r--sys/x86/xen/xen_intr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/x86/xen/xen_intr.c b/sys/x86/xen/xen_intr.c
index 3f6d190e7f62..cbc90a99d300 100644
--- a/sys/x86/xen/xen_intr.c
+++ b/sys/x86/xen/xen_intr.c
@@ -430,7 +430,7 @@ xen_intr_bind_isrc(struct xenisrc **isrcp, evtchn_port_t local_port,
* unless specified otherwise, so shuffle them to balance
* the interrupt load.
*/
- xen_intr_assign_cpu(&isrc->xi_intsrc, intr_next_cpu());
+ xen_intr_assign_cpu(&isrc->xi_intsrc, intr_next_cpu(0));
}
#endif
@@ -1562,7 +1562,7 @@ xen_intr_add_handler(const char *name, driver_filter_t filter,
return (EINVAL);
error = intr_add_handler(name, isrc->xi_vector,filter, handler, arg,
- flags|INTR_EXCL, &isrc->xi_cookie);
+ flags|INTR_EXCL, &isrc->xi_cookie, 0);
if (error != 0) {
printf(
"%s: xen_intr_add_handler: intr_add_handler failed: %d\n",