Re: IOMMU and scatterlist limits

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Revisiting a dear old thread. :)

After some initial tests, some more questions popped up. See below.

Jens Axboe wrote:
> On Thu, Nov 17 2005, Pierre Ossman wrote:
>   
>> Since there is no guarantee this will be mapped down to one segment
>> (that the hardware can accept), is it expected that the driver iterates
>> over the entire list or can I mark only the first segment as completed
>> and wait for the request to be reissued? (this is a MMC driver, which
>> behaves like the block layer)
>>     
>
> Ah MMC, that explains a few things :-)
>
> It's quite legal (and possible) to partially handle a given request, you
> are not obliged to handle a request as a single unit. See how other
> block drivers have an end request handling function ala:
>
>   

After testing this it seems the block layer never gives me more than
max_hw_segs segments. Is it being clever because I'm compiling for a
system without an IOMMU?

The hardware should (haven't properly tested this) be able to get new
DMA addresses during a transfer. In essence scatter gather with some CPU
support. Since I avoid MMC overhead this should give a nice performance
boost. But this relies on the block layer giving me more than one
segment. Do I need to lie in max_hw_segs to achieve this?

Rgds
Pierre

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux