Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jan 1997 23:57:45 +0100
From:      se@freebsd.org (Stefan Esser)
To:        tom@sdf.com (Tom Samplonius)
Cc:        hackers@freebsd.org
Subject:   Re: ncr 810
Message-ID:  <Mutt.19970106235745.se@x14.mi.uni-koeln.de>
In-Reply-To: <Pine.NEB.3.94.970106131840.4432B-100000@misery.sdf.com>; from Tom Samplonius on Jan 6, 1997 13:20:17 -0800
References:  <Pine.NEB.3.94.970106131840.4432B-100000@misery.sdf.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 6, tom@sdf.com (Tom Samplonius) wrote:
> 
>   How many concurrent commands can the ncr drive + a NCR 810 controller
> handle?
> 
>   I know the ahc driver can handle 255 active commands, but only with scb
> paging turned on.

There is no controller limit on the number of active commands.
The NCR keeps all variables in system DRAM (some variants have
4KB RAM on the controller chip, and can address it transparently,
but the NCR driver does not yet take advantage of this feature).

But remember that multiple active commands always cause some 
additional overhead. There are data structures, that have to be
searched for a matching element, sometimes, and the NCR driver
tries to keep them as simple as possible (for example to allow
for simultanous accesses from the host CPU and the NCR without
need for mutexes). I chose 4 tags per device as the default, 
and think that 8 give slightly better performance, but add more
system overhead than I'm willing to pay. Others think differently,
and suggest that a higher number of tags may be of advantage in
multiple reader situations.

The NCR driver checks every outstanding command for completion
on each interrupt. This simplifies the driver (the NCR does only 
request a polling sweep from the CPU, instead of adding the ID
of the completed request to some Queue), and is advantagous
overall, I think.

There is some memory required per command, too, BTW. A few hundred
bytes per command (for the scatter/gather table, for example). 
With many simultanous commands, you may need tens to hundreds of
KB for those tables ...

Why do you need that many simultanous active commands ?

Regards, STefan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Mutt.19970106235745.se>