SCSI pass-through buffer alignment patch

Sepherosa Ziehau sepherosa at gmail.com
Thu Jan 15 00:31:20 PST 2009


On Thu, Jan 15, 2009 at 4:07 PM, Hasso Tepper <hasso at estpak.ee> wrote:
> Matthew Dillon:
>>     Hasso, please try this patch.  It is completely untested so I might
>> have missed something.  It will also do a kprintf() when it hits the
>> scsi/cam code that decides to realign the buffer:
>>
>>       fetch http://apollo.backplane.com/DFlyMisc/cam01.patch
>
> Success! I'm now able to blank DVD-RW several times without big problems,
> but for some reason it takes about 50 seconds instead 0.2 seconds it
> takes on DVD writer on my laptop (PATA, seems). But it works!
>
> Writing works as well, but fixating takes about 400-500 seconds (it
> varies). This is same for both DVD writers I own though.
>
> Using verbose output with cdrecord shows that it's a "flush cache"
> command:
>
> Track 01: Total bytes read/written: 5955584/5955584 (2908 sectors).
> Writing  time:   42.448s
> Average write speed   0.1x.
> Min drive buffer fill was 99%
> Fixating...
>
> Executing 'flush cache' command on Bus 2 Target 0, Lun 0 timeout 1000s
> CDB:  35 00 00 00 00 00 00 00 00 00
> cmd finished after 391.649s timeout 1000s
>
> Executing 'test unit ready' command on Bus 2 Target 0, Lun 0 timeout 1000s
> CDB:  00 00 00 00 00 00
> cmd finished after 0.000s timeout 1000s
> Fixating time:  391.650s
>
>
> Maybe it's normal? I don't have DVD-R/DVD+R medium at the moment to test
> with though. There is a lot of "BOUNCING DATA" messages in dmesg
> obviously. I think that these should stay, but moved under some CAM_DEBUG
> ifdef.

The kprintf is time comsuming; once it was disabled, I think the
performance would be restored.

Best Regards,
sephe

-- 
Live Free or Die





More information about the Kernel mailing list