Re: [PATCH] schedule connect timeouts via eventAdd

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Thu, 24 Jan 2013 10:38:38 -0700

On 01/24/2013 05:57 AM, Rainer Weikusat wrote:
> Amos Jeffries <squid3_at_treenet.co.nz> writes:
>> On 24/01/2013 1:50 p.m., Alex Rousskov wrote:
>>> Is storing 60'000 events instead of 100 acceptable? I kind of doubt it
>>> is... :-(

>> I agree.

> As a somewhat more general remark to that: There are two obvious
> alternative implementations, namely
>
> - use a timing wheel, ie, a 'circular' hash table where new events are
> linked onto the list at (head + interval) % wheel_size. That would
> be the traditional kernel implementation of this facility (That's
> from what I remember from reading about that. I've never used it
> myself)
>
> - use a differently implemented priority queue. The usual 'obvious
> choice' would be a binary heap stored in an array

Since

* there are well-justified concerns about RAM or performance overhead of
event-based timeouts with the current event queue,

* replacing legacy event queue with a better one is a serious
stand-alone project, with no "obviously best" replacement available in
STL, and

* we need to fix ConnOpener ASAP,

I suggest that we reverse the course and focus on fd-based
implementation of timeouts instead. It will be efficient, and we can
make it correct. I can help with that.

Any better ideas for moving forward here?

Thank you,

Alex.
Received on Thu Jan 24 2013 - 17:38:49 MST

This archive was generated by hypermail 2.2.0 : Thu Jan 24 2013 - 12:00:08 MST