[6169] in linux-scsi channel archive
Re: how to get maximum datarate from SCSI
daemon@ATHENA.MIT.EDU (Dietmar Stein)
Thu Mar 25 00:39:47 1999
Date: Thu, 25 Mar 1999 06:15:16 +0100
To: Mateu Batle i Sastre <mbatle@iname.com>, linux-scsi@vger.rutgers.edu
From: dstein2203@t-online.de (Dietmar Stein)
Hi Mateu
I understand your problem but still thinking it has something to do with the
synchronous writing of the data, because if you have "dirty" buffers - which is the
fact by writing data to the cache through an application - they will always be
written immediately to disk.
But I think also I am not familiar enough with your problem - on the other handside
we have an application running, which need to be buffered in order to get the
highest performance (database application).
Never mind - what about the raw I/O patch? Where can I get it? And does it mean to
use raw-devices under linux?
I would beg to answer on my account at work dstein@phoenixcontact.com (I am very
interested in the patch) and on this discussion also.
Thanks, Dietmar
Mateu Batle i Sastre wrote:
> Hi,
>
> > You can mount your disks with sync-option in order to go around the
> > buffer/cache. Have a try (e.g. mount -o sync /dev/sda1 /mnt) and compare the
> > performance.
> > I think you will go back to the async-mode very fast...
> >
>
> I think that's only to sync written buffers immediatly, but the transfers still
> go through
> the buffer cache.
>
> The problem with the application we're developing is that we need high
> data transfer, more than 20 MBytes/s or even more. This can be achieved
> with an Ultra Wide SCSI adapter and several good SCSI hard disks.
> This data is only transfered from disk to a buffer in a PCI device and
> viceversa.
> Actually, the CPU does not need to process this data. The buffering of *all* the
>
> transfers is bad for this kind of applications, the CPU utilization reaches 100%
>
> and it is still not enough to accomplish our goal. In this case, the CPU bounds
> the transfer datarate. Additionally, in this type of applications use the buffer
>
> cache has the problems of: very high CPU load, thrown of the
> really useful cached buffers, and the same with CPU caches.
>
> The same system with Windows NT runs perfectly because NT has a way
> to do this I/O directly. It has a flag FILE_FLAG_NOBUFFERING that can
> be specified when opening the file. I think other Unix like Solaris also can do
> this somehow.
>
> Of course, this type of transfer has some limitations like locking the user
> space
> memory, transfer of an integer number of blocks (512 bytes), etc. But this
> is not a problem.
>
> I've found the solution in the raw I/O patch being developed by Stephen Tweddie,
>
> but it has still some problems to be solved. I think this should be considered
> to
> be included in the kernel.
>
> Bye,
> Mateu
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu