Messages in this thread | | | From | Keith Owens <> | Subject | Re: Is there any interest in Dynamic API | Date | Thu, 23 Aug 2001 12:44:22 +1000 |
| |
On Wed, 22 Aug 2001 18:44:27 +0100, "Richard J Moore" <richardj_moore@uk.ibm.com> wrote: >I was wondering whether the kernel community had any interest in seeing a >dynamic api capability in the kernel. What I have in mind the ability for a >kernel module to request a system call entry be added by supplying a call >name to a create_dynamic_api service.
Why does this remind me of SVCUPDTE?
You will have problems on architectures where indirect function calls require extra handling. IA64 has to load a global data pointer (gp) as well as the function address for an indirect call. The existing syscall table avoids this overhead because all system calls are in the kernel with a constant gp. To allow syscalls to modules you either load a gp for each entry point (which slows down all syscalls) or you need arch specific trampoline code to enter and exit a syscall in a module. PPC64 looks like it has the same problem.
There is also the problem of generating syscalls in userspace pic code. Each arch is different, look at all the hassles glibc goes through to create syscall interfaces. It is not surprising that _syscall[0-5] are deprecated interfaces. It is much easier to use a device or fs interface.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |