FreeBSD bind performance in FreeBSD 7

Ted Mittelstaedt tedm at toybox.placo.com
Fri Feb 29 17:16:53 UTC 2008



> -----Original Message-----
> From: Chris [mailto:chrcoluk at gmail.com]
> Sent: Friday, February 29, 2008 7:45 AM
> To: Ted Mittelstaedt
> Cc: Sam Leffler; freebsd-performance at freebsd.org; Oliver Herold; Kris
> Kennaway; freebsd-questions at freebsd.org
> Subject: Re: FreeBSD bind performance in FreeBSD 7
> 

> A weakness of freebsd is its fussyness over hardware in particular
> network cards, time and time again I see posts here telling people to
> go out buying expensive intel pro 1000 cards just so they can use the
> operating system properly when I think its reasonable to expect
> mainstream hardware to work, eg. realtek is mainstream and common as a
> onboard nic but the support in freebsd is poor and only serving
> datacentres to shy away from freebsd.  If the same hardware performs
> better in linux then the hardware isnt to blame for worser performance
> in fbsd.
> 

Device drivers and hardware are a cooperative effort.  The ideal
is a well-written device driver and well-designed hardware.
Unfortunately the reality of it appears to be that it costs
a LOT more money to hire good silicon designers than it costs
to hire good programmers - so a depressing amount of computer
hardware out there is very poor hardware, but the hardware's
shortcomings are made up by almost Herculean efforts of the
software developers.

I should have thought the invention of the Winmodem (windows-only
modem) would have made this obvious to the general public
years ago.

Unfortunately, the hardware vendors make a lot of effort to
conceal the crappiness of their designs and most customers
just care if the device works, they don't care if the only
way the device can work is if 60% of their system's CPU is
tied up servicing a device driver that is making up for
hardware shortcomings, so it is still rather difficult
for a customer to become informed about what is good and
what isn't - other than trial and error.

I hardly think that the example I cited - the 3com 3c905 PCI
network adapter - is an example of poor support in FreeBSD.
The FreeBSD driver for the 509 worked perfectly well when
the 309 used a Lucent-built ASIC.  When 3com decided to
save 50 cents a card by switching to Broadcom for the
ASIC manufacturing, the FreeBSD driver didn't work very
well with those cards - nor did the Linux driver for that
matter.  This clearly wasn't a driver problem it was a
problem with Broadcom not following 3com's design specs
properly.  3com did the only thing they could - which
was to put a hack into the Windows driver - but of course,
nobody bothered telling the Linux or FreeBSD community
about it, we had to find out by dicking around with the
driver code.

If datacenters want to purchase poor hardware and run their
stuff on it, that's their choice.  Just because a piece
of hardware is "mainstream" doesen't mean it's good.  It
mainly means it's inexpensive.

Ted


More information about the freebsd-performance mailing list