Re: pci_map_sg() does not coalesce adjacent physical memory? x86

From: Tejun Heo
Date: Wed Nov 19 2008 - 05:06:16 EST


Leon Woestenberg wrote:
> Hello,
>
> On Wed, Nov 19, 2008 at 8:58 AM, FUJITA Tomonori
> <fujita.tomonori@xxxxxxxxxxxxx> wrote:
>> On Wed, 19 Nov 2008 15:58:12 +0900
>> FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:
>>> On Wed, 19 Nov 2008 07:22:31 +0100
>> - pci_map_sg/dma_map_sg are used with a scatter gather list that
>> doesn't come from the block layer (e.g. some network drivers do).
>>
> This is the point I then want to make: we have pci_map_sg() users in
> other system than the block layer, the network and v4l2 subsystems,
> why cannot they benefit from coalescing?

Because pci_map_sg() doesn't know the memory access limits of the
controller as block layer does.

> Should they copy the block layer coalescing implementation, or should
> that implementation be made more generic and live outside the block
> sub system?

The latter sounds like a good idea to me.

Thanks.

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