Thread (27 messages) 27 messages, 6 authors, 2008-02-28

Re: libata .sg_tablesize: why always dividing by 2 ?

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2008-02-26 22:11:53

On Tue, 2008-02-26 at 11:51 -0500, Mark Lord wrote:
quoted
That's interesting.  Can you point us to the exact file::lines where
this happens?  It would be good to ensure that this gets fixed.

I'm copying Fujita Tomonori on this thread now -- he's the dude
who's
quoted
trying to sort out the IOMMU mess.
..

Mmm.. looks like ppc is already fixed in mainline,
commit 740c3ce66700640a6e6136ff679b067e92125794
No, I only fixed alignent up to PAGE_SIZE, not above.

Our iommu can use smaller than PAGE_SIZE allocations when PAGE_SIZE is
64k (it can use 4k), and that helps a lot with networking to avoid
filling up pSeries small iommu's too fast. Unfortunately, that meant we
used to not even get PAGE_SIZE alignment for some cases. The workaround
fixes that but does not provide natural size alignment.

If we were to provide size based alignment of sg requests, fragmentation
would become so bad we would basically end up failing a large amount of
iommu allocations on servers.

Ben.

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