Messages in this thread | | | Date | Sun, 07 Oct 2007 07:34:35 -0400 | From | Jeff Garzik <> | Subject | Re: [PATCH 0/5] forcedeth: several proposed updates for testing |
| |
Ingo Molnar wrote: > * Jeff Garzik <jeff@garzik.org> wrote: > >> * I feel TX NAPI is a useful tool, because it provides an independent TX >> process control point and system load feedback point. >> Thus I felt this was slightly superior to tasklets. > > /me agrees violently > > btw., when i played with this tunable under -rt: > > enum { > NV_OPTIMIZATION_MODE_THROUGHPUT, > NV_OPTIMIZATION_MODE_CPU > }; > static int optimization_mode = NV_OPTIMIZATION_MODE_THROUGHPUT; > > the MODE_CPU one gave (much) _higher_ bandwidth. The queueing model in > forcedeth seemed to be not that robust and i think a single queueing > model should be adopted instead of this tunable. (which i think just hid > some bug/dependency) But i never got to the bottom of it so it's just > the impression i got.
That's interesting. It will be informative to narrow down the variables affected by this. My changes stirred the pot quite a bit :)
* 'throughput' mode enables MSI-X, and separate interrupt vectors for RX and TX. so, NVIDIA's MSI-X implementation, our generic MSI-X support, or "Known bugs" (see top of file) may be a factor here.
* 'throughput' mode also changes the NIC's timer interrupt frequency
* do you recall if you were running in NAPI mode? It defaulted to off in Kconfig, but I turned it on unconditionally.
* I think TX NAPI has the potential to make the optimization_mode irrelevant (along with the other changes, most notably the interrupt handling change)
* and overall, yes, if we can have a single queueing model / optimization mode I am strongly in favor of that.
Testing welcome ;-) Though these patches are raw and "hot off the presses", so unrelated bugs are practically a certainty. And I am worrying about the "Known bugs" note at the top. My gut feeling is that this was, in part, misunderstanding on the part of reverse-engineers, since corrected when NVIDIA started contributing to the driver.
Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |