I''m testing to see how fast A can ping C without losing packets. A -- B -- C B is a dual processor (Intel(R) XEON(TM) CPU 1.80GHz) machine. /proc/stat shows me that all of the work is done by one cpu, the other does nothing. Does anyone have any ideas of why this should be the case and what I can do to change it? I''m hoping I can get higher throughput if both of the cpu''s participate. _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Jose Luis Domingo Lopez
2002-Nov-09 17:50 UTC
Re: use or non-use of multiple processors in forwarding
On Friday, 08 November 2002, at 17:08:46 -0800, Don Cohen wrote:> I''m testing to see how fast A can ping C without losing packets. > A -- B -- C > B is a dual processor (Intel(R) XEON(TM) CPU 1.80GHz) machine. > > /proc/stat shows me that all of the work is done by one cpu, the other > does nothing. >I am not sure of how networking works in Linux with respect to SMP, but I do remember that kernels 2.4.x had as an important feature a much-reworked SMP-aware network stack. In 2.2.x and older times, it seems networking was approximately non SMP-aware (it was aware, but inefficient). 2.4.x and beyond were reworked, and scaleability with number of CPUs is much better than before. I remember having seen a benchmark at www.linuxvirtualserver.org that detailled some test where it was clear SMP support for networking in 2.4.x was much better than 2.2.x''s. Apart from that, maybe (I am not sure), due to CPU affinity, and as you packets come from and go to the same addresses, the routing process is bound to this CPU, without using the other. Hope it helps (and hope the above is correct :-) -- Jose Luis Domingo Lopez Linux Registered User #189436 Debian Linux Woody (Linux 2.4.19-pre6aa1) _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
More info on this problem: > /proc/stat shows me that all of the [packet forwarding] work is done by one cpu, the other does nothing. /var/log/messages shows the following interesting data: kernel: enabled ExtINT on CPU#0 kernel: masked ExtINT on CPU#1 Does anyone know that this means, whether it would be related to the problem above, and if so, how to change it? _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/