Re: [PATCH] libata: waits up to 10 microseconds for early irq problem

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

 



Albert Lee wrote:

> Some devices raise irq early before clearing the BSY.

> This patch waits up to 10 microseconds to workaround the early irq problem.

> 



BTW, the patch is on the hot path. The following is a quick analysis of
the performance penalty introduced by the patch:



1. DMA mode:

   The dma_status is checked before reading the alt_status, so we are pretty

   sure that it is our interrupt. It's worthwhile to poll alt_status and wait

   for BSY to clear in this case. 



2. PIO mode with non-shared irq:

   It is our interrupt. It's worthwhile to wait a moment for BSY to clear.



3. PIO mode with shared-irq:

   If PIO + shared-irq + qc active + other people's irq

   => We waste 10 micro seconds to figure out that it is not our interrupt.
      In exchange for the wasted time, we get better tolerance for the
      early irq situations.

--
albert

  

     

-
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