In <[EMAIL PROTECTED]>,
        Joerg Schilling <[EMAIL PROTECTED]> noted:

> Depends on how you rate the effects...
> 
> 1)    It was not available in 2.2.5

  I hope you're using a 2.2 version which came out this millenium...

> 2)    The last time I looked at the source before 2.4 came out, there
>       was a similar interface but it was not usable because you have
>       been allowed to raise the DMA limit but after that there was no
>       guarantee that later on the kernel has enough memory to run
>       requests that use the raised DMA count.

  Other than creating a problem on heavily loaded systems, which often
have other problems, on a system with reasonable available memory was
this a problem?

> When I checked the 2.4 source code, I found that this code will allocate
> the needed memory when raising the DMA limit. This make the feature
> usable.
> 
> I am still not sure if would be better not to allow to raise the DMA
> limit in pre-2.4 kernels.

  Other than being an available optimization, does it really help? I
have not seen any better performance with recent versions of the kernel
or the application, in terms of writing faster on existing drives. I
would assume that the benefit would be requiring less system resources,
since the drive should run at the same speed as long as the buffer is
filled. I may be missing some other benefit...


> NO. The current implementation is not clean.

  In practice? Or as a possible failure mode for heavily loaded systems?

> It may be that I will have to forbid raisedma() for pre-2.4 kernels
> if it turnes out that raising the dma limit is only safe with 2.4
> kernels. In this case, I will remove the current hacky code and revert
> to the safe implementation that uses the stack variable only.
> 
> This is possible as the 2.4 kernels introduce an ioctl() implementation
> that does not have limitations on the DMA address anymore.
> It is not needed to copy data in user space anymore and there is no need
> for a copy buffer of  sufficient size.

  Actually the kernel doesn't impose restrictions, but the hardware
usually used does. Typical SCSI controllers can only address a small
subset of the memory available with 2.4 kernels, so on server size
systems you still need transfer buffers, I believe.

-- 
   -bill davidsen ([EMAIL PROTECTED])
"The secret to procrastination is to put things off until the
 last possible moment - but no longer"  -me


--  
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Reply via email to