Re: CpuSet on PAGG (Re: PAGG in Open Source projects?)
Erik Jacobson <[email protected]>
| Newsgroups | gmane.linux.process-aggregates,gmane.linux.lse |
|---|---|
| Message-ID | <[email protected]> |
> 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. Sorry for the delay. I was on vacation. For (1) - can you give some examples? For (2) - If you look at the exec hook __pagg_exec function, we go through the list of paggs for the task that reached the hook, and we execute the associated function pointer (if it is assigned in the pagg hook). When we execute the associated exec function pointer, we pass a reference to the pagg in question. pagg_get I suppose is a tiny bit expensive but it only gets bad when there are lots of pagg associations for a given task. I assume this is your concern for (2) though, right? If we were to change this, what would you suggest? Recall that there is a data pointer in the pagg structure that kernel module "customers" can store stuff in on a per-task basis. One could envision look-up tables or something, but that seems only a little less expensive and more complicated. We're of course open to ideas and suggestions. Thank you. -- Erik Jacobson - Linux System Software - Silicon Graphics - Eagan, Minnesota