Re: sg regression in 2.6.16-rc5

From: James Bottomley
Date: Wed Mar 01 2006 - 17:28:47 EST


On Wed, 2006-03-01 at 14:42 -0600, Mike Christie wrote:
> The current sg driver should use alloc_pages() with an order that should
> get 32 KB. If the order being passed to alloc_pages() in sg.c is only
> getting one page by default that is bug.

> The generic routines now being used can turn that 32KB segment into
> multiple 4KB ones if the LLD does not support clustering.

To be honest, the original behaviour was a bug. A device that doesn't
enable clustering is telling us it can't take anything other than
PAGE_SIZE chunks ... trying to give it more is likely to end in tears.

However ... I'm not sure we actually have any devices that anyone can
identify which truly can't enable clustering (a lot which have it
disabled, I suspect, are that way historically because their writers
didn't trust the clustering algorithm).

So ... I think we can go ahead and cautiously enable clustering (as a
separate patch like Jens suggested).

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/