Re: [PATCH] ksm: use FAULT_FLAG_ALLOW_RETRY in breaking COW

From: Michel Lespinasse
Date: Mon Nov 21 2011 - 18:10:47 EST


On Sat, Nov 19, 2011 at 3:50 AM, Hillf Danton <dhillf@xxxxxxxxx> wrote:
> The flag, FAULT_FLAG_ALLOW_RETRY, was introduced by the patch,
>
>        mm: retry page fault when blocking on disk transfer
>        commit: d065bd810b6deb67d4897a14bfe21f8eb526ba99
>
> for reducing mmap_sem hold times that are caused by waiting for disk
> transfers when accessing file mapped VMAs.
>
> To break COW, handle_mm_fault() is repeated with mmap_sem held, where
> the introduced flag could be used again.
>
> The straight way is to add changes in break_ksm(), but the function could be
> under write-mode mmap_sem, so it has to be dupilcated.
>
> Signed-off-by: Hillf Danton <dhillf@xxxxxxxxx>

I have to concur with Hugh here - FAULT_FLAG_ALLOW_RETRY was
introduced to avoid holding mmap_sem while we block on a disk read,
but you shouldn't hit this case in the break COW case, so there seems
to be little point in adding the flag there.

--
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.
--
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/