freebsd-dev/sys
gibbs 6e93e53489 Don't arbitrarily set SCSI_NOSLEEP. It is now handled correctly by the
higher level scsi code.

Spls should never be conditionalized, so don't do so here.

Restructure the get_scb routine so that we can't get into an infinite
loop if the ccbs are exhausted and we are are called with SCSI_NOSLEEP set.

Other driver maintainer's that based their scb allocation routines on Julian's
code should look at these changes and implement them for their driver.

The aic7xxx driver inspired these changes because early revs of the
aic7770 chips have so few SCBs that you can actually run out.  If you
have a rev C or aic7770 (as is reported by the driver probe) and had more
than 2 drives, you could get into an infinite loop when using up all of
the SCBs.  Since the driver will only allow two SCBs per device and I
only had two devices, I never saw this problem on my Rev C card.

Bzero only 19 bytes of the scb instead of 2k (ack!).  This was a hold
over from when a struct SCB only contained the information downloaded
to the board, but we now store kernel driver data in there as well.  This
greatly lowers the overhead for small transactions (I get ~1MB/sec for
dds with a 512 byte block size).

Submitted by: John Dyson with the aic7xxx specific optimization by me
1995-04-23 22:04:58 +00:00
..
alpha/include Third round in syscons update. 1995-01-28 22:18:05 +00:00
amd64 hmm spotted a difference resulting from a merge I didn't examine close enough 1995-04-23 09:17:24 +00:00
compile Stop cvs up -P from removing empty compile directories. 1994-08-25 16:20:16 +00:00
conf Substantially clean up LINT and add `fe'. 1995-04-23 18:30:27 +00:00
ddb Fixed the formatting breakage I added in the previous commit. 1995-04-04 01:35:33 +00:00
dev Added `fe' device drive r for Fujitsu MB86960A family. 1995-04-23 18:31:50 +00:00
fs For P_SUGID processes, we must also change ownership of the mem file 1995-04-15 03:20:31 +00:00
gnu John Aycock's BSD copyrighted sequencer assembler and sequencer code. This 1995-04-15 21:45:56 +00:00
i386 Don't arbitrarily set SCSI_NOSLEEP. It is now handled correctly by the 1995-04-23 22:04:58 +00:00
isa Move declarations of console functions to cons.h (they should be 1995-04-23 12:41:57 +00:00
isofs/cd9660 Readdir on a CDrom would return bogus "d_type" values, potentially confusing 1995-03-28 07:46:38 +00:00
kern Declare the console switch functions completely. 1995-04-23 12:55:55 +00:00
libkern Do not install libkern into /usr/lib, blank target install: added. 1995-03-23 07:02:14 +00:00
miscfs remove note about 'find' now that it's fixed. 1995-04-20 22:02:05 +00:00
modules Put vnode_if.h and vnode_if.c into CLEANFILES that are automatically 1995-04-15 17:36:53 +00:00
msdosfs Fix link sys call 1995-04-11 18:32:17 +00:00
net Tunnel driver is nmow capable of installing its own cdevsw[] entry, 1995-04-10 20:35:45 +00:00
netccitt Removed redundant newlines that were in some panic strings. 1995-03-19 14:29:26 +00:00
netinet Include <sys/queue.h> because <netinet/in_pcb.h> (also included 1995-04-19 10:26:04 +00:00
netiso Add and move declarations to fix all of the warnings from `gcc -Wimplicit' 1995-03-28 07:58:53 +00:00
netns Removed redundant newlines that were in some panic strings. 1995-03-19 14:29:26 +00:00
nfs Slight re-ordering of the creation of a vmio object to fix a condition 1995-04-21 02:58:49 +00:00
nfsclient Slight re-ordering of the creation of a vmio object to fix a condition 1995-04-21 02:58:49 +00:00
nfsserver Slight re-ordering of the creation of a vmio object to fix a condition 1995-04-21 02:58:49 +00:00
pci Matt says that no pre-2.3 pass boards were supposed to ship, but I certainly 1995-04-18 12:54:30 +00:00
powerpc/include Don't define CLK_TCK here. 1995-02-03 21:49:18 +00:00
rpc Use the header files that are compatible with the code just moved over 1994-08-07 18:41:02 +00:00
scsi Don't export a bogus include to half the universe. 1995-04-23 07:47:12 +00:00
sys Declare the console switch functions completely. 1995-04-23 12:55:55 +00:00
tools Added $Id$ 1994-08-02 07:55:43 +00:00
ufs Make vegetarian and animal rights people happy and use 0xdeadc0de instead 1995-04-16 11:25:47 +00:00
vm inline -> __inline. 1995-04-23 08:05:49 +00:00
Makefile Added ${MACHINE}/boot to build bootblocks. 1994-08-25 13:54:28 +00:00