[lkml]   [1998]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Winmodem support, some performance tradeoff estimates
	I have seen a number of less technical linux advocates get
defensive about the fact that the only soft modem drivers for the
Linux kernel are currently the binary only driver for some 2.0.x
kernel on the US Robotics web site and the radio sound modem drivers.
Linux advocates, if you accuse chip vendors of keeping chip
specifications secret, please always identify the specific chips for
which specifications are not available, and, ideally, who contacted
these vendors and when. If you are going to make architectural
arguments about how soft modems are supposedly bad, please be specific
in the cost/performance tradeoffs. Otherwise, please just admit to
the current shortcoming in the Linux kernel (nobody has yet written a
free soft modem stack), so that people will continue to trust what you
say when you talk about the real advantages of Linux or when you later
tell them when such drivers have been developed, as they likely will.

The rest of this this message describes the cost/performance
tradeoffs of soft modems, but here is a summary:

o If there were Linux soft modem support, it would
consume CPU equivalent to about a $6 CPU upgrade,
a good tradeoff against the higher hard modem
o It can be argued that Linux users will collectively
waste $100+ million in the absense of winmodem
Linux drivers.
o The problem is that there is are no free soft
phone modem drivers for Linux right now, because
more software has to be written than just simple
device drivers.
o Hopefully, there will be winmodem drivers in the

The latest revision of WebTV runs on a 56k soft modem in the
background on an 8MHz MIPS R4000 processor. Let's say that this
means the performance of using a soft modem is about 8 Pentium MHz,
on the grounds that 1 32-bit Pentium MHz =~ 1 64-bit R4000 MHz in the
loops of soft modem code which likely would be able to use the second
ALU of the Pentium, and that the soft modem is only a background task
on the WebTV, so is probably not using anything close to 8 R4000 MHz.
x86 CPU's these days cost about $.75/Pentium MHz (see chart below),
which would be about $6 to run a soft modem.

So, instead of spending a $40 premium for a hard modem, you
could put that money toward a faster CPU, and get an extra 32 Pentum
MHz when the modem is on, and 40 Pentium MHz when it is off, speed
which you get to keep even after you have switched from phone modems
to cable modem or digital subscriber line. Plus, if you think
over clocking is fun, a free soft modem stack would open the door for
all sorts of hacking to get better performance from phone lines that
happen to be better than spec (at least for the 33.6kbps
voice-to-voice case), and maybe making them talk a much higher data
rates over matched dry copper pairs. A hard modem would be worth the
price premium if CPU power costed more than $5 per Pentium MHz. Only
a Xeon with a 1MB single cycle L2 cache might exceed that, and only
then if the huge fast cache provides less than a 10% performance
improvement over a Pentium II's 512kB two cycle L2 cache.

The situation is likely to tip even more in favor of soft
modems in the future, since CPU prices have been on a much faster
downward curve, and we can expect fewer economies of scale and less
intense competition for future market for hard modems.

This may sound like a tiny economic issue, but it is actualy
quite big. If 7.25 million Linux users are likely buy one more hard
modem on average before switching to cable, DSL, or something similar,
and the average amount of money wasted will be $15/modem (after
subtracting for CPU savings and allowing for considerable hard modem
price drop), then this is a $100+ million problem.

Finally, in case anyone doubts my $.75/Pentium MHz estimate,
here is a chart of prices from, including my
estimation of approximate performance in terms of Pentium MHz, and
corresponding price/performance ratio.

Processor Pentium MHz Cost $/Pentium MHz
Pentium 133 133 $45 $.34
Pentium 150 150 $100 $.66
Pentium 200 MMX 200 $138 $.61
Pentium 233 MMX 233 $143 $.61
AMD K6-233 233? $207 $.88?
PPro 166 512kB 250+ $134 <$.54
Cyrix 6x86MMX PR266 266? $ 66 $.25
Celeron 266 266 $ 78 $.30
PPro 180 256kB 270 $ 94 $.35
PPro 200 256kB 300 $173 $.58
PPro 200 512kB 300 $401 <$1.34
Celeron 300 300 $ 98 $.33
Cyrix M2-333 333? $158 $.47?
Pentium II 233MHz 350 $175 $.50
Pentium II 266MHz 400 $178 $.45
Pentium II 300MHz 450 $230 $.51
Pentium II 333MHz 500 $297 $.59
Pentium II 350MHz 525 $359 $.68
Pentium II 400MHz 600 $550 $.92
Pentium II 450MHz 675 $712 $1.05
Xeon 400MHz 512kB 600+ $1300 <$2.17
Xeon 400MHz 1024kB 600++ $3300 <<$5.50

Notes on this chart: The prices are the lowest price
listed for each processor on on the morning of
1998 August 16. I have estimated the relative performance of CPU's
by the following rough formula, flagging the numbers that I have
less confidence in with "?".

Pentium = Celeron = AMD K6-2(?) = Cyrix M2(?)
Pentium II (512kB 2 cycle L2 cache) = 1.5 X Pentium
Pentium Pro (256kB 1 cycle L2 cache) = 1.5 X Pentium
Pentium Pro's and Xeons with single cycle caches
larger than 256kB are pessimisticly estimated at 1.5 X Pentium,
and then flagged with "+" or "++".

I hope this information is helpful.

Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 205 \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:44    [W:0.039 / U:1.972 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site