From: Patrick McHardy <kaber@trash.net>
To: Holger Eitzenberger <heitzenberger@astaro.com>
Cc: Pablo Neira Ayuso <pablo@netfilter.org>,
netfilter-devel@vger.kernel.org, holger@eitzenberger.org
Subject: Re: [ULOGD 05/15] Add signalling subsystem
Date: Wed, 20 Feb 2008 13:20:27 +0100 [thread overview]
Message-ID: <47BC1B0B.2040802@trash.net> (raw)
In-Reply-To: <47BBE821.7070909@astaro.com>
Holger Eitzenberger wrote:
> Pablo Neira Ayuso wrote:
>
>>> This patch adds the concept of synchronous and asynchronous signal
>>> handlers to ulogd, where 'synchronous' just means to be synchronous to
>>> the underlying IO multiplexer.
>>
>> I just committed a patch that reworks the timer framework to make it
>> synchronous with select(). Since we don't have asynchronous timers
>> anymore, I think that we can just block signaling during file
>> descriptors handling since ulogd would receive not often. AFAICS, this
>> infrastructure is nice but it was mainly targeted to the annoying
>> SIGALRM.
>
> Hi Pablo,
>
> comparing your patch with the one I provided in my last patch collection
> I can say that your patch is quite larger due to the usage of the
> red-black trees in the timer code. The number of timers in ulogd is
> depending of your configuration of course, but with my current
> configuration (NFLOG, NFCT, SQLITE3) I have currently three timers, wow.
>
> Note that with your patch you basically remove the possibility for
> plugins to have timers which are asynchronous. It's therefore less
> flexible for future users.
>
> Also note that libraries such as libevent do it quite similar than
> provided in my patch.
>
> My patch has the intention of providing a flexible infrastructure for
> plugins, which room for future improvements (such as red-black trees if
> there are hundreds of timers). Some of my later patches I have
> enqueued locally base on those changes, but that's my problem.
>
> You commented on some of those patches, with a quite positive statement
> to my initial post of this patch. Also, Eric gave a GO on all patches
> despite the last NFCT patch, which I promised to rework for
> compatibility reason and based on your suggestions.
>
> I accept the fact that you apparently like red-black trees and they
> definitely have their use-cases, but looking at typical ulogd
> configurations and numbers of timers in ulogd I can say that red-black
> trees just for timer usage seem to me like overkill.
>
> Since you are in the habit of favoring your own patches against the ones
> I provide, even without giving a chance to modify my patch, I simply
> consider doing a fork of ulogd. Otherwise I'll loose many of the work
> I've enqueued locally.
>
> Patrick?
I'm not sure I understand the problem fully, looking at both patches
it seems to me that Pablo's patch could be extended to provide similar
functionality to yours without much effort.
I agree that simply committing replacement patches without discussion
when its known that further work depends on a patch is not a nice way
of working together. I did not see any discussion related to this
patch except the minor complaint about polling once per second in
the first posting. Could someone explain the problem here please?
next prev parent reply other threads:[~2008-02-20 12:20 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-02 20:48 [ULOGD 00/15] ulogd V2 improvements, round 2 heitzenberger
2008-02-02 20:48 ` [ULOGD 01/15] Add NACCT output plugin heitzenberger
2008-02-02 21:24 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 02/15] common.h: added heitzenberger
2008-02-02 21:30 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 03/15] Replace timer code by working version heitzenberger
2008-02-02 22:45 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 04/15] Add IFI list heitzenberger
2008-02-02 21:36 ` Pablo Neira Ayuso
2008-02-02 21:50 ` Holger Eitzenberger
2008-02-02 22:56 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 05/15] Add signalling subsystem heitzenberger
2008-02-19 19:38 ` Pablo Neira Ayuso
2008-02-20 8:43 ` Holger Eitzenberger
2008-02-20 12:20 ` Patrick McHardy [this message]
2008-02-20 12:23 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 06/15] Conffile cleanup, use common pr_debug() heitzenberger
2008-02-02 21:43 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 07/15] Renice to -1 on startup heitzenberger
2008-02-02 21:47 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 08/15] Initial round to make plugins reconfigurable heitzenberger
2008-02-02 20:48 ` [ULOGD 09/15] llist: add llist_for_each_prev_safe() heitzenberger
2008-02-02 20:48 ` [ULOGD 10/15] Improve select performance heitzenberger
2008-02-19 19:58 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 11/15] Add set_sockbuf_len() heitzenberger
2008-02-19 19:57 ` Pablo Neira Ayuso
2008-02-02 20:48 ` [ULOGD 12/15] Introduce global state, skip some stacks during reconfiguration heitzenberger
2008-02-02 20:48 ` [ULOGD 13/15] llist: turn poisoning off by default heitzenberger
2008-02-02 20:48 ` [ULOGD 14/15] SQLITE3: port to ulogd 2.00, mostly a rewrite heitzenberger
2008-02-02 20:48 ` [ULOGD 15/15] NFCT: rework and let it scale heitzenberger
2008-02-02 22:52 ` [ULOGD 00/15] ulogd V2 improvements, round 2 Pablo Neira Ayuso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47BC1B0B.2040802@trash.net \
--to=kaber@trash.net \
--cc=heitzenberger@astaro.com \
--cc=holger@eitzenberger.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).