X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=kernel%2Firq%2Firqdesc.c;h=3fcb6faa5fa6f518a4c1292c21dd74aef05f40e6;hb=14cdcbf57afac55489130a55ea0e8a59481531d8;hp=473b2b6eccb5e9515840e0b7b4db3d1695f81f6d;hpb=450cdfa9c5713551ab1438ab210679868b52a994;p=firefly-linux-kernel-4.4.55.git diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c index 473b2b6eccb5..3fcb6faa5fa6 100644 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c @@ -36,11 +36,19 @@ static int __init irq_affinity_setup(char *str) } __setup("irqaffinity=", irq_affinity_setup); +extern struct cpumask hmp_slow_cpu_mask; + static void __init init_irq_default_affinity(void) { #ifdef CONFIG_CPUMASK_OFFSTACK if (!irq_default_affinity) zalloc_cpumask_var(&irq_default_affinity, GFP_NOWAIT); +#endif +#ifdef CONFIG_SCHED_HMP + if (!cpumask_empty(&hmp_slow_cpu_mask)) { + cpumask_copy(irq_default_affinity, &hmp_slow_cpu_mask); + return; + } #endif if (cpumask_empty(irq_default_affinity)) cpumask_setall(irq_default_affinity); @@ -291,6 +299,7 @@ struct irq_desc *irq_to_desc(unsigned int irq) { return (irq < NR_IRQS) ? irq_desc + irq : NULL; } +EXPORT_SYMBOL(irq_to_desc); static void free_desc(unsigned int irq) {