Albert Lee wrote:
Hi Jeff,
This patchset implements port_task and replace pio_task and
packet_task with it. port_task isn't very different from pio_task or
packet_task - it's straight forward generalization. The port_task is
a per-port task avaliable to low level drivers which is managed by
libata core layer.
Differences from pio/packet task.
* Not limited to PIO HSM implementation. Other drivers can use it.
* Synchronization against EH core layer is done within libata core
layer, not in PIO HSM implementation (ata_qc_timeout()).
Thanks.
--
tejun
Something related to the PIO HSM.
After the task renaming by this patchset, the task name is changed from pio_task to port_task.
Should we add polling DMA support to the polling HSM?
It could make the polling HSM more complete.
Polling DMA does no performance gain. However, DMA has crc check,
so it won't be worse than PIO when irq is not working.
Hmmm... Does irq-pio branch still have polling pio support? I hope we
can implement polling without impacting normal code path in some generic
way (pseudo periodic interrupts and each interrupt handler returning
without doing any harm if nothing has happened should work). I don't
think complicating HSM with DMA-by-polling is a good idea. It's not like
all low level drivers can share single implementation of HSM.
Thanks.
--
tejun
-
: 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