Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.edu.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!chippy.visi.com!news-out.visi.com!newsfeed.direct.ca!nntp.portal.ca!cynic.portal.ca!not-for-mail From: cjs@cynic.portal.ca (Curt Sampson) Newsgroups: comp.os.linux.advocacy,comp.unix.bsd.netbsd.misc Subject: Re: Linux hater's handbook? Date: 16 Jun 1997 18:11:01 -0700 Organization: Internet Portal Services, Inc. Lines: 76 Message-ID: <5o4o75$bcj@cynic.portal.ca> References: <33A111C5.65852456@scripps.edu> <5nvvpi$rad@cynic.portal.ca> <5o3sr8$h36$1@palladium.transmeta.com> NNTP-Posting-Host: cynic.portal.ca Xref: euryale.cc.adfa.oz.au comp.os.linux.advocacy:101630 comp.unix.bsd.netbsd.misc:6119 In article <5o3sr8$h36$1@palladium.transmeta.com>, Linus Torvalds <torvalds@transmeta.com> wrote: >Yes, NetBSD has more ports than Linux when you count the number of >platforms it runs on. But looking at the list of platforms it supports, >it is quite apparent that much of that support is not due to NetBSD >being inherently more portable in any way - it just has a number of old >platforms it still supports. Run that by me again. You have deduced, from only the list of platforms that NetBSD supports, that this support is not due to NetBSD being more portable? You'll have to give me a bit more detail on this one; not being a kernel hacker of your calibre, I don't see how you came to that conclusion based on that evidence. Also, I'd like to know exactly what you mean by `old platforms it still supports.' You were aware, were you not, that the original platform was the i386 and all of the others were added later? The hp300 platform used a lot of 4BSD code, but other platforms added between '93 and '96 (sun3, amiga, pc532, pmax, vax, mvme68k, etc.) are not legacy platforms; they are new ports done with new code. Or do you consider your atari, amgia and MIPS ARCsystem and sun4 ports `old platforms [Linux] still supports'? I'm certainly aware that one can't come to a final conclusion about portability based just on the number of platforms each product runs on, but I would think that NetBSD running on seventeen architectures and Linux only on seven (and indeed, with Linux missing support for some machines within those architectures--Turbochannel Alphas, for instance) does provide some sort of indication that, if you're going to guess one way or another, NetBSD is easier to port. And yes, I am aware that there could be lots of other reasons why the pmax version of Linux has been stalled for well over a year now, or why Linux/VAX has gotten no futher than a boot loader. >If you want to run UNIX on a VAX, by all means go for NetBSD. I'm not >into retrocomputing myself, so I don't care all that much. On any >_modern_ hardware the issues are totally different. And as to the ratio >of machine-independent code - I wouldn't bet on it if I were you. Perhaps you could explain what the portability issues are, and why they are totally different on `modern' hardware, as well as what `modern' hardware is. I've not heard this sort of thing from anyone but you. As for bets, I'd be happy to cover a quite substantial one on having a much higher ratio of MI code. Let's look at the Lance Ethernet device driver, for instance. We have one driver for that chip: dev/ic/am7990.c, about 1400 lines long. We also have a handful of front ends for it for different buses (PCI, ISA, Zorro, VME, Sun on-board, etc.), each no more than a few hundred lines long at most, and each machine-independent in that it works on all machines that have that particular bus. What does linux have under the same circumstances? A quick look in drivers/net brings forth: a2065.c ariadne.c atari_pamsnet.c atarilance.c depca.c lance.c ni65.c pcnet32.c sk_g16.c sunlance.c Ten different drivers with a total of over twelve thousand lines of code, most of it entirely unnecessary, except for the fact that Linux has no framework for avoiding the duplication of an entire driver when the chip moves from an ISA bus to a PCI bus. This is hardly a unique situation in the Linux driver code, either, though this may be one of the worst offenders. (I hadn't realised the scale of this particular example before, actually--I assumed there were just three or four lance drivers when I started doing research for this post.) cjs -- Curt Sampson cjs@portal.ca Info at http://www.portal.ca/ Internet Portal Services, Inc. Through infinite myst, software reverberates Vancouver, BC (604) 257-9400 In code possess'd of invisible folly.