From owner-freebsd-current Thu Dec 7 08:50:17 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id IAA27554 for current-outgoing; Thu, 7 Dec 1995 08:50:17 -0800 (PST) Received: from localhost.cdrom.com (localhost.cdrom.com [127.0.0.1]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id IAA27544 Thu, 7 Dec 1995 08:50:08 -0800 (PST) Message-Id: <199512071650.IAA27544@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: Host localhost.cdrom.com [127.0.0.1] didn't use HELO protocol To: Poul-Henning Kamp cc: se@ZPR.Uni-Koeln.DE (Stefan Esser), "Garrett A. Wollman" , current@freebsd.org Subject: Re: sysctl status right now, and plea for testing. In-reply-to: Your message of "Thu, 07 Dec 1995 10:41:27 +0100." <2653.818329287@critter.tfs.com> Date: Thu, 07 Dec 1995 08:50:07 -0800 From: "Justin T. Gibbs" Sender: owner-current@freebsd.org Precedence: bulk >There are several other ways that could and should be used. In fact >the row concept from SNMPv2 might be a very good candidate actually... > >> } > There should be a way to look at synch. transfer rates, tags, ... >> } > of each controller, drive, LUN. >> } >> } Generic SCSI features should be controlled by a generic SCSI >> } interface, probably one which uses the present style of scsi(8). >I disagree. > > drv.ncr0.id4.lun0.sync=1 > drv.ncr0.id4.lun0.wide=1 > drv.ncr0.id5.lun0.rogue=129 > >or maybe just (I think I prefer this one): > > drv.ncr.0.4.0.sync=1 > drv.ncr.0.4.0.wide=1 > drv.ncr.0.5.0.rogue=129 > >I'm open to suggestions. ^drv.ncr0^scbus0 These atributes should be handled by the generic SCSI code. Turning off sync and wide is fairly easy to do at the controller level (small amount of code in the controller driver), but it takes a lot of state information to turn off things like tagged-queuing and its silly to push all of that code into the controller drivers just so it can be duplicated dozens of times. IMHO, the generic SCSI code should tell you: 1) When to attempt Wide negotiation 2) When to attempt Sync negotiation 3) When to tag (and how - Simple/Ordered/Head) Most of these may be affected by the generic SCSI rogue tables. Even much of the recovery code should be pushed up into the SCSI layer because it is so hard to get right that making all controller driver author's rewrite it is bound to force failure. The code needs a lot of work, granted, put pushing more functionality down into the controller drivers is not the way to fix the mess. This doesn't prevent you from exporting more controller specific parameters through controller specific sysctl entries. >> But most important is to have a concept that is flexible enough to >> make the same user mode program query and possibly set parameters >> for all SCSI controllers or bus types, IMHO. > >exactly. > All the more reason as much functionality that is shared across controllers of all types should be in the generic SCSI layer. >Stefan, do you want the title of "offcial spokesperson for the sysctl >rearchitecting project" ? :-) > >-- >Poul-Henning Kamp | phk@FreeBSD.ORG FreeBSD Core-team. >http://www.freebsd.org/~phk | phk@login.dknet.dk Private mailbox. >whois: [PHK] | phk@ref.tfs.com TRW Financial Systems, Inc >. >Future will arrive by its own means, progress not so. -- Justin T. Gibbs =========================================== FreeBSD: Turning PCs into workstations ===========================================