On Sun, 13 Jul 2008 20:20:35 -0700 (PDT)
David Miller <davem@xxxxxxxxxxxxx> wrote:
From: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
Date: Mon, 14 Jul 2008 11:19:02 +0900
Now IOMMUs don't ignore the max_segment_size. We hit this problem.
It seems simply that max_segment_size needs to propagate
down into the block layer VMERGE code so that it can
act accordingly.
Yeah, I think so. I'll take care of that.
But I think that even with the fix, SPARC64 IOMMU still hits the
problem.
With the VMERGE accounting enabled,
- an IOMMU must merge segments that the block layer expects the IOMMU
to merge.
- an IOMMU must return an error if it can't merge such segments.
But the current SPARC64 IOMMU code doesn't return an error if it can't
merge such segments (as POWER's IOMMU does, as you know).