Re: PATCH: Further aacraid work

From: James Bottomley
Date: Thu Jun 17 2004 - 11:39:53 EST


On Thu, 2004-06-17 at 11:32, Clay Haapala wrote:
> Today's scatterlists already handle entries with a size greater than
> MMU pagelength, even on x86, right? We have seen it in iSCSI driver
> testing, though it is not the usual case. crypto/digests.c:update()
> function was recently patched to handle the case and properly kmap()
> the additional memory represented by the sg entry.

Yes. The bio layer does two operations on sg elements: clustering and
virtual merging. Clustering tries to coalesce two adjacent I/O pages
that also happen to be adjacent in memory physical space. virtual
merging uses an IOMMU to place non-physically-adjacent pages at adjacent
locations in bus physical space.

> So, on regular x86 this is a matter of convenience/timing, and the
> page assignments will tend toward, but not always be, random 1-page
> entries as the system is used.

That's what the jury is out on, I think. The question is could we
improve the chances of clustering by altering the way the vm allocator
works.

James


-
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/