Re: Kernel-bound applications?

Kirk Petersen (kirk@eidolon.speakeasy.org)
Thu, 23 Jul 1998 11:45:36 -0700


> 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