Re: [DISCUSS] Making system calls more portable.

2007-01-07 Thread Theodore Tso
On Sun, Jan 07, 2007 at 01:07:41AM -0800, Amit Choudhary wrote: > Now, let's say a vendor has linux_kernel_version_1 that has 300 > system calls. The vendor needs to give some extra functionality to > its customers and the way chosen is to implement new system call. > The new system call number is

Re: [DISCUSS] Making system calls more portable.

2007-01-07 Thread Jan Engelhardt
On Jan 7 2007 01:07, Amit Choudhary wrote: > >I will come to the main issue later but I just wanted to point out >that we maintain information at two separate places - mapping >between the name and the number in user space and kernel space. >Shouldn't this duplication be removed. For example? Do

Re: [DISCUSS] Making system calls more portable.

2007-01-07 Thread Vadim Lobanov
On Sun, 2007-01-07 at 00:15 -0800, Amit Choudhary wrote: > 1. Invoke a system call using its name. Pass its name to the kernel as an > argument of syscall() or > some other function. Probably may make the invocation of the system call > slower. If the name > doesn't match in the kernel then an er

Re: [DISCUSS] Making system calls more portable.

2007-01-07 Thread Rene Herman
On 01/07/2007 10:07 AM, Amit Choudhary wrote: However, people may say that, implementing custom system calls is not advocated by linux. And I think it is not advocated precisely because of this reason that they are not portable. True I guess. But do you want to live in a software environment w

Re: [DISCUSS] Making system calls more portable.

2007-01-07 Thread Amit Choudhary
--- Rene Herman <[EMAIL PROTECTED]> wrote: > >If we're limited to Linux kernels, this seems to not be the case. Great care >is taken in keeping >this userspace ABI stable -- new system calls are given new numbers. Old >system calls may >disappear (after a long grace period) but even then I don't

Re: [DISCUSS] Making system calls more portable.

2007-01-07 Thread Rene Herman
On 01/07/2007 09:15 AM, Amit Choudhary wrote: Well, system calls today are not portable mainly because they are invoked using a number and it may happen that a number 'N' may refer to systemcall_1() on one system/kernel and to systemcall_2() on another system/kernel. If we're limited to Linux