Re: 2.2.20pre2aa1

From: dean gaudet (dean-list-linux-kernel@arctic.org)
Date: Wed May 16 2001 - 12:25:32 EST


On Wed, 16 May 2001, Andrea Arcangeli wrote:

> On Tue, May 15, 2001 at 08:33:05PM -0700, dean gaudet wrote:
> > apache since 1.3.15 has defined SINGLE_LISTEN_UNSERIALIZED_ACCEPT ...
>
> That's definitely a good thing.

hmm, i'm not so sure -- 1.3.x is our stable release, and it sounds like
this change has added an instability.

> > 'cause that's what you guys asked me to do :) does this mean there are
> > known hangs on linux 2.2.x without your fix?
>
> I never heard of anybody reproducing that but accpet() in 2.2
> can _definitely_ miss events without the above 00_wake-one-4 patch
> because it wrongly considers a progress wakeing up two times the same
> exclusive task.

i'm guessing from your description that the missed event will be noticed
when the next socket arrives. i.e. if the server is pretty busy then the
missed events are not important. but if it's not a busy server, like a
hit every hour, then the missed event may be noticeable to browsers (as a
timeout waiting for server activity).

does that pretty much sum it up?

> Furthmore the exclusive wakeup logic with the exclusive information
> per-task and not per wait_queue_t will screwup if the tasks registers
> itself like a wakeall after it was just registered as wakeone somewhere
> else (however this second thing is more a theorical issue that shouldn't
> trigger in 2.2).

i.e. if the socket was used both in accept() and in select() at the same
time? (which apache doesn't do)

thanks
-dean

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



This archive was generated by hypermail 2b29 : Wed May 23 2001 - 21:00:18 EST