Re: Why is only one command issue per time in AHCI driver?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/13/2011 05:52 AM, ççé wrote:
Hello,

Inside ahci_qc_issue() function, I see that driver always write one bit
to Px.CI register even enable the NCQ.

AHCI allows to fire 32 commands at one time and AHCI driver also
claims itself able to queue up to 31 commands.

Inside ahci.c :
static struct scsi_host_template ahci_sht = {
        ATA_NCQ_SHT(DRV_NAME),
        .can_queue              = AHCI_MAX_CMDS - 1,
............

Why upper layer(Block or SCSI layer) does not fill up as many as possible
commands into Command List before sending the commands out
(Write to Px.CI register)?

The driver successfully executes up to 31 commands at a time, in paralle.

We submit one command at a time to hardware because the block layer passes commands to us one at a time.

	Jeff



--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux