[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-alpha
Subject:    gentrap... fast kernel entry?
From:       pw () dancer ! ca ! sandia ! gov (Pete Wyckoff)
Date:       1998-09-11 22:39:24
[Download RAW message or body]

I'm trying to invoke a kernel-level routine from user-space as quickly
as possible.  So instead of amending the system_call table, I'd like to
use the equivalent of an i386 system_gate().  I'd like to hear
recommendations on the thoughts I've had:

    call_pal gentrap - entry to do_entIF
    opDEC - invoking one of the reserved opcodes also leads to do_entIF

I was thinking, then, of assigning to myself either one of the gentrap
values (GEN_*), and doing "call_pal gentrap" to get into the kernel, then
have my routine check for that special case, and if not, chain into the
default do_entIF.

Similarly, the user code could generate one of the invalid instructions
which would trap into my routine into the kernel.

Both these method invoke a lot of PAL code, it looks like, though.

Which of these two might be faster?  Is there any cleaner/faster way of
staking out some (fast) kernel-entry space?  With i386, there's a couple
hundred of unused INT x values which are easy to latch onto and don't
require displacing another handler routine.

Thanks,
			-- Pete
---------------------------------------------
Pete Wyckoff          | wyckoff@ca.sandia.gov
Sandia National Labs  | 925 294 3503 (voice)
MS 9011, P.O. Box 969 | 925 294 1225 (fax)
Livermore, CA  94551  |

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic