public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Kaigai Kohei <kaigai@ak.jp.nec.com>
To: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Cc: Andrew Morton <akpm@osdl.org>,
	davem@redhat.com, jlan@sgi.com, lse-tech@lists.sourceforge.net,
	linux-kernel@vger.kernel.org, netdev@oss.sgi.com
Subject: Re: [Lse-tech] Re: A common layer for Accounting packages
Date: Mon, 28 Feb 2005 10:59:06 +0900	[thread overview]
Message-ID: <42227AEA.6050002@ak.jp.nec.com> (raw)
In-Reply-To: <20050227140355.GA23055@logos.cnet>

Hello,

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.

 >>And, why can't netlink packets send always?
 >>If there are fork/exec/exit hooks, and they call CSA or other
 >>process-grouping modules,
 >>then those modules will decide whether packets for interaction with the
 >>daemon should be
 >>sent or not.
 >
 >
 > The netlink data will be sent to userspace at fork/exec/exit hooks - one wants
 > to avoid that if there are no listeners, so setups which dont want to run the
 > accounting daemon dont pay the cost of building and sending the information
 > through netlink.
 >
 > Thats what Andrew asked for if I understand correctly.

Does it mean "netlink packets shouled be sent to userspace unconditionally." ?
I have advocated steadfastly that fork/exec/exit hooks is necessary to support
process-grouping and to account per process-grouping.
It intend to be decided whether packets should be sent or not by hooked functions,
in my understanding.
Is it also one of the implementations whether using netlink-socket or not ?


 >>In most considerable case, CSA's kernel-loadable-module using such hooks
 >>will not be loaded
 >>when no accounting daemon is running. Adversely, this module must be loaded
 >>when accounting
 >>daemon needs CSA's netlink packets.
 >>Thus, it is only necessary to refer flag valiable and to execute
 >>conditional-jump
 >>when no-accounting daemon is running.
 >
 >
 > That would be one hack, although it is uglier than the pure netlink
 > selection.

No, I can't agree this opinion.
It means netlink-packets will be sent unconditionally when fork/exec/exit occur.
Nobady can decide which packet is sent user-space, I think.

In addition, the definition of process grouping is lightweight in many cases.
For example, CpuSet can define own process-group by one increment-operation.

I think it's not impossible to implement it in userspace, but it's not reasonable.
An implementation as a kernel loadable module is reasonable and enough tiny.


 >>In my estimation, we must pay additional cost for an increment-operation,
 >>an decrement-op,
 >>an comparison-op and an conditional jump-op. It's enough lightweight, I
 >>think.
 >>
 >>For example:
 >>If CSA's module isn't loaded, 'privates_for_grouping' will be empty.
 >>
 >>inline int on_fork_hook(task_struct *parent, task_struct *newtask){
 >>  rcu_read_lock();
 >>  if( !list_empty(&parent->privates_for_grouping) ){
 >>    ..<Calling to any process grouping module>..;
 >>  }
 >>  rcu_read_unlock();
 >>}
 >
 >
 > Andrew has been talking about sending data over netlink to implement the
 > accounting at userspace, so this piece of code is out of the game, no?

Indeed, I'm not opposed to implement the accounting in userspace and
using netlink-socket for kernel-daemon communication. But definition
of process-grouping based on any grouping policy should be done
in kernel space at reasonability viewpoint.

Thanks.
-- 
Linux Promotion Center, NEC
KaiGai Kohei <kaigai@ak.jp.nec.com>

  parent reply	other threads:[~2005-02-28  1:58 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 [this message]
2005-02-28  2:32                       ` Thomas Graf
2005-02-28  5:17                       ` Evgeniy Polyakov
2005-02-28  7:20                       ` Guillaume Thouvenin
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=42227AEA.6050002@ak.jp.nec.com \
    --to=kaigai@ak.jp.nec.com \
    --cc=akpm@osdl.org \
    --cc=davem@redhat.com \
    --cc=jlan@sgi.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