lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ