Recent concurrency improvements in the AHCI driver and CAM need testing

Edward O'Callaghan eocallaghan at auroraux.org
Sun Apr 10 09:34:07 PDT 2011


Hi,

Should that 1 still be in that if statement or was it from debug and slipped in?
If it is always ORing with 1 then the if-statement will always be
true, is this correct?

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a3c9d3d8c02c5c98212731ebed28888fa4a81f08

Regards,
Edward.

On 11 April 2011 02:06, Matthew Dillon <dillon at apollo.backplane.com> wrote:
>
> ::this breaks USB (daX) disks for me. After all daX disks are initialized, it hangs after:
> ::
> ::da8 at umass-sim0 bus 0 target 0 lun 0
> ::da8: <WD Ext HDD 1021 2002> Fixed Direct Access SCSI-4 device
> ::da8: Serial Number WMAVU2232228
> ::da8: 40.000MB/s transfers
> ::da8: 1430797MB (2930272256 512 byte sectors: 255H 63S/T 182401C)
> :
> :    Ok, I'm on it.  It's a degenerate condition somewhere for the case
> :    where the device is not NCQ.
>
>    ... and it's fixed.  A calculation that was supported to always
>    result in a value of 1 or more could sometimes result in a value
>    of 0, in the case where max_tagged_dev_openings is set to 0.
>
>    limit = (periph->sim->max_tagged_dev_openings * 2 + 1) / 3;
>
>    to
>
>    limit = periph->sim->max_tagged_dev_openings * 2 / 3 + 1;
>
>                                        -Matt
>                                        Matthew Dillon
>                                        <dillon at backplane.com>
>



-- 
--
Edward O'Callaghan
http://www.auroraux.org/
eocallaghan at auroraux dot org
---
()  ascii ribbon campaign - against html e-mail
/\                        - against microsoft attachments






More information about the Kernel mailing list