Re: [PATCH] mm: make munlock fast when mlock is canceled by sigkill
From: KOSAKI Motohiro
Date: Mon Aug 24 2009 - 00:14:03 EST
> This patch is for making commit 4779280d1e (mm: make get_user_pages()
> interruptible) complete.
Yes.
commit 4779280d1e (mm: make get_user_pages() interruptible) has never
works as expected since it's born.
IOW, it was totally broken.
This patch is definitely good forward step patch.
>> > @@ -254,6 +254,7 @@ static inline void
>> > mminit_validate_memmodel_limits(unsigned long *start_pfn,
>> > #define GUP_FLAGS_FORCE 0x2
>> > #define GUP_FLAGS_IGNORE_VMA_PERMISSIONS 0x4
>> > #define GUP_FLAGS_IGNORE_SIGKILL 0x8
>> > +#define GUP_FLAGS_ALLOW_NULL 0x10
>> >
>>
>> I am worried about adding new flag whenever we need it.
>> But I think this case makes sense to me.
>> In addition, I guess ZERO page can also use this flag.
>>
>> Kame. What do you think about it?
>>
> I do welcome this !
> Then, I don't have to take care of mlock/munlock in ZERO_PAGE patch.
>
> And without this patch, munlock() does copy-on-write just for unpinning memory.
> So, this patch shows some right direction, I think.
>
> One concern is flag name, ALLOW_NULL sounds not very good.
>
> GUP_FLAGS_NOFAULT ?
>
> I wonder we can remove a hack of FOLL_ANON for core-dump by this flag, too.
Yeah, GUP_FLAGS_NOFAULT is better.
Plus, this patch change __get_user_pages() return value meaning IOW.
after this patch, it can return following value,
return value: 3
pages[0]: hoge-page
pages[1]: null
pages[2]: fuga-page
but, it can be
return value: 2
pages[0]: hoge-page
pages[1]: fuga-page
no?
--
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/