linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
To: Kaigai Kohei <kaigai@ak.jp.nec.com>
Cc: Marcelo Tosatti <marcelo.tosatti@cyclades.com>,
	Andrew Morton <akpm@osdl.org>,
	davem@redhat.com, jlan@sgi.com,
	LSE-Tech <lse-tech@lists.sourceforge.net>,
	lkml <linux-kernel@vger.kernel.org>,
	netdev@oss.sgi.com, elsa-devel <elsa-devel@lists.sourceforge.net>
Subject: Re: [Lse-tech] Re: A common layer for Accounting packages
Date: Mon, 28 Feb 2005 08:20:36 +0100	[thread overview]
Message-ID: <1109575236.8549.14.camel@frecb000711.frec.bull.fr> (raw)
In-Reply-To: <42227AEA.6050002@ak.jp.nec.com>

On Mon, 2005-02-28 at 10:59 +0900, Kaigai Kohei wrote:
> Marcelo Tosatti wrote:
>  > Yep, the netlink people should be able to help - they known what would be
>  > required for not sending messages in case there is no listener registered.
>  >
>  > Maybe its already possible? I have never used netlink myself.
> 
> If we notify the fork/exec/exit-events to user-space directly as you said,
> I don't think some hackings on netlink is necessary.
> For example, such packets is sent only when /proc/sys/.../process_grouping is set,
> and user-side daemon set this value, and unset when daemon will exit.
> It's not necessary to take too seriously.

  I wrote a new fork connector patch with a callback to enable/disable
messages in case there is or isn't listener. I will post it this week.

  Basically there is a global variable that is manipulated with a
connector callback so a user space daemon can manipulate the variable.
In the fork_connector() function you have:

static inline void fork_connector(pid_t parent, pid_t child)
{
	static DEFINE_SPINLOCK(cn_fork_lock);
	static __u32 seq;   /* used to test if message is lost */

	if (cn_fork_enable) {
		[...]
		cn_netlink_send(msg, CN_IDX_FORK);
	}
}

and in the cn_fork module (drivers/connector/cn_fork.c) the callback is
defined as:

static void cn_fork_callback(void *data) 
{
	if (cn_already_initialized)
		cn_fork_enable = cn_fork_enable ? 0 : 1;
}

  Ok the protocol is maybe too "basic" but with this mechanism the user
space application that uses the fork connector can start and stop the
send of messages. This implementation needs somme improvements because
currently, if two application are using the fork connector one can
enable it and the other don't know if it is enable or not, but the idea
is here I think.

Regards,
Guillaume


  parent reply	other threads:[~2005-02-28  7:20 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-19  0:51 A common layer for Accounting packages Jay Lan
2005-02-19  1:16 ` Andrew Morton
2005-02-21  6:51   ` Guillaume Thouvenin
2005-02-22 20:11     ` [Lse-tech] " Jay Lan
2005-02-23  7:30       ` Guillaume Thouvenin
2005-02-21  7:54   ` Kaigai Kohei
2005-02-22 20:26     ` Jay Lan
2005-02-23  7:07       ` Kaigai Kohei
2005-02-23  7:20         ` Andrew Morton
2005-02-23  8:33           ` Guillaume Thouvenin
2005-02-23  8:51             ` Andrew Morton
2005-02-23  9:30               ` Guillaume Thouvenin
2005-02-23  9:36                 ` Andrew Morton
2005-02-23 19:11             ` Jay Lan
2005-02-24  7:42               ` Guillaume Thouvenin
2005-02-23  9:50           ` Tim Schmielau
2005-02-24 22:27             ` Jay Lan
2005-02-23 11:29           ` Kaigai Kohei
2005-02-23 20:48         ` Jay Lan
2005-02-25  5:07           ` Kaigai Kohei
2005-02-25  5:28             ` Andrew Morton
2005-02-25 17:32               ` Jay Lan
2005-02-25 17:45                 ` Chris Wright
2005-02-25 18:11                   ` Jay Lan
2005-02-25 21:30                 ` Andrew Morton
2005-02-25 22:18                   ` Jay Lan
2005-02-27  9:49               ` Marcelo Tosatti
2005-02-27 15:20                 ` KaiGai Kohei
2005-02-27 14:03                   ` Marcelo Tosatti
2005-02-27 19:27                     ` David S. Miller
2005-02-28  1:59                     ` Kaigai Kohei
2005-02-28  2:32                       ` Thomas Graf
2005-02-28  5:17                       ` Evgeniy Polyakov
2005-02-28  7:20                       ` Guillaume Thouvenin [this message]
2005-02-28  7:39                         ` Andrew Morton
2005-02-28  8:04                           ` Evgeniy Polyakov
2005-02-28 12:10                           ` jamal
2005-02-28  9:29                             ` Marcelo Tosatti
2005-02-28 13:20                             ` Thomas Graf
2005-02-28 13:40                               ` jamal
2005-02-28 13:53                                 ` Thomas Graf
2005-02-28  9:52                                   ` Marcelo Tosatti
2005-02-28 14:10                                   ` jamal
2005-02-28 14:25                                     ` Thomas Graf
2005-02-28 15:31                                       ` jamal
2005-02-28 16:17                                         ` Evgeniy Polyakov
2005-03-01  8:21                                           ` Guillaume Thouvenin
2005-03-01 13:38                                             ` Kaigai Kohei
2005-03-01 13:53                                               ` Guillaume Thouvenin
2005-03-01 14:17                                                 ` Evgeniy Polyakov
2005-03-02  4:50                                               ` Paul Jackson
2005-03-02  8:58                                               ` Guillaume Thouvenin
2005-03-02  9:06                                                 ` Andrew Morton
2005-03-02  9:25                                                   ` Guillaume Thouvenin
2005-03-02 15:30                                                   ` Paul Jackson
2005-03-01 20:40                             ` Paul Jackson
2005-02-24  1:25         ` Paul Jackson
2005-02-24  1:56           ` Jay Lan
2005-02-24  2:07             ` Paul Jackson

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=1109575236.8549.14.camel@frecb000711.frec.bull.fr \
    --to=guillaume.thouvenin@bull.net \
    --cc=akpm@osdl.org \
    --cc=davem@redhat.com \
    --cc=elsa-devel@lists.sourceforge.net \
    --cc=jlan@sgi.com \
    --cc=kaigai@ak.jp.nec.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=netdev@oss.sgi.com \
    /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).