On Wed, 1 Sep 1999, Tony Chung wrote:

> Kai Makisara wrote:
> 
> > On Wed, 25 Aug 1999, Tony Chung wrote:
> >
> > >
> > > 1.  Can Linux support single scsi transfer of  at least 1040384 bytes?
> >
> > Yes. I have written tape blocks of at least 1.5 MB.
> >
> >
> 
> Can you give me some pointers on how this can be done?
> 
I just did 'dd if=some_file of=/dev/nst0 obs=1500k' with the drive in
variable block mode (mt setblk 0). You can also set the drive into fixed
block mode with large block size if the drive accepts it. However, I find
experimenting easier in variable block mode when the byte count in the
write() call determines the size of the tape block.

> >From the source tree of 2.2.12, I will modify:
> 
> AIC7XXX_MAX_SG  to 254 in drivers/scsi/aic7xxx.c
> 
> And I will modify st:buffer_kbs to be 1016 (i.e. 254*4*1024 bytes)

You don't have to change the buffer size. The driver temporarily allocates
more space if the default buffer is too small.

> and st:max_sg_segs to 254 also.

This increases chances of succesful buffer allocation but you may don't
have to go that far. I did my tests with the default 16 but the system was
"fresh from boot".

> 
> bash# /sbin/modinfo -p st
> buffer_kbs int
> write_threshold_kbs int
> max_buffers int
> max_sg_segs int
> 
> I believe you can set them through /etc/modules.conf.
Yes.

> Is there a way to find out the current parameters values?
The driver prints a message in the kernel log that tells the
parameters (this example is from 2.3.15):
st: bufsize 32768, wrt 30720, max init. buffers 4, s/g segs 16

The 2.2 kernel does not do this unless debugging is on. The only way to
find the parameters is to look at the kernel source.

If you change the parameters, you should know what they are :-)

        Kai






-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to