[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090506080335.GA8098@elte.hu>
Date: Wed, 6 May 2009 10:03:35 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Eric Dumazet <dada1@...mosbay.com>
Cc: Vladimir Ivashchenko <hazard@...ncoudi.com>, netdev@...r.kernel.org
Subject: Re: bond + tc regression ?
* Eric Dumazet <dada1@...mosbay.com> wrote:
> Vladimir Ivashchenko a écrit :
> >>> On both kernels, the system is running with at least 70% idle CPU.
> >>> The network interrupts are distributed accross the cores.
> >> You should not distribute interrupts, but bound a NIC to one CPU
> >
> > Kernels 2.6.28 and 2.6.29 do this by default, so I thought its correct.
> > The defaults are wrong?
>
> Yes they are, at least for forwarding setups.
>
> >
> > I have tried with IRQs bound to one CPU per NIC. Same result.
>
> Did you check "grep eth /proc/interrupts" that your affinities setup
> were indeed taken into account ?
>
> You should use same CPU for eth0 and eth2 (bond0),
>
> and another CPU for eth1 and eth3 (bond1)
>
> check how your cpus are setup
>
> egrep 'physical id|core id|processor' /proc/cpuinfo
>
> Because you might play and find best combo
>
>
> If you use 2.6.29, apply following patch to get better system accounting,
> to check if your cpu are saturated or not by hard/soft irqs
>
> --- linux-2.6.29/kernel/sched.c.orig 2009-05-05 20:46:49.000000000 +0200
> +++ linux-2.6.29/kernel/sched.c 2009-05-05 20:47:19.000000000 +0200
> @@ -4290,7 +4290,7 @@
>
> if (user_tick)
> account_user_time(p, one_jiffy, one_jiffy_scaled);
> - else if (p != rq->idle)
> + else if ((p != rq->idle) || (irq_count() != HARDIRQ_OFFSET))
> account_system_time(p, HARDIRQ_OFFSET, one_jiffy,
> one_jiffy_scaled);
> else
Note, your scheduler fix is upstream now in Linus's tree, as:
f5f293a: sched: account system time properly
"git cherry-pick f5f293a" will apply it to a .29 basis.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists