Re: [PATCH] sys_epoll system call interface to /dev/epoll

Shailabh Nagar (nagar@watson.ibm.com)
Fri, 18 Oct 2002 19:09:36 -0400


Linus,

Apart from the multiple vs. single system call issue, are you okay with
the creation of an fd,file * etc. without having a device ?

The former issue could certainly be avoided by having multiple syscalls.
In fact, Davide had originally suggested an interface looking somewhat like
this:

int sys_epoll_create(int maxfds);
int sys_epoll_addfd(int epd, int fd);
void sys_epoll_close(int epd);
int sys_epoll_wait(int epd, struct pollfd **pevts, int timeout);

which is roughly what Hanna tried to multiplex onto the single sys_epoll.

-- Shailabh

Linus Torvalds wrote:
> On Fri, 18 Oct 2002, Davide Libenzi wrote:
>
>>Linus, yesterday I was sugesting Hanna to use most of the existing code
>>and to make :
>>
>>int sys_epoll_create(int maxfds);
>>
>>to actually return an fd. Basically during this function call the code
>>allocates a file*, initialize it, allocates a free fd, maps the file* to
>>the fd, creates the vma* for the shared events area between the kernel and
>>user space, maps allocated kernel pages to the vma*, install the vma* and
>>returns the fd.
>
>
> But that's what her patch infrastructure seems to do. It's not just
> epoll_create(), it's all the other ioctl's too (unlink, remove etc). One
> queston is whether there is one epoll system call (that multiplexes, like
> in Hanna's patch) or many. I personally don't like multiplexing system
> calls - the system call number _is_ a multiplexor, I don't see the point
> of having multiple levels.
>
> Linus

-
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/