Hi,
Erik Jacobson wrote:
Are any of you using PAGG in open source projects?
Currently, only Job (and CSA) is known as the PAGG user.
But we can use the PAGG framework as the generic purpose fork()/exit()
event handling semantics, I think.
For example, the CpuSet is typically appliable on this.
One of the reasons PAGG has had trouble being accepted is because we can't
point to enough open source users. Here at SGI, we have a few different
open source packages making use of it. However, only one PAGG user so far
has gone through community review (Job).
We think we might be able to improve our case for including PAGG in the
kernel if other open source projects are using PAGG.
Indeed, I tried to include the CpuSet into PAGG.
And, some modification for PAGG is needed.
[1/3] linux-2.6.11-rc2-mm1-pagg.patch
This patch modifies linux-2.6.10-pagg.patch-4 for 2.6.11-rc2-mm1.
We can't apply the original PAGG patch to -mm kernel completely,
hence I fixed up it.
[2/3] linux-2.6.11-rc2-mm1-pagg_on_RCU
When we call pagg_get(), we must hold the task->pagg_sem read-semaphore.
This make it difficult to refere the PAGG object in the interruption
context or under the any types of spinlock.
This patch make it possible to refere the PAGG object without any locking.
(CpuSet-patch needs lockless references.)
[3/3] linux-2.6.11-rc2-mm1-CpuSet_by_PAGG.patch
We can use PAGG as the fork()/exit() event handling framework for generic
purposes.
Some functions, like as CpuSet, fit the PAGG framework, I think.
We want to use Job(and CSA) or CpuSet without specific patches.
And, it's so important to adopt the PAGG framework into the stock kernel.
Thanks.
--
Linux Promotion Center, NEC
KaiGai Kohei <kaigai@xxxxxxxxxxxxx>
|