Re: [PATCH 2/3] libata: add support for blk-iopoll

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

 



Hey, Jens,

I'm a little slow in looking at this, hopefully it's not completely
noise...

> @@ -2157,7 +2194,12 @@ static irqreturn_t ahci_interrupt(int irq, void *dev_instance)
>  
>  		ap = host->ports[i];
>  		if (ap) {
> -			ahci_port_intr(ap);
> +			if (!blk_iopoll_enabled)
> +				ahci_port_intr(ap);
> +			else if (blk_iopoll_sched_prep(&ap->iopoll)) {
> +				ap_irq_disable(ap);
> +				blk_iopoll_sched(&ap->iopoll);
> +			}
>  			VPRINTK("port %u\n", i);
>  		} else {
>  			VPRINTK("port %u (no irq)\n", i);

It seems to me that, if blk_iopoll_sched_prep() fails, the interrupt
will be dropped on the floor; would you not need an explicit
ahci_port_intr() call in that case too?  Unless I've misunderstood as
usual...

Documenting the "zero means failure" nature of blk_iopoll_sched_prep()
might also be a good idea; I predict confusion otherwise.

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux