[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: interface aliases - not so curious
- To: "Niki Denev" <nike_d_(_at_)_cytexbg_(_dot_)_com>
- Subject: Re: interface aliases - not so curious
- From: "Vadim Goncharov" <vadim_nuclight_(_at_)_mail_(_dot_)_ru>
- Date: Wed, 27 Feb 2008 14:04:10 +0600
- Cc: freebsd-performance_(_at_)_freebsd_(_dot_)_org
- Organization: AVTF TPU Hostel
22.02.08 @ 12:18 Niki Denev wrote:
On Thu, Feb 21, 2008 at 2:18 PM, Vadim Goncharov
After looking at humorous quoting about a man trying to ban unused
his network by putting 65535 ifcong_XXX_aliasYYY lines to rc.conf, I
check this performance issue on a 6.2-RELEASE (GENERIC) and compare it
Linux. Below are results from two machines.
First, I've found that both FreeBSD and Linux clearly use linked-list
to tail of queue, because time was growing as O(N^2). Then, Linux
slowly at first, then faster (is it using LIFO?..).
But Linux with iproute2 was 6 times faster on addition (FreeBSD did it
and even more faster on deletion. Why?..
The hardware seems very different between the two cases.
Pentium D's are probably much slower than the new Xeons, and
have less cache.
Also, is your Pentium D machine really SMP or just HTT?
I've shown dmesg output in my letter, SMP GENERIC kernel told both CPUs
are activated. HTT is present in features, I didn't any tuning with the
machine, so probably it is real SMP, I don't know :)
Although this part is really curious rather than practical, we should
think about another performance-related thing: as addresses are stored in
linked list, what is overhead on multi-interface machine on EVERY inbound
packet? Imagine an mpd PPPoE router with 2000 interfaces - every packet
will cause lookup into this list in ip_input() - and ENTIRE list for every
forwarded packet. If ipfw is enebled with ``me'' rules - EVERY such rule
will cause such overhead, too.
Should we turn an alias address list into Radix or hash, as it was with
WBR, Vadim Goncharov
freebsd-performance_(_at_)_freebsd_(_dot_)_org mailing list
To unsubscribe, send any mail to "freebsd-performance-unsubscribe_(_at_)_freebsd_(_dot_)_org"