Timur Tabi <[email protected]> wrote: > > Roland Dreier wrote: > > > Yes, I agree. If an app wants to register half a page and pass the > > other half to a child process, I think the only answer is "don't do > > that then." > > How can the app know that, though? It would have to allocate I/O buffers with knowledge > of page boundaries. Today, the apps just malloc() a bunch of memory and pay no attention > to whether the beginning or the end of the buffer shares a page with some other, unrelated > object. We may as well tell the app that it needs to page-align all I/O buffers. > > My point is that we can't just simply say, "Don't do that". Some entity (the kernel, > libraries, whatever) should be able to tell the app that its usage of memory is going to > break in some unpredictable way. Our point is that contemporary microprocessors cannot electrically do what you want them to do! Now, conceeeeeeiveably the kernel could keep track of the state of the pages down to the byte level, and could keep track of all COWed pages and could look at faulting addresses at the byte level and could copy sub-page ranges by hand from one process's address space into another process's after I/O completion. I don't think we want to do that. Methinks your specification is busted. - 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:
- 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: Roland Dreier <[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: Timur Tabi <[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: [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: [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: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- Prev by Date: Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- Next by Date: Re: preempt-count oddities - still looking for comments :)
- Previous by thread: Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- Next by thread: Re: [openib-general] Re: [PATCH][RFC][0/4] InfiniBand userspace verbs implementation
- Index(es):