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
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
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
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
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
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
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
+/*
+ * 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->
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=