CpuSet on PAGG (Re: PAGG in Open Source projects?)
Kaigai Kohei <[email protected]>
| Newsgroups | gmane.linux.process-aggregates,gmane.linux.lse |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]>