> -----Original Message-----
> From: [email protected] [mailto:rsyslog-
> [email protected]] On Behalf Of Tomas Heinrich
> Sent: Monday, November 16, 2009 5:25 PM
> To: rsyslog-users
> Subject: [rsyslog] support for arbitrary number of open files
> 
> Hi all,
> 
> currently the total number of files (and tcp connections) that can be
> open simultaneously is limited by the select() system call. Ideally
> this
>   would be changed to *poll(), but that can take some time.

For imudp, this change already happened (in the current devel). The others
are on my radar. TCP is probably the most problematic, I need to redo the
driver level. I wonder if I should split out gssapi while doing so, because
that would simplify a lot of the calling conventions (at the price of some
code duplication).

For real-world scenarios, I think tcp is probably the only real issue, it is
hard to believe that e.g. imuxsock will have an issue with that ;)

> Until that happens, this patch[1] tries to remove the limitations of
> select() by enlarging the bit mask that is used for storing file
> descriptor information and redefining the macros that process it.
> This modification is inspired by Bind's use of select().
> It is rather a workaround and may not be entirely portable.
> 
> The actual changes to the code aren't big, but they are in many places
> so  sufficient testing is needed. Allocating and freeing fd_sets in
> some
> frequently called functions may decrease performance. This can be dealt
> with but would require more pervasive changes.

I need to have a close look at the patch. I consider it useful, but I agree
that it must be very carefully checked. I've had a quick look and my
understanding is that it is enabled by conditional compilation. That would
ease many of my concerns, as we could disable it by default and only those
that actually need it are at risk.

> 
> Thoughts?


I'd also appreciate feedback from other list members.

Thanks,
Rainer

> 
> Thanks,
> Tomas
> 
> [1] - http://people.redhat.com/pvrabec/rsyslog-4.4.2-unlimited-
> select.patch
> 
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to