Allow IRQ balancing to be disabled with 'noirqbalance'

boot parameter.
Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
kaf24@firebug.cl.cam.ac.uk committed 2005-07-14 10:37:49 +00:00
1 parent 563fb4e94c
commit 08daf6e614
2 files changed
+11 -1

No files matched your search

+5
View File
@@ -1692,6 +1692,11 @@ editing \path{grub.conf}.
\item [watchdog ]
Enable NMI watchdog which can report certain failures.
\item [noirqbalance ]
Disable software IRQ balancing and affinity. This can be used on
systems such as Dell 1850/2850 that have workarounds in hardware for
IRQ-routing issues.
\item [badpage=$<$page number$>$,$<$page number$>$, \ldots ]
Specify a list of pages not to be allocated for use
because they contain bad bytes. For example, if your
+6 -1
View File
@@ -6,6 +6,7 @@
*/
#include <xen/config.h>
#include <xen/init.h>
#include <xen/errno.h>
#include <xen/event.h>
#include <xen/irq.h>
@@ -14,6 +15,10 @@
#include <asm/current.h>
#include <asm/smpboot.h>
/* opt_noirqbalance: If true, software IRQ balancing/affinity is disabled. */
static int opt_noirqbalance = 0;
boolean_param("noirqbalance", opt_noirqbalance);
irq_desc_t irq_desc[NR_IRQS];
static void __do_IRQ_guest(int vector);
@@ -240,7 +245,7 @@ int pirq_guest_bind(struct vcpu *v, int irq, int will_share)
/* Attempt to bind the interrupt target to the correct CPU. */
cpu_set(v->processor, cpumask);
if ( desc->handler->set_affinity != NULL )
if ( !opt_noirqbalance && (desc->handler->set_affinity != NULL) )
desc->handler->set_affinity(vector, cpumask);
}
else if ( !will_share || !action->shareable )
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.