pagg
[Top] [All Lists]

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

To: Erik Jacobson <erikj@xxxxxxxxxxxxxxxxxxxxxxx>
Subject: CpuSet on PAGG (Re: PAGG in Open Source projects?)
From: Kaigai Kohei <kaigai@xxxxxxxxxxxxx>
Date: Thu, 27 Jan 2005 21:39:51 +0900
Cc: pagg@xxxxxxxxxxx, Limin Gu <limin@xxxxxxxxxxxxxxxxxx>, Paul Jackson <pj@xxxxxxx>, lse-tech@xxxxxxxxxxxxxxxxxxxxx, guillaume.thouvenin@xxxxxxxx
In-reply-to: <Pine.SGI.4.53.0501181437280.627920@xxxxxxxxxxxxxxxxxxxxxxx>
References: <Pine.SGI.4.53.0501181437280.627920@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: pagg-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)
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>

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