Re: [PATCH 5/6] HMM: add per mirror page table.

From: Haggai Eran
Date: Sun Jan 11 2015 - 00:46:45 EST


On 10/01/2015 08:48, Jerome Glisse wrote:
> On Thu, Jan 08, 2015 at 01:05:41PM +0200, Haggai Eran wrote:
>> On 06/01/2015 00:44, j.glisse@xxxxxxxxx wrote:
>>> + /* fence_wait() - to wait on device driver fence.
>>> + *
>>> + * @fence: The device driver fence struct.
>>> + * Returns: 0 on success,-EIO on error, -EAGAIN to wait again.
>>> + *
>>> + * Called when hmm want to wait for all operations associated with a
>>> + * fence to complete (including device cache flush if the event mandate
>>> + * it).
>>> + *
>>> + * Device driver must free fence and associated resources if it returns
>>> + * something else thant -EAGAIN. On -EAGAIN the fence must not be free
>>> + * as hmm will call back again.
>>> + *
>>> + * Return error if scheduled operation failed or if need to wait again.
>>> + * -EIO Some input/output error with the device.
>>> + * -EAGAIN The fence not yet signaled, hmm reschedule waiting thread.
>>> + *
>>> + * All other return value trigger warning and are transformed to -EIO.
>>> + */
>>> + int (*fence_wait)(struct hmm_fence *fence);
>>
>> According to the comment, the device frees the fence struct when the
>> fence_wait callback returns zero or -EIO, but the code below calls
>> fence_unref after fence_wait on the same fence.
>
> Yes comment is out of date, i wanted to simplify fence before readding
> it once needed (by device memory migration).
>
>>
>>> +
>>> + /* fence_ref() - take a reference fence structure.
>>> + *
>>> + * @fence: Fence structure hmm is referencing.
>>> + */
>>> + void (*fence_ref)(struct hmm_fence *fence);
>>
>> I don't see fence_ref being called anywhere in the patchset. Is it
>> actually needed?
>
> Not right now but the page migration to device memory use it. But i
> can remove it now.
>
> I can respin to make comment match code but i would like to know where
> i stand on everythings else.
>

Well, I've read patches 1 through 4, and they seemed fine, although I
still want to have a deeper look into patch 4, because the page table
code seems a little tricky. I haven't completed reading patch 5 and 6 yet.

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