Re: [PATCH 2.6.19 2/3] sata_promise: new EH conversion

Tejun Heo
2006-12-06T09:41:08Z

Mikael Pettersson wrote:
>> 3. we don't have them in ahci nor sata_sil24.
>
> But you do in sata_sil.c:sil_freeze().

Two versus one. It's democracy. :-)

>> But, having those flushes won't hurt either.
>
> libata doesn't specify in its documentation that these driver
> operations may have delayed behaviour, so I have to assume that
> side-effects are to be completed when the operations return.
> In fact, the documentation for __ata_port_freeze explicitly
> requires the port to not perform any operations until thawed.
> If I didn't flush, the port could do just that.

I can't fully understand the above paragraph. Please elaborate.

> Since the flushes clearly are safe I'd prefer to keep them, but
> of course I'll remove them if you or Jeff can guarantee that not
> flushing the PCI writes is OK.

I don't really know. AFAICT, things should work without those flushes.
ATA devices are often crappy and drivers are built to deal with those
kinds of spurious interrupts while frozen. And, yes, having it never
hurts. I'm just not quite sure what they guarantee. IRQ signals are
asynchronous to IOs, so flushing IO doesn't guarantee immediate IRQ
quiescence.

If you leave those flushes, that makes it two versus two. Universe will
be in balance. :-)

--
tejun