9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: geoff@collyer.net
To: 9fans@cse.psu.edu
Subject: Re: Re: [9fans] Any one going to change to sata disks?
Date: Thu, 29 Jun 2006 17:52:45 -0700	[thread overview]
Message-ID: <416755f198981a952176dd86a1a1e795@collyer.net> (raw)
In-Reply-To: <6e35c0620606291717l27fcc02atfcaac140a7cf19ff@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2656 bytes --]

Some of us have considered the 3ware cards in the past (see the
archives).  Their drivers are enormous, and I don't know if that's
because the cards are inherently complex or if they just can't write
decent drivers.  I don't see any documentation for device-driver
writers on their web site; that would help to answer the question.
Here's the FreeBSD 6 driver you cited:

; wc -l *.[ch]
     442 tw_cl.h
     214 tw_cl_externs.h
     452 tw_cl_fwif.h
   47792 tw_cl_fwimg.c
    1238 tw_cl_init.c
     831 tw_cl_intr.c
    1490 tw_cl_io.c
     111 tw_cl_ioctl.h
    1091 tw_cl_misc.c
     662 tw_cl_share.h
     319 tw_osl.h
     801 tw_osl_cam.c
      95 tw_osl_externs.h
    1769 tw_osl_freebsd.c
      79 tw_osl_includes.h
     365 tw_osl_inline.h
     115 tw_osl_ioctl.h
     117 tw_osl_share.h
      63 tw_osl_types.h
   58046 total

Even omitting the firmware image (tw_cl_fwimg.c), which is also vast,
that's over 10,000 lines of C for a disk driver, 4,223 lines of which
is the `OS Layer' (tw_osl_*).  Our largest Plan 9 driver (other than
devsdp.c), which is also one of the largest source files, is
pc/sd53c8xx.c, which weighs in at 2,264 lines.  I think *that's* huge,
but apparently the NCR controllers are messy.  Maybe it's possible to
`just' write an `OS Layer' for the twa driver, but do we really want
to include a driver that's as big as a V6 Unix kernel (`free Unix
kernel with every Plan 9 distribution')?

; cd v6/usr/sys
; wc -l *.h */*.[ch]
     77 buf.h
     55 conf.h
     19 file.h
     26 filsys.h
     31 ino.h
     47 inode.h
     91 param.h
     42 proc.h
     16 reg.h
     26 seg.h
     54 systm.h
     15 text.h
     84 tty.h
     93 user.h
    540 conf/mkconf.c
    146 conf/sysfix.c
    636 dmr/bio.c
     70 dmr/cat.c
    231 dmr/dc.c
    300 dmr/dh.c
     88 dmr/dhdm.c
     23 dmr/dhfdm.c
     89 dmr/dn.c
    255 dmr/dp.c
    218 dmr/hp.c
    116 dmr/hs.c
    248 dmr/ht.c
    117 dmr/kl.c
    184 dmr/lp.c
     70 dmr/mem.c
     21 dmr/partab.c
    166 dmr/pc.c
    103 dmr/rf.c
    132 dmr/rk.c
    174 dmr/rp.c
     54 dmr/sys.c
    171 dmr/tc.c
    221 dmr/tm.c
    537 dmr/tty.c
    122 dmr/vs.c
     70 dmr/vt.c
    314 ken/alloc.c
    173 ken/clock.c
    258 ken/fio.c
    234 ken/iget.c
    266 ken/main.c
     87 ken/malloc.c
    200 ken/nami.c
    222 ken/pipe.c
    150 ken/prf.c
    195 ken/rdwri.c
    374 ken/sig.c
    490 ken/slp.c
    207 ken/subr.c
    407 ken/sys1.c
    289 ken/sys2.c
    194 ken/sys3.c
    259 ken/sys4.c
     77 ken/sysent.c
    156 ken/text.c
    212 ken/trap.c
  10542 total

[-- Attachment #2: Type: message/rfc822, Size: 5887 bytes --]

From: "Jack Johnson" <knapjack@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: Re: [9fans] Any one going to change to sata disks?
Date: Thu, 29 Jun 2006 17:17:45 -0700
Message-ID: <6e35c0620606291717l27fcc02atfcaac140a7cf19ff@mail.gmail.com>

On 6/29/06, Francisco J Ballesteros <nemo@lsub.org> wrote:
> Amazing. Similar story here. We ended up with one sata disk as sdC0
> and one ata (500G) disk as sdD0. If we plug in anything else (including cd)
> the bios hangs.

Has anyone looked at the 3ware controllers, instead of supporting the
random chipsets on the various motherboards?

http://www.3ware.com/products/index.asp

They act like SCSI controllers, which might return some of the sanity,
and hardware RAID is always nice.  Plus, plenty of open source driver
implementations.

No idea on the quality of the source, but performance under Linux is
good. I usually use  RAID 10, but I think it's StorageReview that has
a fair review that notes pretty good RAID 5 performance:

http://www.storagereview.com/articles/200111/20011119Escalade7450_1.html

Two-port cards start around $140 or so -- about an order of magnitude
more than the competition -- but definitely with the 4-port cards and
up I've found the price to be worth it.

-Jack

----------------

http://www.3ware.com/kb/attachments/FreeBSD6_driver_source_9550SX-GUID1e41dd6deab5404fac46976c7e166c33.zip

----------------

twa driver

URL: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/twa/
URL: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/modules/twa/

Contact: Vinod Kashyap <vkashyap at amcc.com>

A newly re-architected twa(4) driver was committed to 6 -CURRENT on
04/12/2005. Highlights of this release are:
1. The driver has been re-architected to use a "Common Layer" (all
tw_cl* files), which is a consolidation of all OS-independent parts of
the driver. The FreeBSD OS specific portions of the driver go into an
"OS Layer" (all tw_osl* files). This re-architecture is to achieve
better maintainability, consistency of behavior across OS's, and
better portability to new OS's (drivers for new OS's can be written by
just adding an OS Layer that's specific to the OS, by complying to a
"Common Layer Programming Interface (CLPI)" API. If there's interest
in porting the 3ware driver to any other OS, you may contact ctchu at
amcc.com to get a copy of the CLPI specifications.
2. The driver takes advantage of multiple processors. It does not need
to be Giant protected anymore.
3. The driver has a new firmware image bundled, the new features of
which include Online Capacity Expansion and multi-lun support, among
others. More details about 3ware's 9.2 release can be found here:
http://www.3ware.com/download/Escalade9000Series/9.2/9.2_Release_Notes_Web.pdf

( from http://kerneltrap.org/node/5035 )

----------------

  parent reply	other threads:[~2006-06-30  0:52 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-29 19:13 Francisco J Ballesteros
2006-06-29 19:18 ` Brantley Coile
2006-06-29 19:54   ` jmk
2006-06-29 21:03     ` andrey mirtchovski
2006-06-29 21:35       ` jmk
2006-06-29 21:49         ` Ronald G Minnich
2006-06-29 21:54       ` geoff
2006-06-29 22:00         ` andrey mirtchovski
2006-06-29 22:01       ` Francisco J Ballesteros
2006-06-29 22:57         ` Ronald G Minnich
2006-06-30 14:00           ` Brantley Coile
2006-06-30 14:10             ` quanstro
2006-06-30 14:28               ` Brantley Coile
2006-06-30 15:00                 ` quanstro
2006-06-30 15:36                   ` Brantley Coile
2006-06-30  0:17         ` Jack Johnson
2006-06-30  0:48           ` jmk
2006-06-30  0:52           ` geoff [this message]
2006-06-30 16:09             ` Jack Johnson
2006-06-30 16:53               ` Jack Johnson
2006-06-30 18:28               ` jmk
2006-06-30 18:32                 ` Ronald G Minnich
2006-06-30 18:36                 ` Re: " andrey mirtchovski
2006-06-30 19:13                   ` jmk
2006-06-30 20:16                   ` David Leimbach
2006-06-30 19:04                 ` Jack Johnson
2006-06-30 22:33                   ` geoff
2006-07-01  4:17                     ` geoff
2006-06-29 22:06   ` geoff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=416755f198981a952176dd86a1a1e795@collyer.net \
    --to=geoff@collyer.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).