Re: Nvidia and its choice to read the GPL "differently"

Richard B. Johnson (root@chaos.analogic.com)
Mon, 13 Jan 2003 08:51:06 -0500 (EST)


On Sat, 11 Jan 2003, David Schwartz wrote:

[SNIPPED...]
>
> A cheap hammer can drive in more nails than a top of the line
> screwdriver.
>
> DS

I like that! Reading this' month's "Computer", I noted that VxWorks
was reported to be used in the busses of satellites, i.e., manages
the IIC bus. That sounds like a good place for it. Unfortunately,
the hype is that it "runs all the satellites and is the operating
system of choice for satellites in high-radiation environments..."

VxWorks looks like this:

void interrupt_stuff() {
do_it();
}

main() {
setup_stuff();
for(;;) {
funct0();
funct1();
funct2();
functn();
}
}

It's a big loop. Now, this might be okay for something that runs
the same events over and over again, an elevator controller, or the
"smarts" behind some protocol manager. But it would really suck if
funct0() ended up taking 1 second and functn() needs service in one
millisecond. So, it's up to the function designer to make certain
that no function or, in some cases all functions combined, takes
more than the required latency specification to execute.

At some point, as complexity increases, you need to preempt. Preemption
takes some worse-case time. It's at that point that a system designer
will (should) throw out VxWorks and use some variation of Linux.

As system complexity continues to increase, eventually it becomes
best (currently, if it doesn't get screwed up) to use unmodified
Linux because it is optimized for "desktop" operation, meaning
it is optimized for systems of unknown complexity.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/