Re: [take21 1/4] kevent: Core files.

2006-10-28 Thread Evgeniy Polyakov
On Sat, Oct 28, 2006 at 03:34:52PM +0200, Eric Dumazet ([EMAIL PROTECTED]) wrote: > >>>+ list_del(&k->ready_entry); > >>Arg... no > >> > >>You cannot call list_del() , then check overflow_kevent. > >> > >>I you call list_del on what happens to be the kevent pointed by > >>overflow_kevent, you lo

Re: [take21 1/4] kevent: Core files.

2006-10-28 Thread Eric Dumazet
Evgeniy Polyakov a e'crit : On Sat, Oct 28, 2006 at 03:23:40PM +0200, Eric Dumazet ([EMAIL PROTECTED]) wrote: diff --git a/kernel/kevent/kevent_user.c b/kernel/kevent/kevent_user.c index 711a8a8..ecee668 100644 --- a/kernel/kevent/kevent_user.c +++ b/kernel/kevent/kevent_user.c @@ -235,6 +235,3

Re: [take21 1/4] kevent: Core files.

2006-10-28 Thread Evgeniy Polyakov
On Sat, Oct 28, 2006 at 03:23:40PM +0200, Eric Dumazet ([EMAIL PROTECTED]) wrote: > >diff --git a/kernel/kevent/kevent_user.c b/kernel/kevent/kevent_user.c > >index 711a8a8..ecee668 100644 > >--- a/kernel/kevent/kevent_user.c > >+++ b/kernel/kevent/kevent_user.c > >@@ -235,6 +235,36 @@ static void

Re: [take21 1/4] kevent: Core files.

2006-10-28 Thread Eric Dumazet
Evgeniy Polyakov a e'crit : On Sat, Oct 28, 2006 at 02:36:31PM +0200, Eric Dumazet ([EMAIL PROTECTED]) wrote: Evgeniy Polyakov a e'crit : On Sat, Oct 28, 2006 at 12:28:12PM +0200, Eric Dumazet ([EMAIL PROTECTED]) wrote: I really dont understand how you manage to queue multiple kevents in the

Re: [take21 1/4] kevent: Core files.

2006-10-28 Thread Evgeniy Polyakov
On Sat, Oct 28, 2006 at 02:36:31PM +0200, Eric Dumazet ([EMAIL PROTECTED]) wrote: > Evgeniy Polyakov a e'crit : > >On Sat, Oct 28, 2006 at 12:28:12PM +0200, Eric Dumazet > >([EMAIL PROTECTED]) wrote: > >> > >>I really dont understand how you manage to queue multiple kevents in the > >>'overflow

Re: [take21 1/4] kevent: Core files.

2006-10-28 Thread Eric Dumazet
Evgeniy Polyakov a e'crit : On Sat, Oct 28, 2006 at 12:28:12PM +0200, Eric Dumazet ([EMAIL PROTECTED]) wrote: I really dont understand how you manage to queue multiple kevents in the 'overflow list'. You just queue one kevent at most. What am I missing ? There is no overflow list - it is a

Re: [take21 1/4] kevent: Core files.

2006-10-28 Thread Evgeniy Polyakov
On Sat, Oct 28, 2006 at 12:28:12PM +0200, Eric Dumazet ([EMAIL PROTECTED]) wrote: > +/* > + * Called under kevent_user->ready_lock, so updates are always protected. > + */ > +int kevent_user_ring_add_event(struct kevent *k) > +{ > + unsigned int pidx, off; > + struct kevent_mring *ring, *c

Re: [take21 1/4] kevent: Core files.

2006-10-28 Thread Eric Dumazet
+/* + * Called under kevent_user->ready_lock, so updates are always protected. + */ +int kevent_user_ring_add_event(struct kevent *k) +{ + unsigned int pidx, off; + struct kevent_mring *ring, *copy_ring; + + ring = k->user->pring[0]; + + if ((ring->kidx + 1 == ring->

[take21 1/4] kevent: Core files.

2006-10-27 Thread Evgeniy Polyakov
Core files. This patch includes core kevent files: * userspace controlling * kernelspace interfaces * initialization * notification state machines Some bits of documentation can be found on project's homepage (and links from there): http://tservice.net.ru/~s0mbre/old/?section=projects&item=