Re: [PATCH 11/12] libata: use IRQ expecting

From: Tejun Heo
Date: Fri Jun 25 2010 - 05:52:40 EST


Hello,

On 06/25/2010 11:48 AM, Jeff Garzik wrote:
> My basic point is that you are implicitly changing the entire
> ata_qc_complete() API, and associated underlying assumptions.
>
> The existing assumption, since libata day #0, is that ata_qc_complete()
> works entirely within the scope of a single qc -- thus enabling multiple
> calls for a single controller interrupt. Your change greatly widens the
> scope to an entire port.

Yeah, I'm changing that and it actually reduces code.

> This isn't just an issue with sata_mv, that was just the easy example I
> remember off the top of my head. sata_fsl and sata_nv also make the
> same assumption. And it's a reasonable assumption, IMO.

Yeah, already updating all of them.

> I think an unexpect_irq() call is more appropriate outside
> ata_qc_complete().

The choices we have here are....

1. Update completion API so that libata core layer has enough
information to decide expect/unexpect events.

2. Add expect/unexpect calls to individual drivers.

I think #1 is much better now and in the long run. The code actually
looks better too.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/