Alan Cox wrote: >> So, are you suggesting pushing data transfer or the whole HSM to >> workqueue? I'm all for that. I just thought it didn't make sense to > > I was thinking data transfer but HSM itself might work too, I'd not even > thought of push that much out. I thought pushing the whole HSM out to workqueue will be the simplest to implement as we already have everything needed for polling. >> Anyways, if that's the plan, as Albert suggested earlier, we can just >> mark that HSM is running in ap->pflags or somewhere and skip Status >> clearing if it's running. It's not like the controller is gonna raise >> interrupt while it's transferring data anyway (we always have leading >> status checks before data transfer). > > And the controllers with a hidden FIFO magically defer the IRQ until the > FIFO empties so that the events occur in the expected sequence for the > spec even if the drive transfer to the fifo already finished and the host > is still emptying it. Yeah, that sadly makes things a bit tricky tho. We need to make the last transfer and clearing HSM running flag atomic; otherwise, we're likely to get nobody-cared right after we finish the last transfer. I guess it's about time to listen what Jeff thinks. Albert, if Jeff agrees with pushing HSM or data transfer to workqueue, are you interested in doing that? The HSM is your baby after all. :-) Thanks. -- tejun - 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