pagg
[Top] [All Lists]

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

To: Paul Jackson <pj@xxxxxxx>, erikj@xxxxxxxxxxxxxxxxxxxxxxx
Subject: Re: CpuSet on PAGG (Re: PAGG in Open Source projects?)
From: Kaigai Kohei <kaigai@xxxxxxxxxxxxx>
Date: Tue, 01 Feb 2005 22:05:55 +0900
Cc: pagg@xxxxxxxxxxx, limin@xxxxxxxxxxxxxxxxxx, lse-tech@xxxxxxxxxxxxxxxxxxxxx, guillaume.thouvenin@xxxxxxxx
In-reply-to: <20050131030715.05cbb981.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> <41FA330A.2030303@ak.jp.nec.com> <20050128050807.24018fb3.pj@sgi.com> <41FDFCDC.8080504@ak.jp.nec.com> <20050131030715.05cbb981.pj@sgi.com>
Sender: pagg-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)
Hello, Paul.
Thank you for your fast and attentive response.

Excuse me for less explanation.

I wondered why every advanced feature duplicates its own hooks
in fork()/exit() for those event handling.
Thus, my main motivation and attention are about fork()/exit() event handling.
Because of this, I didn't intend to implement all of the CpuSet without
a specific patch.


About PAGG implementation:

>>  (CpuSet-patch needs lockless references.)
>
>
> I am a little surprised that the fork/exit cpuset hooks must
> be lockless.

I'm not talking about another CpuSet patch.

When CpuSet patch is on PAGG as I modified, CpuSet functionality
need refer a PAGG object related to CpuSet in some points.
pagg_get() require that caller must hold pagg_sem semaphore,
though we can't hold a semaphore from an interruption context or
a critical section wedged between spinlock().
Thus, CpuSet-patch needs lockless references (to PAGG object).

__alloc_pages() has possibility to be called from a section which
cannot block. Thus, I replaced PAGG semaphore by RCU.

I agree that Call-by-string-name dynamically evaluated invocations are
expensive and not good as you said.
(1) It should be possible to refer a PAGG object from some critical
sections. (2) It should be light-weight to refer a PAGG object for
each customer. IMO, these should be fixed for PAGG to be widely-supported.
I want a comment by Erik Jacobson.


> Aside -- if you do value cpusets, please put in a good word for them > with Andrew Morton, on lkml perhaps. He will _not_ further the advance > of cpusets unless others outside SGI ask for them eagerly.

Indeed, I think CpuSet and PAGG(+Job/CSA) are so worthwhile solution.
I'll try to move the discussion into LKML.
But we might start from the improvement of PAGG before it.

Thanks.
--
Linux Promotion Center, NEC
KaiGai Kohei <kaigai@xxxxxxxxxxxxx>

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