diff options
author | Jeff Roberson <jeff@FreeBSD.org> | 2018-03-27 03:37:04 +0000 |
---|---|---|
committer | Jeff Roberson <jeff@FreeBSD.org> | 2018-03-27 03:37:04 +0000 |
commit | a48de40bcc09cd70632b72b486143a57ed25795b (patch) | |
tree | fa1b60b16d6e81c0cc8a415a616c0d0f9fa21bc2 /sys/x86/xen | |
parent | 146bf2c66dbc71f6473dff7853f35b3884e72047 (diff) | |
download | src-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.c | 4 |
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", |