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@sgi.com>
References: <Pine.SGI.4.53.0501181437280.627920@subway.americas.sgi.com> <41F8E117.5030501@ak.jp.nec.com> <20050127081753.5a9d16af.pj@sgi.com>
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>