Re: [PATCH 14/14] libata: use PIO for misc ATAPI commands

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

 



Tejun Heo wrote:
Mark Lord wrote:
I'm split on this one.  For fast systems (typical notebook/desktop) it's
almost a non-issue either way.

But a lot of media boxes will be using this code, and they tend to have
very low-power, slow-clockrate CPUs in the 200-800Mhz range, and so the
real-time hit there (from PIO) will have a much more significant impact.

Using DMA as much as possible on those slower platforms is definitely
a plus towards avoiding non-jerky, skipped frames, or start-stoppy DVD
recording.

Now the most intensive commands are still DMA under the proposed scheme,
so it's not those that one would be concerned with.  But dropping to PIO
even for a few uncommon commands will still peg a real-time hit or two
on a slower media processor.

So..  ????

One thing I don't understand about this argument is that PIO cycle time
is not determined by CPU power.  It's bound by PCI and ATA bus speed.
If you put a faster CPU on the job, it just ends up wasting the same
amount of time burning up more CPU cycles or am I misjudging power of
those embedded CPUs?
...

Yes, it wastes the same amount of real (clock on the wall) time.

But since it is typically a much slower system to begin with,
it has little in the way of "excess" computing capability,
so those few hundred microseconds of PIO time mean a lot
more to it than they would to a GHz+ processor.

In other words, such devices are usually close to their real-time
limits to begin with, so a 200-300usec real-time delay is difficult
to "make up" afterwards.

For a 1.8GHz Pentium-M, no problem --> it can churn away about
2-3 thousand instructions per microsecond afterwards.

But an 800MHz geode would require 2-8X that amount of real time
to execute the same number of "catch up" instructions.

Which means latencies for other things will be that much longer.
Or at least that's how I see it.

* * *

If I were doing this, I'd probably just do PIO for all non bulk xfer
opcodes, same as you, for ease of maintainership.

But I'd also think really hard about some way to allow full DMA
for chipsets/drives that can be trusted.  Not a whitelist (like Alan,
I don't believe in those), but something..

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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux