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>
|