Messages in this thread | | | Date | Thu, 23 Jul 1998 11:45:36 -0700 | From | Kirk Petersen <> | Subject | Re: Kernel-bound applications? |
| |
> Two things you might like to consider (they aren't necessarily > easy;-): > > - direct copying from writing process to reading process. This would > require you to read the page tables of the reading process so you can > copy_from_user() to the physical pages of the reading process. You'll > need to pin down the reading process pages
I was thinking about this method. For blocking reads and writes, it seems like it would work great. But since X uses non-blocking i/o, I didn't really look into it. Anyone want to comment further on the feasibility? Perhaps a test in unix_stream_sendmsg and unix_stream_recvmsg that checks to see if it is a blocking socket and if true, does the direct copy. Reasonable???
> - when user buffers are page aligned and at least one page in size, do > page flipping.
I think I'll let someone else try this method :)
> Both these techniques require page table accesses, which will have > some overhead. You might also need to consider cache issues. > Do it and benchmark it :-)
I think I'll try the direct copy mechanism this weekend, along with some other ideas.
-- Kirk Petersen www.speakeasy.org/~kirk/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html
| |