Re: [PATCH 1/9] ioatdma: Push pending transactions to hardware more frequently

From: Chris Leech
Date: Sat Mar 03 2007 - 01:00:32 EST


> This sounds like something that will always be wrong -- or in other
> words, always be right for only the latest CPUs. Can this be made
> dynamic, based on some timing factor?

In fact I think this has been tweaked twice in the vanilla tree
already.

This is actually just the same tweak you remember me posting before
and I never pushed to get it in mainline, but Jeff's right. The
problem isn't so much in the driver itself, as in how it's used by
I/OAT in the TCP receive code, there are inherent assumptions about
how long a context switch takes compared to how long an offloaded
memcpy takes.

I'm working on using completion interrupts for the device so as not to
end up polling when the CPUs are faster than the code was tuned for,
and doing it in a way that doesn't introduce extra context switches.
I'm hoping to have something ready for 2.6.22, or at least ready for
MM in that time frame.

As for this change in the short term, we did go back and make sure
that it didn't performance worse with the older CPUs supported on
these platforms. We should have tested more intermediate values
instead of just jumping from 1 t o 20 for that threshold.

- Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/