Re: [PATCH 04/22] libata-sff: clear IRQ from ata_sff_error_handler() only when necessary

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

 



Jeff Garzik wrote:
> Tejun Heo wrote:
>> Clearing IRQ from ata_sff_error_handler() is necessary only when the
>> port is gonna be thawed before performing EH actions and some
>> controllers don't like being accessed after certain fail modes until
>> they're reset.  Clear IRQ iff the port is being thawed.  Also, remove
>> unnecessary ata_sff_sync() while at it.
>>
>> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
>
> I'll allow it, but, this description is not strictly true.  This
> clearing was done in the error handler unconditionally in an attempt to
> catch outstanding conditions.  The logic being that it is safer (FSVO
> safe) to clear on error just in case interrupts were screaming.

The avoid-IRQ-stream-by-clearing-IRQ doesn't work at all.

1. If the port is already frozen && IRQ is screaming && EH is not gonna
thaw until reset is complete, it doesn't matter.

2. If IRQ is screaming && the port is not frozen or freezing doesn't
work, the IRQ will get killed way before it reaches EH.

So, clearing IRQ there doesn't make any difference w.r.t. screaming IRQ,
about which we really need to do something.  It's one of the most common
bug reports I get these days.

But, yeah, it's probably better to include the above in the commit
message.  I'll update the patch.

Thanks.

-- 
tejun
--
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