pagg
[Top] [All Lists]

Re: CpuSet on PAGG (Re: PAGG in Open Source projects?)

To: Paul Jackson <pj@xxxxxxx>
Subject: Re: CpuSet on PAGG (Re: PAGG in Open Source projects?)
From: Kaigai Kohei <kaigai@xxxxxxxxxxxxx>
Date: Fri, 28 Jan 2005 21:41:46 +0900
Cc: erikj@xxxxxxxxxxxxxxxxxxxxxxx, pagg@xxxxxxxxxxx, limin@xxxxxxxxxxxxxxxxxx, lse-tech@xxxxxxxxxxxxxxxxxxxxx, guillaume.thouvenin@xxxxxxxx
In-reply-to: <20050127081753.5a9d16af.pj@xxxxxxx>
References: <Pine.SGI.4.53.0501181437280.627920@xxxxxxxxxxxxxxxxxxxxxxx> <41F8E117.5030501@xxxxxxxxxxxxx> <20050127081753.5a9d16af.pj@xxxxxxx>
Sender: pagg-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)
Hi, Paul.
Thanks for your comments.

I also understood that CpuSet requires some more kernel changes,
like as sched_setaffinity() and so on, than PAGG provided.

But my main subject is not this point. The purpose of those patches is
to restrain incrementation of hook functions in fork() or exit().
I used PAGG for this, as a common event handling framework.

Currently CpuSet is the representative example widely known, and Job+CSA
and CKRM also require fork()/exit() event handling mechanism.
(CKRM uses ckrm_cb_fork(), PAGG uses pagg_attach())
Of course, above advanced features can't implement all of own functions
completely without some kernel modifications.

I have little motivation to implement CpuSet (or Job+CSA, CKRM) as
a kernel-loadable module. The main motivation is that those advanced
features use a common fork()/exit() event handling framework, and
it will make to restrain the unregulated hook functions in fork()/exit().

I chosen PAGG as a common event handling framework, merely.
But what I really wanted is a Common fork()/exit() event handling framework.
It may be called PAGG, or not.

Thanks.


Paul Jackson wrote:
> I have a cpuset patch in Andrew Morton's *-mm patch series for several
> months now, but I have not thought that it was a good candidate customer
> of PAGG, for the main reason that my cpuset patch requires other kernel
> changes, in the kernel memory allocator, and in the other calls that
> manipulate scheduling (sched_setaffinity) and memory placement (mbind,
> set_mempolicy), as well as in the /proc file system.  See the added
> kernel files include/linux/cpuset.h and kernel/cpuset.c, for the central
> portions of the cpuset patch in any *-mm release of the last few months.
>
> My understanding of PAGG is that it is especially useful in supporting
> loadable modules that require to construct some grouping of the tasks on
> a system, and that require to take some actions on key task events such
> as fork and exit.  Since the cpuset's that I know require several
> additional specialized hooks not provided by PAGG, I have concluded that
> PAGG is not a valuable base for cpusets.  I have also concluded that
> cpuset's is not a potential loadable module -- too many kernel hooks
> required.
>
> Are you referring to these cpusets, or about some other facility by
> that name?
>
> If you are referring to these same cpusets, then what benefit do you
> consider that PAGG provides to these cpusets?

--
Linux Promotion Center, NEC
KaiGai Kohei <kaigai@xxxxxxxxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>