Re: Access User address from kernel thread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





Erik Mouw <mouw@xxxxxxxxxxxx> wrote:
On Thu, Jan 18, 2007 at 11:56:07PM -0500, Rik van Riel wrote:
> Karthik.G. wrote:
>
> >The goal is to pass the system call parameters in the a predefined
> >location in the user process .The kernel thread will have to read and
> >execute the particular system call . This will be faster than the
> >normal system call mechanism
>
> No, it won't.
>
> Normal system calls stay in the same process context and can be
> run without a context switch. Your scheme requires a context
> switch and a (complex) lookup and pinning of user pages in a
> different process. That is pretty much guaranteed to be slower.

And you still have to notify the kernel thread that the parameters are
ready to be parsed. One way is to have some kind of system call, but
that defeats the purpose.

Another way would be to have the kernel thread watch a variable that
says "all parameters are ready", but that would require the kernel
thread to watch every millisecond or so which will destroy latency.


Erik

--
They're all fools. Don't worry. Darwin may be slow, but he'll
eventually get them. -- Matthew Lammers in alt.sysadmin.recovery

Thanks for your replies . I have a small question .Is it possible to access a page directly from kernel if I know its physical address?
If I get the physical address of the page can i read it directly ,given that i also know the physical address i need to read from ? Or is kmap essential?


Be a PS3 game guru.
Get your game face on with the latest PS3 news and previews at Yahoo! Games.

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux