[SATLUG] AoE results
K. Spoon
kell at spoonix.com
Tue Dec 5 19:47:32 CST 2006
On Tue, Dec 05, 2006 at 06:52:56PM -0600, Travis H. wrote:
> On Tue, Dec 05, 2006 at 04:02:02PM -0600, K. Spoon wrote:
> Those cards, like hardware RAID, cost a lot to design, and sooner or
> later they become deccelerators rather than accelerators, because you're
> Quad Xeon P4 has more than enough cycles to handle interrupts compared
> to the 8MHz 80186 on the card (stats totally made up).
Even better, you can use SMP affinity to assign a single proc to handle
the load.
But... what's the point? You don't need a Xeon P4 to handle disk
management. It's not a compute intensive job. Wouldn't you rather have
that processor working on important stuff like rendering the next frame
of Quake 4, decompressing the next chunk of an MP3, compiling the next
.c file in the kernel, or what have you?
> > but when that runs out, it'll try and use swap.
>
> Why doesn't it just pause?
If I knew this, I'd have a patch into Torvalds and crew. :) The
pdflush() code hints that it should be pausing if more than 2 kthreads
become active... but it doesn't. The kernel just keeps slamming data
down the pipe. :(
2.6.15 and lower were horrible for this, but 2.6.17 seems to handle it a
little more gracefully.
> > For the SATA drive on the workstation, yes. For the PATA drive in the
> > shelf server, no... all I did was hardset the BIOS to run the disks at
> > PIO4.
>
> Well, there's the main cause of the CPU load.
Except the CPU load was on the workstation (which was using DMA by
driver default) and not the server (which was using PIO4 by bios setting). :)
> DMA can
> handle moving sequential bytes over the bus just fine without your
> CPU micromanaging :-)
The CPU is still involved in sending commands to the drive... DMA just
relieves the CPU of having to copy data from userspace to the device.
It's not as big of a win as it sounds like. :(
--
K. Spoon <kell at spoonix.com>
More information about the SATLUG
mailing list