Re: [PATCH v1 01/24] IB/core: Introduce new fast registration API

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

 



On 9/28/2015 11:57 PM, Bart Van Assche wrote:
On 09/24/2015 12:37 AM, Sagi Grimberg wrote:
On 9/23/2015 12:21 AM, Bart Van Assche wrote:
On 09/17/2015 02:42 AM, Sagi Grimberg wrote:
+            } else if (last_page_off + dma_len < mr->page_size) {
+                /* chunk this fragment with the last */
+                last_end_dma_addr += dma_len;
+                last_page_off += dma_len;
+                mr->length += dma_len;
+                continue;

Shouldn't this code update last_page_addr ?

Actually I think it doesn't since it is only relevant for the else
statement where we are passing the page_size boundary.

Hello Sagi,

Suppose that the following sg-list is passed to this function as {
offset, length } pairs and that this list has not been coalesced by the
DMA mapping code: [ { 0, page_size / 4 }, { page_size / 4, page_size / 4
}, { 2 * page_size / 4, page_size / 2 } ]. I think the algorithm in
patch 01/24 will map the above sample sg-list onto two pages. Shouldn't
that sg-list be mapped onto one page instead ?

It seems to... In order to get that correct we'd need to change the
condition to (last_page_off + dma_len <= mr->page_size)

I'll change for v2.

Thanks.

Sagi.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux