Re: [RFC PATCH 0/7] Improve swiotlb performance by using physical addresses

From: Andi Kleen
Date: Fri Oct 05 2012 - 12:55:37 EST


Alexander Duyck <alexander.h.duyck@xxxxxxxxx> writes:

> While working on 10Gb/s routing performance I found a significant amount of
> time was being spent in the swiotlb DMA handler. Further digging found that a
> significant amount of this was due to the fact that virtual to physical
> address translation and calling the function that did it. It accounted for
> nearly 60% of the total overhead.

Can you find out why that is? Traditionally virt_to_phys was just a
subtraction. Then later on it was a if and a subtraction.

It cannot really be that expensive. Do you have some debugging enabled?

Really virt_to_phys should be fixed. Such fundamental operations
shouldn't slow. I don't think hacking up all the users to work
around this is the r ight way.

Looking at the code a bit someone (crazy) made it out of line.
But that cannot explain that much overhead.


-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only
--
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/