On 6 Jul, Robert P. J. Day wrote:
> On Fri, 6 Jul 2007, Stefan Richter wrote:
>> Robert P. J. Day wrote:
>> > --- a/arch/i386/kernel/io_apic.c
>> > +++ b/arch/i386/kernel/io_apic.c
>> > @@ -353,7 +353,7 @@ static void set_ioapic_affinity_irq(unsigned int irq, cpumask_t cpumask)
>> > # include <linux/slab.h> /* kmalloc() */
>> > # include <linux/timer.h> /* time_after() */
>> >
>> > -#ifdef CONFIG_BALANCED_IRQ_DEBUG
>> > +#if 0 /* debug IRQ balancing */
[...]
>> BTW, when I suggested the "#if 0" to you, I forgot that some
>> developers might be interested in compiling their kernel with
>> -DCONFIG_BALANCED_IRQ_DEBUG injected via the commandline. But we'll
>> hear from them if that's the case.
>>
>> On the other hand, these debug macros seem to be very old. I'll
>> have a closer look with qgit/git-blame later today. Maybe it's time
>> to remove them now.
>
> ok, why don't i leave all that in your capable hands? typically, when
> i describe a CONFIG_ prefixed variable as "dead", it's because it's
> not being set *anywhere* in the tree -- not in a Kconfig file or a
> header file or a source file or a Makefile.
>
> so i'm not just checking for its existence in a Kconfig file. i
> learned that lesson. :-)
>
> rday
>
> p.s. and i've bitched and moaned about this before, but anyone who
> deliberately names their debugging variables with a "CONFIG_" prefix
> *deserves* to have their builds break. :-P
From: Stefan Richter <[email protected]>
Subject: i386 IOAPIC: remove old IRQ balancing debug cruft
Dead or misnamed CONFIG_BALANCED_IRQ_DEBUG found by Robert P. J. Day.
It's not a Kconfig variable.
Since this debug code is ancient, I suggest to get rid of this
misleading CONFIG_ macro by deleting all of this debug code.
Signed-off-by: Stefan Richter <[email protected]>
---
Supercedes patch "I386: Deactivate the test for the dead
CONFIG_BALANCED_IRQ_DEBUG variable."
arch/i386/kernel/io_apic.c | 24 ++----------------------
1 file changed, 2 insertions(+), 22 deletions(-)
Index: linux/arch/i386/kernel/io_apic.c
===================================================================
--- linux.orig/arch/i386/kernel/io_apic.c
+++ linux/arch/i386/kernel/io_apic.c
@@ -353,14 +353,6 @@ static void set_ioapic_affinity_irq(unsi
# include <linux/slab.h> /* kmalloc() */
# include <linux/timer.h> /* time_after() */
-#ifdef CONFIG_BALANCED_IRQ_DEBUG
-# define TDprintk(x...) do { printk("<%ld:%s:%d>: ", jiffies, __FILE__, __LINE__); printk(x); } while (0)
-# define Dprintk(x...) do { TDprintk(x); } while (0)
-# else
-# define TDprintk(x...)
-# define Dprintk(x...)
-# endif
-
#define IRQBALANCE_CHECK_ARCH -999
#define MAX_BALANCED_IRQ_INTERVAL (5*HZ)
#define MIN_BALANCED_IRQ_INTERVAL (HZ/2)
@@ -443,7 +435,7 @@ static inline void balance_irq(int cpu,
static inline void rotate_irqs_among_cpus(unsigned long useful_load_threshold)
{
int i, j;
- Dprintk("Rotating IRQs among CPUs.\n");
+
for_each_online_cpu(i) {
for (j = 0; j < NR_IRQS; j++) {
if (!irq_desc[j].action)
@@ -560,19 +552,11 @@ tryanothercpu:
max_loaded = tmp_loaded; /* processor */
imbalance = (max_cpu_irq - min_cpu_irq) / 2;
- Dprintk("max_loaded cpu = %d\n", max_loaded);
- Dprintk("min_loaded cpu = %d\n", min_loaded);
- Dprintk("max_cpu_irq load = %ld\n", max_cpu_irq);
- Dprintk("min_cpu_irq load = %ld\n", min_cpu_irq);
- Dprintk("load imbalance = %lu\n", imbalance);
-
/* if imbalance is less than approx 10% of max load, then
* observe diminishing returns action. - quit
*/
- if (imbalance < (max_cpu_irq >> 3)) {
- Dprintk("Imbalance too trivial\n");
+ if (imbalance < (max_cpu_irq >> 3))
goto not_worth_the_effort;
- }
tryanotherirq:
/* if we select an IRQ to move that can't go where we want, then
@@ -629,9 +613,6 @@ tryanotherirq:
cpus_and(tmp, target_cpu_mask, allowed_mask);
if (!cpus_empty(tmp)) {
-
- Dprintk("irq = %d moved to cpu = %d\n",
- selected_irq, min_loaded);
/* mark for change destination */
set_pending_irq(selected_irq, cpumask_of_cpu(min_loaded));
@@ -651,7 +632,6 @@ not_worth_the_effort:
*/
balanced_irq_interval = min((long)MAX_BALANCED_IRQ_INTERVAL,
balanced_irq_interval + BALANCED_IRQ_MORE_DELTA);
- Dprintk("IRQ worth rotating not found\n");
return;
}
--
Stefan Richter
-=====-=-=== -=== --==-
http://arcgraph.de/sr/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]