Thread (5 messages) flat view 5 messages, 4 authors, 2012-03-01

RE: [PATCH net-next 3/3] mlx4_en: Saving mem access on data path

From: Yevgeny Petrilin <hidden>
Date: 2012-02-24 19:58:56

quoted
Localized the pdev->dev, and using dma_map instead of pci_map
There are multiple map/unmap operations on data path,
optimizing those by saving redundant pointer access.

Signed-off-by: Yevgeny Petrilin <redacted>
I doubt you can measure any improvement from this at all, all of the
real cost is going to be in programming the hardware (both the
networking chip and potentially any IOMMU hardware to setup the DMA
mappings).  A pointer deref in of your datastructures will be unnoticable.
We actually did measure improvements with this changes.
Those places were found as hot spots when we did kernel profiling on some benchmarks.
Making those changes actually helped us reduce cpu utilization in several %, and in some cases was the
difference between being CPU bounded or reaching wire speed.
One scenario that we had improvement in when making this change is measuring Packet Rate for
small (64 Byte) packets.
When you make changes like this I want you to justify them with real
data and facts.
I agree, the explanation should have been part of the patch description.
I think this entire patch set was in very poor taste and judgment.
 
Dave,
Thank you for the comprehensive review, please allow me to kindly disagree with the last statement.

The patch set is a result of performance work we did, and those changes helped us to achieve
better results without hurting us in other areas.
I do understand you concern regarding patch 2/3, although we did test it in various scenarios without
running into the issues you described, and there are other vendors doing the same.

I still think that patches 1 and 3 are good for our device,
I'll be happy to make changes in them if you find it necessary, and resubmit.

Thanks,
Yevgeny 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help