[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120804085142.GP7405@n2100.arm.linux.org.uk>
Date: Sat, 4 Aug 2012 09:51:42 +0100
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: "Pandita, Vikram" <vikram.pandita@...com>
Cc: Greg KH <gregkh@...uxfoundation.org>,
Mike Turquette <mturquette@...aro.org>,
Aaro Koskinen <aaro.koskinen@....fi>,
Vimarsh Zutshi <vimarsh.zutshi@...il.com>, kay@...y.org,
linux-kernel@...r.kernel.org, Andi Kleen <andi@...stfloor.org>,
linux-omap@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v3] printk: add option to print cpu id
On Fri, Aug 03, 2012 at 03:25:17PM -0700, Pandita, Vikram wrote:
> Other issue i found, using this patch, that on multi-core ARM systems,
> almost 99% of times, IRQ's are handled by CPU0,
> even if CPU0 was really busy and other CPU's were free. I am yet to
> understand a good reason why.
That is because you're probably not running irqbalanced on your platforms.
Firstly, the hardware does no IRQ balancing itself - you have to manually
route IRQs to CPUs in the hardware, and if you ask for an IRQ to be
delivered to several CPUs, all CPUs will get it each time it fires (unlike
x86 IOAPIC which picks a CPU to route the IRQ to.)
The ARM kernel does no IRQ balancing itself across CPUs, because when I
tried to implement it, every algorithm I tried gave completely sub-optimal
results, and irqbalanced existed to do the job in userspace. So as there
is a userspace solution which works, there was no point to doing this in
the kernel.
Please use the irqbalance daemon to spread IRQs across your CPUs.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists