Is there anything wrong with the following plan? 1) For memory registration, use get_user_pages() in the kernel. Use locked_vm and RLIMIT_MEMLOCK to limit the amount of memory pinned by a given process. One disadvantage of this is that the accounting will overestimate the amount of pinned memory if a process pins the same page twice, but this doesn't seem that bad to me -- it errs on the side of safety. 2) For fork() support: a) Extend mprotect() with PROT_DONTCOPY so processes can avoid copy-on-write problems. b) (maybe someday?) Add a VM_ALWAYSCOPY flag and extend mprotect() with PROT_ALWAYSCOPY so processes can mark pages to be pre-copied into child processes, to handle the case where only half a page is registered. I believe this puts the code that must be trusted into the kernel and gives userspace primitives that let apps handle the rest. - R. - 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/
- Follow-Ups:
- Re: RDMA memory registration (was: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation)
- From: Bill Jordan <[email protected]>
- Re: RDMA memory registration
- From: Brice Goglin <[email protected]>
- Re: RDMA memory registration (was: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation)
- From: Libor Michalek <[email protected]>
- Re: RDMA memory registration (was: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation)
- References:
- Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Andrew Morton <[email protected]>
- Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Andrew Morton <[email protected]>
- Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Roland Dreier <[email protected]>
- Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Libor Michalek <[email protected]>
- Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Roland Dreier <[email protected]>
- Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Andrew Morton <[email protected]>
- Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Roland Dreier <[email protected]>
- Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Timur Tabi <[email protected]>
- Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Andrew Morton <[email protected]>
- Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Bill Jordan <[email protected]>
- Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- From: Caitlin Bestler <[email protected]>
- Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- Prev by Date: Re: [PATCH 10 of 12] Fix Tpm driver -- sysfs owernship changes
- Next by Date: Re: Mercurial 0.4b vs git patchbomb benchmark
- Previous by thread: Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- Next by thread: Re: RDMA memory registration (was: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation)
- Index(es):